lvreduce를 사용하여 /home의 크기를 줄여 스왑에 할당했습니다. 실수로 이전에 마운트를 해제하지 않았고 lvreduce를 적용하기 전후에 fsck를 사용하지 않았습니다(그리고 백업 없음(; _;)). 서버를 다시 시작했고 이제 비상 모드로 부팅됩니다. Ctrl-D를 눌러 프롬프트를 반복해 보세요. 루트 프로젝트에 로그인합니다.
Dmesg에서는 (AE_NOT_FOUND)를 오류로 강조 표시하지만 /etc/fstab의 /proc/mounts 내용에도 작동하지 않는 것 같습니다. /etc/fstab을 원래 상태로 되돌렸습니다.
이 상황에서 벗어나려면 어떻게 해야 합니까?
답변1
fsck를 제거하거나 실행하지 않는 것은 아마도 문제가 아닐 것입니다. lv를 공격하기 전에 lv에서 fs 크기를 줄였습니까? (xfs인 경우 전혀 축소할 수 없다는 점을 기억하십시오.) 공간을 재할당하고 스왑을 조정한 경우 fsck를 강제 실행하여 fs를 부분적으로 복구할 수 있습니다. 아직 공간의 용도를 변경하지 않으셨다면 다음 내용을 읽어보시기 바랍니다.
복구 모드로 부팅(또는 미디어에서 부팅)하고 루트 fs로 chroot한 후 다음을 실행합니다.
# vgcfgrestore --list <your volume group name here>
축소를 실행하기 전에 보관된 메타데이터가 있을 수 있습니다. 이 도구를 사용하면 공간을 재할당하지 않았거나 공간에 다른 작업을 수행하지 않은 경우 크기 조정을 재개할 수 있습니다. fs 크기를 조정하는 추가 스위치가 없으면 축소 시 lv 메타데이터만 변경되고 데이터는 삭제되지 않습니다.