LVM 파티션에서 디스크를 제거하는 방법은 무엇입니까?

LVM 파티션에서 디스크를 제거하는 방법은 무엇입니까?

누구든지 도와줄 수 있나요? 기본 파티션에 걸쳐 2개의 디스크가 있습니다. 하나는 460Gb이고 다른 하나는 1TB입니다. 1TB를 삭제하고 싶습니다 - 다른 머신에서 사용하고 싶습니다.

어쨌든 볼륨 그룹은 많은 공간을 사용하지 않으며 해당 디스크를 사용하는 도커와 몇 개의 컨테이너만 있고 어쨌든 내 도커 컨테이너 볼륨은 다른 물리적 디스크에 있습니다.

디스크([물리적])만 제거하면 문제가 발생겠죠?

이건 정보야


pvdisplay


  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               ubuntu-vg
  PV Size               <464.26 GiB / not usable 2.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              118850
  Free PE               0
  Allocated PE          118850
  PV UUID               DA7Q8E-zJEz-2FzO-N64t-HtU3-2Z8P-UQydU4

  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               ubuntu-vg
  PV Size               931.51 GiB / not usable 4.69 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              238466
  Free PE               0
  Allocated PE          238466
  PV UUID               Sp6b1v-nOj2-XXdb-GZYf-1Vej-cfdr-qLB3GU

LVM은 나를 약간 혼란스럽게 합니다 :-)

그냥 단순한 예시 아닌가요?

"VG에서 자신을 제거하고 나머지 그룹 구성원을 사용하는 모든 것을 평가하십시오"?

1TB가 나중에 추가되었다는 점은 주목할 가치가 있으므로 제거하기가 더 쉽다고 가정합니까?

어떤 도움이라도 정말 감사하겠습니다

편집하다

그리고 추가 정보

df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                                16G     0   16G   0% /dev
tmpfs                              3.2G  1.4M  3.2G   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  1.4T  5.1G  1.3T   1% /

또한 1%만 사용하세요.

또한 lvs를 출력합니다.

lvs
  LV        VG        Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  ubuntu-lv ubuntu-vg -wi-ao---- 1.36t

편집하다

pvdisplay -m
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               ubuntu-vg
  PV Size               <464.26 GiB / not usable 2.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              118850
  Free PE               0
  Allocated PE          118850
  PV UUID               DA7Q8E-zJEz-2FzO-N64t-HtU3-2Z8P-UQydU4

  --- Physical Segments ---
  Physical extent 0 to 118849:
    Logical volume  /dev/ubuntu-vg/ubuntu-lv
    Logical extents 0 to 118849

  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               ubuntu-vg
  PV Size               931.51 GiB / not usable 4.69 MiB
  Allocatable           NO
  PE Size               4.00 MiB
  Total PE              238466
  Free PE               0
  Allocated PE          238466
  PV UUID               Sp6b1v-nOj2-XXdb-GZYf-1Vej-cfdr-qLB3GU

  --- Physical Segments ---
  Physical extent 0 to 238465:
    Logical volume  /dev/ubuntu-vg/ubuntu-lv
    Logical extents 118850 to 357315

편집하다

산출

lsblk -f
NAME   FSTYPE     LABEL UUID                                   MOUNTPOINT
loop0  squashfs                                                /snap/core/9066
loop2  squashfs                                                /snap/core/9289
sda
├─sda1 vfat             E6CC-2695                              /boot/efi
├─sda2 ext4             0909ad53-d6a7-48c7-b998-ac36c8f629b7   /boot
└─sda3 LVM2_membe       DA7Q8E-zJEz-2FzO-N64t-HtU3-2Z8P-UQydU4
  └─ubuntu--vg-ubuntu--lv
       ext4             b64f2bf4-cd6c-4c21-9009-76faa2627a6b   /
sdb
└─sdb1 LVM2_membe       Sp6b1v-nOj2-XXdb-GZYf-1Vej-cfdr-qLB3GU
  └─ubuntu--vg-ubuntu--lv
       ext4             b64f2bf4-cd6c-4c21-9009-76faa2627a6b   /
sdc    xfs              1a9d0e4e-5cec-49f3-9634-37021f65da38   /gluster/bricks/2

위의 sdc는 다른 드라이브이며 관련이 없습니다.

답변1

디스크를 제거해야 하는 파일 시스템은뿌리파일 시스템이고 파일 시스템 유형이 이면 ext4먼저 일부 라이브 Linux 부팅 미디어에서 시스템을 부팅해야 합니다. Ubuntu Live는 이 문제에 대한 좋은 해결책이 될 수 있습니다.

