할당되지 않은 디스크 공간을 모두 사용하려면 lvm2 파티션의 크기를 늘리십시오.

할당되지 않은 디스크 공간을 모두 사용하려면 lvm2 파티션의 크기를 늘리십시오.

나는 더 작은 드라이브를 더 큰 드라이브로 상상했습니다. 이제 파티션/볼륨 그룹의 크기를 늘려야 합니다(정확한 용어입니까?). 드라이브에는 약 1.6TiB의 할당되지 않은 공간이 있는데, /dev/sdb3에서 이를 사용하고 늘어난 공간을 /dev/cl/root에 할당하려고 합니다. 다음은 Google 검색에서 수집한 일부 정보입니다. 처음 네 조각은 gparted에서 가져온 것입니다.

/dev/sdb1    fat16        /boot/efi  200 MiB
/dev/sdb2    ext4         /boot      1.0 GiB
/dev/sdb3    lvm2 pv      cl      221.68 GiG
unallocated  unallocated            1.60 TiB

$ sudo lvmdiskscan

  /dev/sdb1       [     200.00 MiB] 
  /dev/sdb2       [       1.00 GiB] 
  /dev/sdb3       [     221.68 GiB] LVM physical volume
  /dev/cl/var     [     100.00 GiB] 
  /dev/cl/swap    [       2.00 GiB] 
  /dev/cl/root    [     110.00 GiB] 


$ sudo lsblk
    NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sdb               8:16   0   1.8T  0 disk 
    ├─sdb2            8:18   0     1G  0 part 
    ├─sdb3            8:19   0 221.7G  0 part 
    │ ├─cl-swap     253:1    0     2G  0 lvm  
    │ ├─cl-root     253:2    0   110G  0 lvm  
    │ └─cl-var      253:0    0   100G  0 lvm  
    └─sdb1            8:17   0   200M  0 part 


$ sudo pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdb3
  VG Name               cl
  PV Size               221.68 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              56749
  Free PE               2478
  Allocated PE          54271
  PV UUID               Uohq5b-Ubkr-f51E-y1tf-vfAi-JA06-dKWx7A

sudo pvresize /dev/sdb3출력을 사용하여 물리적 크기를 늘려 보았습니다.

  Physical volume "/dev/sdb3" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

비록 이것이 아무런 효과가 없는 것 같지만. gparted에서 /dev/sdb3의 크기를 조정할 수 없습니다. 다음을 사용하여 볼륨 그룹을 추가해 보았습니다.

$ sudo vgextend cl /dev/sdb3
  Can't open /dev/sdb3 exclusively.  Mounted filesystem?

물리적 드라이브가 하드 드라이브를 미러링하는 데 사용되는 다른 Linux CentOS 7 시스템에 연결되어 있기 때문에 /dev/sdb3이 마운트되지 않은 것 같아서 실패한 이유를 잘 모르겠습니다.

/dev/sdb3할당되지 않은 공간을 재설정하기 위해 크기를 조정/확장한 다음 /sdb3/cl-root를 늘려 새 공간을 모두 사용하려면 어떻게 해야 합니까 ?

일부 응답에서는 할당되지 않은 공간에 새 파티션을 생성한 다음 이를 그룹/볼륨에 추가하라고 제안했지만, /dev/sdb3을 늘려 할당되지 않은 남은 공간을 사용한 다음 /sdb3/cl을 늘리고 싶습니다. 뿌리의.

답변1

sdb3먼저 파티션을 실제로 확장하려면 파티션 테이블을 편집해야 합니다 . 이렇게 하려면 , 또는 을 사용할 gpartedparted있습니다 gdisk.fdisk

gdisk또는 를 사용하는 경우 fdisk프로그램에 그렇게 하도록 지시한 경우에만 변경 사항이 파티션 테이블에 기록되므로 단일 /session을 사용하면 시작되는 정확한 디스크 위치(블록/섹터 번호)를 gdisk볼 수 있습니다 .fdisksdb3삭제파티션 sdb3,다시 만들다그것은 관련이 있다정확히 같은 출발점그런 다음 업데이트된 파티션 테이블을 디스크에 씁니다.

커널이 새 파티션 크기를 즉시 받아들이지 않으면 sudo partprobe /dev/sdb이 시점에서 실행해야 할 수도 있습니다.

새 파티션 크기가 에 표시되면 이전처럼 계속할 /proc/partitions수 있습니다 . sudo pvresize /dev/sdb3이후에는 sudo pvdisplay증가된 PV size, Total PEFree PE값이 표시되어야 합니다.

이때 이를 사용하여 sudo lvextend -r -L <desired new size> /dev/cl/rootLV를 확장할 수 있습니다.

sdb3PV는 이미 볼륨 그룹의 구성원이므로 이 cl경우에는 필요하지 않습니다 vgextend. 기존 볼륨 그룹에 사용되지 않은 새 PV를 추가할 때만 사용됩니다. VG가 현재 활성 상태이고 해당 LV가 모두 마운트/사용 중이므로 LVM에 의한 독점 액세스를 위해 PV가 잠겨 있으므로 이 vgextend도구에서도 직접 액세스할 수 없습니다. vgextendLV를 마운트 해제하기 위해 외부 미디어에서 부팅하여 이 작업을 수행 하려고 하면 오류 메시지가 표시됩니다.

Physical volume '/dev/sdb3' is already in volume group 'cl'

대신에.

관련 정보