집에 있는 PC에서 최신 버전의 우분투를 서버로 사용하고 있습니다. 두 개의 논리 볼륨이 있습니다. vg0
그리고 vg1
. 최근에 /dev/vg0/lv-var
제가 설치한 파티션이 /var
너무 작은 것을 발견했습니다 . 모든 것을 백업 /var
한 다음 /home
계속해서 파티션을 /dev/vg0/lv-home
줄이고 늘렸습니다 /dev/vg0/lv-var
. 내가 사용하는 명령은 다음과 같습니다.
umount /home
lvreduce --size 325G /dev/vg0/lv-home
lvextend -L +100.22G /dev/vg0/lv-var
xfs_growfs /dev/mapper/vg0-lv--var
모든 것이 작동하는 것 같습니다. umount /var
많은 기본 프로세스에서 사용되므로 이 작업을 수행 하지 않았습니다 .
emergency mode
재부팅 후 USB 연결을 처리하는 데 문제가 있어 키보드를 사용하여 문제를 해결할 수 없는 지점까지 시스템이 부팅되고 다음과 유사한 오류가 발생합니다.unable to enumerate USB device
/home
다시 시작하기 전에 다시 마운트하지 않은 것이 문제가 아닐까 싶습니다.
안전 모드에서 집을 설치하려고 하면 다음과 같은 메시지가 나타납니다.
mount: /home: can't read superblock on /dev/mapper/vg0-lv--home.
시스템이 부팅되면 다음을 볼 수 있습니다.
[FAILED] Failed to mount /home. (100.0% complete)
시도했지만 xfs_repair
볼륨을 어디에도 마운트할 수 없습니다.can't read superblock on /dev/mapper/vg0-lv--home
논리 볼륨을 삭제하고 새 볼륨을 생성하여 홈 디렉터리에 마운트하려고 합니다. 내 데이터를 백업해 놓았는데 어떻게 해야 하고 /home
시작 시 새로 생성된 데이터를 설치하도록 시스템에 알립니까?
답변1
나는
/var
모든 것을 백업했고/home
훌륭해요! 지금 그 백업이 필요합니다 /home
.
먼저 내부의 파일 시스템을 축소 lvreduce
하지 않고 사용하고 있습니다 . --resizefs
결과적으로 /home
파일 시스템의 일부가 절단되어 이제 손상되어 패닉 모드에 진입하게 되었습니다.
파일 시스템이 XFS 파일 시스템인 경우 /home
현재 비파괴적으로 축소할 수 있는 방법은 없습니다. 백업을 만든 다음 파티션/논리 볼륨을 축소한 다음 mkfs
축소된 파티션/LV를 다시 시작하고 백업을 복원하는 것은 현재 XFS 파일 시스템을 축소하는 데 사용할 수 있는 유일한(프로덕션 품질) 방법입니다.
/home
따라서 일시적으로 비상 모드 항목을 주석 처리하고 /etc/fstab
, 시스템이 어느 정도 정상적으로 부팅되도록 하고, 부팅하여 비상 모드를 종료한 다음 항목의 주석 처리를 다시 해제하고 mkfs
, 마운트하고, 백업에서 내용을 복원합니다./dev/vg0/lv-home
/etc/fstab
/home
/home
레이어별로 생각해야 합니다.
- 물리디스크는 괜찮네요
- LVM 물리 볼륨으로 사용되는 파티션은 문제가 없습니다.
- LVM 논리 볼륨 레이어가 적절하게 축소되었으므로 그것도 좋습니다.
- 논리 볼륨의 파일 시스템은 축소되지 않으므로 꼬리가 잘립니다.
파일 시스템 유형이 /home
XFS인 경우 실행하기만 하면 sudo mkfs.xfs /dev/vg0/lv-home
파일 시스템이 다시 마운트됩니다(비록 비어 있음). 그런 다음 백업에서 콘텐츠를 복원하면 됩니다.