외부 미디어에서 부팅한 후 sudo vgchange -ay ubuntu-vgLV에 액세스할 수 있도록 실행하여 볼륨 그룹을 활성화합니다. 그러나 파일 시스템을 마운트하지 마십시오. 축소하려면 ext2/3/4 파일 시스템을 마운트 해제해야 합니다. 그런 다음 파일 시스템을 10G로 축소합니다(또는 원하는 크기 - 나중에 또는 온라인에서도 쉽게 다시 확장할 수 있음).

sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv 10G

메시지 출력에 주의하십시오 resize2fs. 파일 시스템을 그만큼 축소할 수 없다는 메시지가 나타나면 더 큰 크기를 지정하고 다시 시도하십시오.

이는 외부 미디어에서 부팅할 때 완료해야 하는 유일한 단계입니다. 그 이후에는 시스템을 정상적으로 부팅할 수 있습니다.

이 시점에서 파일 시스템은 10G(또는 지정한 크기)로 축소되어야 합니다. 다음 단계는 LV의 크기를 줄이는 것입니다.결정적으로, LV의 새로운 크기는 파일 시스템의 새로운 크기와 정확히 같거나 커야 합니다!LV를 축소할 때 파일 시스템의 꼬리 부분을 잘라내고 싶지는 않습니다. 여기서는 약간 더 큰 크기를 지정하는 것이 가장 안전합니다.

sudo lvreduce -L 15G /dev/mapper/ubuntu--vg-ubuntu--lv

이제 pvdisplay또는 를 사용하여 LVM이 이제 완전 무료로 간주되는지 pvs확인하세요 . /dev/sdb1에서 및 값은 pvdisplay동일 해야 합니다. 출력 에서 ​​값은 각각 동일해야 합니다 . 그렇지 않은 경우 다음을 사용해야 합니다 .Total PEFree PEsdb1pvsPFreePSizepvmove

sudo pvmove /dev/sdb1

이후 sdb1LVM에 따르면 PV는 확실히 완전 무료이며 VG에서 축소될 수 있습니다.

sudo vgreduce vg-ubuntu /dev/sdb1

원하는 경우 ex-PV에서 LVM 서명을 제거할 수 있습니다.

sudo pvremove /dev/sdb1

하지만 덮어쓰고 싶다면 이 단계를 생략해도 됩니다.

이러한 단계를 완료한 후에도 LV가 이보다 약간 더 클 수 있더라도 축소된 파일 시스템의 크기는 여전히 10G(또는 사용자가 지정한 값)입니다. 이 문제를 해결하려면:

sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

파일 시스템을 확장할 때 크기를 지정할 필요가 없습니다. 도구는 파일 시스템을 포함하는 가장 안쪽 장치의 정확한 크기와 일치하도록 파일 시스템을 자동으로 확장합니다. 이 경우 파일 시스템 크기는 LV 크기에 따라 조정됩니다.

나중에 LV+ 파일 시스템을 확장하려면 다음 두 명령만 사용하면 됩니다.

sudo lvextend -L <new size> /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

파일 시스템이 사용 중이고 마운트된 경우에도 이 작업을 수행할 수 있습니다. 파일 시스템을 축소하는 것이 확장하는 것보다 어렵기 때문에 LVM 수준에서 일정량의 할당되지 않은 공간을 예약하는 것이 유용할 수 있습니다. 이를 즉시 사용하여 새 LV를 생성하거나 필요에 따라 기존 LV를 확장할 수 있습니다. 동일한 VG 중간.

답변2

질문에 의견을 추가하세요.

을 실행했는데 vgreduce ubuntu-vg /dev/sdb1메시지가 표시되면 /dev/sdb is still in use데이터가 있고 문제 없이 삭제할 수 없다는 의미입니다.

그렇지 않으면 볼륨 그룹에서 성공적으로 제거되며 실행하여 pvremove /dev/sdb1LVM 레이블을 제거한 다음 머신에서 디스크를 제거하고 다른 곳에서 사용할 수 있습니다.

를 사용할 수 있지만 pvmove /dev/sdb1을 얻는다면 No extents available for allocation디스크에 이동할 수 있는 여유 공간이 없다는 의미일 수 있습니다.

를 실행하면 pvdisplay -m물리 확장 영역을 포함하여 물리 볼륨에 대한 매핑 데이터를 볼 수 있습니다. 예를 들어 실행해서 FREE아래를 보면 Physical Extents을 실행할 수 있습니다 pvmove -v /dev/sdb1:<[physical_extent_with_data> /dev/sda3/:<physical_extent_free> --alloc anywhere. 귀하의 경우에는 출력 결과가 pvdisplay가득 차서 No extents available for allocation메시지가 표시되기 때문에 작동하지 않는 것 같습니다 .

어떤 작업을 하기 전에 데이터를 백업했는지 확인하세요. 디스크를 제거하고 싶다면 lvreduce나중에 사용할 수 없다면 여러 개의 볼륨 그룹을 생성하여 시스템 설치 시 하나만 재구축하면 되는 것을 권장합니다.

관련 정보