실패한 스토리지 볼륨 식별 및 마운트 해제
실패한 스토리지 볼륨이 있는 스토리지 노드를 복구하는 경우 실패한 볼륨을 식별하고 마운트 해제해야 합니다. 복구 절차의 일부로 오류가 발생한 저장 볼륨만 다시 포맷되었는지 확인해야 합니다.
다음을 사용하여 Grid Manager에 로그인했습니다."지원되는 웹 브라우저" .
가능한 한 빨리 실패한 스토리지 볼륨을 복구해야 합니다.
복구 프로세스의 첫 번째 단계는 분리된 볼륨, 마운트 해제해야 하는 볼륨 또는 I/O 오류가 있는 볼륨을 감지하는 것입니다. 실패한 볼륨이 여전히 연결되어 있지만 파일 시스템이 무작위로 손상된 경우, 시스템은 디스크의 사용되지 않거나 할당되지 않은 부분에서 손상을 감지하지 못할 수 있습니다.
|
|
디스크 추가 또는 재연결, 노드 중지, 노드 시작 또는 재부팅 등 볼륨을 복구하기 위한 수동 단계를 수행하기 전에 이 절차를 완료해야 합니다. 그렇지 않으면 다음을 실행할 때 reformat_storage_block_devices.rb 스크립트를 실행하는 동안 스크립트가 중단되거나 실패하게 만드는 파일 시스템 오류가 발생할 수 있습니다.
|
|
|
하드웨어를 수리하고 디스크를 제대로 연결한 후 실행하세요. reboot 명령.
|
|
|
오류가 발생한 저장 볼륨을 신중하게 식별합니다. 이 정보를 사용하여 어떤 볼륨을 다시 포맷해야 하는지 확인합니다. 볼륨을 다시 포맷한 후에는 해당 볼륨의 데이터를 복구할 수 없습니다. |
실패한 저장소 볼륨을 올바르게 복구하려면 실패한 저장소 볼륨의 장치 이름과 볼륨 ID를 모두 알아야 합니다.
설치 시 각 저장 장치에는 파일 시스템 UUID(Universal Unique Identifier)가 할당되고 해당 할당된 파일 시스템 UUID를 사용하여 저장 노드의 rangedb 디렉토리에 마운트됩니다. 파일 시스템 UUID와 rangedb 디렉토리는 다음에 나열됩니다. /etc/fstab 파일. 장치 이름, rangedb 디렉토리, 마운트된 볼륨의 크기가 Grid Manager에 표시됩니다.
다음 예에서 장치 /dev/sdc 볼륨 크기는 4TB이며 마운트됩니다. /var/local/rangedb/0 , 장치 이름을 사용하여 /dev/disk/by-uuid/822b0547-3b2b-472e-ad5e-e1cf1809faba 에서/etc/fstab 파일:
-
실패한 스토리지 볼륨과 해당 장치 이름을 기록하려면 다음 단계를 완료하세요.
-
지원 > 도구 > *그리드 토폴로지*를 선택하세요.
-
사이트 > 실패한 스토리지 노드 > LDR > 스토리지 > 개요 > *기본*을 선택하고 알람이 있는 개체 저장소를 찾습니다.
-
사이트 > 실패한 스토리지 노드 > SSM > 리소스 > 개요 > *기본*을 선택합니다. 이전 단계에서 식별된 각 실패한 저장 볼륨의 마운트 지점과 볼륨 크기를 확인합니다.
객체 저장소는 16진수 표기법으로 번호가 매겨집니다. 예를 들어, 0000은 첫 번째 권이고, 000F는 열여섯 번째 권입니다. 이 예에서 ID가 0000인 객체 저장소는 다음에 해당합니다.
/var/local/rangedb/0장치 이름은 sdc이고 크기는 107GB입니다.
-
-
실패한 스토리지 노드에 로그인합니다.
-
다음 명령을 입력하세요:
ssh admin@grid_node_IP -
나열된 비밀번호를 입력하세요
Passwords.txt파일. -
다음 명령을 입력하여 루트로 전환하세요.
su - -
나열된 비밀번호를 입력하세요
Passwords.txt파일.
루트로 로그인하면 프롬프트가 다음과 같이 변경됩니다.
$에게#. -
-
다음 스크립트를 실행하여 실패한 스토리지 볼륨을 마운트 해제합니다.
sn-unmount-volume object_store_ID그만큼
object_store_ID는 실패한 저장 볼륨의 ID입니다. 예를 들어, 다음을 지정하세요.0ID가 0000인 개체 저장소에 대한 명령에서. -
메시지가 표시되면 스토리지 볼륨 0에 따라 Cassandra 서비스를 중지하려면 *y*를 누릅니다.
Cassandra 서비스가 이미 중지된 경우 메시지가 표시되지 않습니다. Cassandra 서비스는 볼륨 0에 대해서만 중지됩니다. root@Storage-180:~/var/local/tmp/storage~ # sn-unmount-volume 0 Services depending on storage volume 0 (cassandra) aren't down. Services depending on storage volume 0 must be stopped before running this script. Stop services that require storage volume 0 [y/N]? y Shutting down services that require storage volume 0. Services requiring storage volume 0 stopped. Unmounting /var/local/rangedb/0 /var/local/rangedb/0 is unmounted.
몇 초 후에 볼륨이 마운트 해제됩니다. 각 단계의 과정을 나타내는 메시지가 나타납니다. 마지막 메시지는 볼륨이 마운트 해제되었음을 나타냅니다.
-
볼륨이 사용 중이어서 마운트 해제가 실패하는 경우 다음을 사용하여 강제로 마운트 해제할 수 있습니다.
--use-umountof옵션:다음을 사용하여 강제로 마운트 해제 --use-umountof옵션을 사용하면 볼륨을 사용하는 프로세스나 서비스가 예기치 않게 동작하거나 충돌할 수 있습니다.root@Storage-180:~ # sn-unmount-volume --use-umountof /var/local/rangedb/2 Unmounting /var/local/rangedb/2 using umountof /var/local/rangedb/2 is unmounted. Informing LDR service of changes to storage volumes