25.17.4. 온라인 논리 단위의 읽기/쓰기 상태 변경
특정 스토리지 장치는 사용자에게 장치의 상태를 읽기/쓰기(R/W)에서 읽기 전용(RO)으로 변경하고 RO에서 R/W로 변경할 수 있는 기능을 제공합니다. 일반적으로 스토리지 장치의 관리 인터페이스를 통해 수행됩니다. 운영 체제는 변경이 수행될 때 장치 상태 보기를 자동으로 업데이트하지 않습니다. 이 장에 설명된 절차에 따라 운영 체제가 변경 사항을 인식할 수 있도록 합니다.
다음 명령을 실행하여 XYZ를 원하는 장치 지정자로 교체하여 장치의 R/W 상태에 대한 운영 체제의 현재 보기를 확인합니다.
# blockdev --getro /dev/sdXYZ
Red Hat Enterprise Linux 7에서도 다음 명령을 사용할 수 있습니다.
# cat /sys/block/sdXYZ/ro 1 = read-only 0 = read-write
다중 경로를 사용하는 경우 multipath -ll 명령의 두 번째 출력 줄의 ro 또는 rw 필드를 참조하십시오. 예를 들어 다음과 같습니다.
36001438005deb4710000500000640000 dm-8 GZ,GZ500 [size=20G][features=0][hwhandler=0][ro] \_ round-robin 0 [prio=200][active] \_ 6:0:4:1 sdax 67:16 [active][ready] \_ 6:0:5:1 sday 67:32 [active][ready] \_ round-robin 0 [prio=40][enabled] \_ 6:0:6:1 sdaz 67:48 [active][ready] \_ 6:0:7:1 sdba 67:64 [active][ready]
R/W 상태를 변경하려면 다음 절차를 따르십시오.
절차 25.14. R/W 상태 변경
- 장치를 RO에서 R/W로 이동하려면 2단계를 참조하십시오.장치를 R/W에서 RO로 이동하려면 추가 쓰기가 발행되지 않도록 합니다. 애플리케이션을 중지하거나 적절한 애플리케이션별 작업을 사용하여 이 작업을 수행합니다.다음 명령을 사용하여 모든 처리되지 않은 쓰기 I/O가 완료되었는지 확인합니다.
# blockdev --flushbufs /dev/device
장치를 원하는 설계기로 교체합니다. 장치 매퍼 다중 경로의 경우dev/mapper
에서 장치의 항목입니다. 예:/dev/mapper/mpath3
. - 스토리지 장치의 관리 인터페이스를 사용하여 논리 단위의 상태를 R/W에서 RO로 또는 RO에서 R/W로 변경합니다. 이 절차는 각 배열과 다릅니다. 자세한 내용은 해당 스토리지 어레이 벤더 설명서를 참조하십시오.
- 장치를 다시 스캔하여 장치의 R/W 상태 운영 체제 보기를 업데이트합니다. 장치 매퍼 다중 경로를 사용하는 경우 다중 경로가 장치 맵을 다시 로드하도록 지시하기 전에 장치의 각 경로에 대해 이 다시 스캔을 수행합니다.이 프로세스는 25.17.4.1절. “논리 단위 다시 스캔” 에서 자세히 설명합니다.
25.17.4.1. 논리 단위 다시 스캔
25.17.4절. “온라인 논리 단위의 읽기/쓰기 상태 변경” 에 설명된 대로 온라인 논리 단위 읽기/쓰기 상태를 수정한 후 논리 장치를 다시 검색하여 시스템이 다음 명령을 사용하여 업데이트된 상태를 탐지하는지 확인합니다.
# echo 1 > /sys/block/sdX/device/rescan
다중 경로를 사용하는 시스템에서 논리 장치를 다시 검색하려면 다중 경로 논리 단위의 경로를 나타내는 각 sd 장치에 대해 위의 명령을 실행합니다. 예를 들어 sd1, sd2 및 기타 모든 sd 장치에서 명령을 실행합니다. 다중 경로 단위의 경로인 장치를 확인하려면 multipath -11 을 사용하여 변경할 논리 단위와 일치하는 항목을 찾습니다.
예 25.15. multipath -11 명령 사용
예를 들어 위의 multipath -11 은 WWID 36001438005deb4710000500000640000인 LUN의 경로를 보여줍니다. 이 경우 다음을 입력합니다.
# echo 1 > /sys/block/sdax/device/rescan # echo 1 > /sys/block/sday/device/rescan # echo 1 > /sys/block/sdaz/device/rescan # echo 1 > /sys/block/sdba/device/rescan