나는 다음과 같은 구성을 가지고 있습니다 :
PV VG Fmt Attr PSize PFree Used
/dev/sda3 fedora00 lvm2 a-- 222.37g 0 222.37g
/dev/sdb1 vg0 lvm2 a-- <5.46t 0 <5.46t
/dev/sdc1 vg0 lvm2 a-- <3.64t 3.29g <3.64t
/dev/sdd1 vg0 lvm2 a-- <465.76g 0 <465.76g
/dev/sde1 vg0 lvm2 a-- <465.76g 0 <465.76g
/dev/sdf1 vg0 lvm2 a-- <465.76g 0 <465.76g
문제는 /dev/sdf1을 삭제하고 싶다는 것입니다. pvmove를 하면 범위가 충분하지 않다고 나옵니다. 그룹에 "여유" 공간이 너무 많아서 일부 내용이 합산되지 않았습니다.
/dev/mapper/vg0-personal 10793808 3037966 7293737 30% /personal
Google에서는 방법이 pvmove와 vgreduce라고 알려 주지만 아직 이에 대해 많이 알지 못합니다. 해당 드라이브의 데이터를 이동하고 비활성화하도록 어떻게 지시합니까?
감사해요
답변1
pvmove를 하면 범위가 충분하지 않다고 나옵니다.
아니요, 파일 시스템의 여유 공간은 포함되지 않습니다.
/dev/mapper/vg0-personal 10793808 3037966 7293737 30% /personal
이것은 10793808
큰 파일 시스템 블록, 3037966
사용된 블록, 7293737
사용 가능한 블록, 30%
사용된 블록입니다. 따라서 여유 공간이 있지만 LVM 여유 공간이 아닌 파일 시스템 여유 공간입니다.
파일 시스템의 블록은 여전히 10793808
큽니다. 이는 LV의 크기 /dev/mapper/vg0-personal
와 LV가 최소한 LVM에서 차지하는 공간의 양입니다(씬 프로비저닝과 같은 특수 기능을 사용하지 않는 한).
이러한 LV가 여러 개 더 있는 것 같으므로 VG가 거의 가득 찼습니다.
PV VG Fmt Attr PSize PFree Used /dev/sdc1 vg0 lvm2 a-- <3.64t 3.29g <3.64t /dev/sdf1 vg0 lvm2 a-- <465.76g 0 <465.76g
용량 /dev/sdf1
은 약 465G(PSize)이고 여유 공간이 0이 아닌 유일한 PV는 /dev/sdc1
약 3G(PFree)에 불과합니다. 따라서 이 VG에는 여유 공간이 거의 없습니다. 을(를 ) 삭제하려면 /dev/sdf1
어떻게든 ~462G의 추가 공간을 확보해야 합니다.
파일 시스템에 여유 공간이 있으면 좋겠지만 LVM은 그런 것을 신경 쓰지 않습니다. LVM은 사용자가 해당 블록 장치에 저장하기로 결정한 내용이 아니라 관리하는 논리 볼륨/블록 장치의 크기를 고려합니다.
따라서 계속하려면 파일 시스템을 축소하거나 파일 시스템을 완전히 삭제하거나 씬 프로비저닝으로 전환하거나(여러 면에서 위험함) 드라이브를 삭제하지 않고 그대로 두기로 결정해야 합니다.
그럼에도 불구하고 데이터를 잘 백업해 두십시오.
답변2
Frostschutz 답변을 확장하려면 볼륨 그룹이 아닌 파일 시스템에 여유 공간이 있습니다. 이를 이동하려면 다음과 같은 작업을 수행해야 합니다. 크기를 조정할 때 큰 여백을 남겼습니다. 아마도 꼭 필요한 것은 아니지만 오류를 범하는 것이 좋습니다 볼륨을 너무 짧게 줄이는 것보다 반올림 오류로 인해 여유 공간을 남겨두는 측면에서 이 단계에서는 ext2/3/4 시리즈 파일 시스템을 사용하고 있다고 가정합니다.
umount /personal
resize2fs /dev/mapper/vg0-personal 400G
lvresize /dev/mapper/vg0-personal -l 410g
(lvresize에서 소문자 g가 중요합니다. 대문자 G를 사용하는 경우 lvresize는 10진수 기가바이트 단위가 됩니다.)
불행하게도 가동 중지 시간 없이는 그렇게 할 수 없다고 생각합니다. 확장 파일 시스템은 온라인 성장을 지원하지만 온라인 축소를 지원하지는 않습니다.
그러면 드라이브를 제거하는 데 필요한 여유 공간이 확보됩니다.