손상된 XFS 파일 시스템을 처리하는 올바른 방법 메시지가 표시되었습니다. 파티션을 마운트하고 ls예를 확인했습니다.

최근에 정전으로 인해 XFS 파일 시스템이 손상되었습니다. (CentOS 7 시스템). 시스템이 제대로 부팅되지 않았습니다.

복구 CD로 부팅하고을 시도했는데 xfs_repair로그를 처리하기 위해 파티션을 마운트하라는 메시지가 표시되었습니다.

파티션을 마운트하고 ls예를 확인했습니다. 파티션을 마운트 해제하고 xfs_repair다시 시도했는데 같은 메시지가 나타납니다.

이 상황에서 어떻게해야합니까? 복구 CD (System Rescue CD, 버전 4.7.1)에 문제가 있습니까? 사용해야 할 다른 절차가 있습니까?

백업에서 시스템을 복원하는 것만으로 끝났지 만 (이 경우에는 빠르고 쉬웠지만) 앞으로 수행 할 작업을 알고 싶습니다.



답변

xfs_repair 를 실행하려고 시도하는 경우 파일 시스템을 마운트하여 로그를 재생하라는 오류 메시지가 표시되고 마운트 한 후에도 여전히 동일한 오류 메시지가 수신되면 강제 복구를 수행해야합니다 ( -L플래그를 사용하여 xfs_repair). 이 옵션은 최후의 수단이어야합니다.

예를 들어 CentOS 7 설치에서 손상된 루트 파티션이있는 경우를 사용합니다. 파티션을 마운트하려고 할 때 계속해서 다음과 같은 오류 메시지가 나타납니다.

mount : / mnt / centos-root에서 mount / dev / mapper / centos-root 실패 : 구조를 청소해야합니다.

불행하게도, 수리를 강요하면 수리를 시도하기 전에 로그를 제로화 (파기)해야합니다. 이 방법을 사용하면 처음에 예상 한 것보다 더 손상된 데이터로 끝날 가능성이 있습니다. 그러나 적절한 xfs 도구를 사용하여 영구적으로 변경하기 전에 어떤 종류의 손상이 발생했는지 확인할 수 있습니다.

xfs_metadumpxfs_mdrestore를 사용 하면 영향을받는 파티션의 메타 데이터 이미지를 생성하고 파티션 자체가 아닌 이미지에서 강제 복구를 수행 할 수 있습니다. 이것의 장점은 파티션에서 수행하기 전에 강제 복구로 인한 손상을 볼 수 있다는 것입니다.

이를 위해서는 알맞은 크기의 USB 또는 외장 하드 드라이브가 필요합니다. USB 드라이브를 마운트하여 시작하십시오-내 USB가에 위치하고 있습니다 /dev/sdb1. 이름이 다를 수 있습니다.

mkdir -p /mnt/usb
mount /dev/sdb1 /mnt/usb

마운트 된 후에 xfs_metadump는 파티션 메타 데이터 사본을 USB에 복사하여 실행 하십시오. 다시 영향을받는 파티션이 다를 수 있습니다. 이 경우 손상된 루트 파티션이 있습니다 /dev/mapper/centos-root.

xfs_metadump /dev/mapper/centos-root /mnt/usb/centos-root.metadump

다음으로 복구를 수행하고 손상을 측정 할 수 있도록 메타 데이터를 이미지로 복원하려고합니다.

xfs_mdrestore /mnt/usb/centos-root.metadump /mnt/usb/centos-root.img

복구 모드 xfs_mdrestore에서는 사용할 수 없으며 대신 라이브 CentOS CD의 복구 모드에 있어야합니다.

마지막으로 이미지를 복구 할 수 있습니다.

xfs_repair -L /mnt/usb/centos-root.img

복구가 완료되고 출력 및 잠재적 손상을 평가 한 후 파티션에 대해 복구를 수행할지 여부를 결정할 수 있습니다.

파티션에 대해 복구를 실행하려면 다음을 실행하십시오.

xfs_repair -L /dev/mapper/centos-root

다른 파티션도 손상되었는지 확인하는 것을 잊지 마십시오. 복구 후 시스템을 재부팅하면 성공적으로 부팅 할 수 있습니다.

기억 -L플래그가 수리에 대한 다른 가능한 옵션이없는 최후의 수단으로 사용되어야한다.

이 온라인 기사가 도움이되었음을 발견했습니다.


답변

kvm 가상 머신 내부에서 centos 7이 잘못 중지되면이 오류가 발생했습니다.

xfs에서 메타 데이터 손상이 감지되었습니다 …

로그 오순절 “journalctl -xe”를 사용할 때 오류 마운트를 발견했습니다.

/ dev / mapper / root / sysroot

나는 그것을 사용하여 그것을 해결한다 :

xfs_repair / dev / mapper / root

그런 다음 시스템은 7 단계를 완료 한 다음

./일시 휴업

그리고 가상 머신 centos 7은 잘 작동합니다…

문안 인사

참고 : 어쩌면 당신은 / dev / mapper / root 다른 이름을 가지고 있습니다, journalctl -xe로 오류 로그를보고 장치의 이름이 잘못 장착되어 있는지 확인하십시오