lvm2 논리 볼륨 및 파일 시스템 크기 조정 : 정확한 크기? -f /dev/mapper/vg01-lv01 resize2fs /dev/mapper/vg01-lv01 97G 이것은 잘 작동했습니다. 그러나

인트라넷 서버에 100.00 GiB 파티션 / dev / sda5가 있는데, lvm2의 물리 볼륨으로 사용합니다.

  • 내 볼륨 그룹 vg01에서 유일한 물리적 볼륨입니다.
  • vg01은 현재 전체 100.00 GiB를 사용하는 하나의 논리 볼륨 lv01을 포함하고 있습니다.
  • lv01은 전체 공간을 사용하는 ext3 파일 시스템을 포함합니다.

lv01을 약 97GiB로 줄이고 싶습니다. 3GiB (LVM 스냅 샷을 찍어야합니다).

내가 지금까지 한 일 :

e2fsck -f /dev/mapper/vg01-lv01
resize2fs /dev/mapper/vg01-lv01 97G

이것은 잘 작동했습니다. 그러나 지금 나는 달려야 할 것이다

lvreduce --size ? /dev/mapper/vg01-lv01

그리고 정확히 어떤 값을 지정 해야하는지 잘 모르겠습니다 . lvreduce매뉴얼 페이지 결과 크기가 파일 시스템보다 작을 수 없습니다해야한다는 것을 명시 적으로 경고합니다. 또한 필요 이상으로 크게 만들고 싶지 않습니다. 그러나 지금 나는 다른 숫자를 가지고 있습니다 :

  • 97Gresize2fs에 지정 했습니다.
  • df -h 96G라고합니다.
  • df 100115936 1K 블록이라고합니다.
  • lvdisplay (물론)는 여전히 논리 볼륨에 대해 99.99GiB를보고합니다.

무엇을 지정해야 lvreduce합니까?

편집하다:

현재 허용되는 답변은 좋은 해결 방법을 제공합니다. 그러나 그러한 것들을 견고한 스크립트 등으로 통합하기 위해서는 일반적으로 정확한 측정을 선호합니다. 아니면 한 번에 전체 크기 조정 절차를 수행하는 안정적인 (!) 스크립트 또는 도구가 이미 있습니까?



답변

필자의 경험에 따르면 LVM과 resize2fs는 “97G”의 의미에 대해 동일한 아이디어를 가지고 있으므로 두 위치에서 동일한 크기를 지정하는 것이 좋습니다. 그러나 나는 편집증이며 가능한 경우 항상 질문 의견에서 larsks가 제안한 전략을 사용하고 원하는 것보다 1GB 작게 크기를 조정하고 lvresize를 원하는 크기로 수행 한 다음 resize2fs를 다시 실행하지 않고 전체 LV를 채울 수 있도록 다시 확장합니다.


답변

–resizefs 옵션을 lvreduce / lvresize에 사용하는 것이 가장 좋습니다.

   -r, --resizefs
          Resize underlying filesystem together with the logical volume using fsadm(8).

분명히, 그것은 당신 에게 지금 도움이되지 않지만 앞으로는 도움이 될 것입니다.