LVM 볼륨을 역방향으로 확장

LVM 볼륨을 역방향으로 확장

LVM 그룹 볼륨에서 사용 가능한 디스크 공간을 100% 활용하기 위해 실수로 볼륨을 확장했습니다. 디스크만 사용하려면 필요한데 /dev/sdb, 두 디스크가 같은 그룹에 있기 때문에 두 디스크의 여유 공간을 차지합니다. 이 상황을 되돌릴 수 있는 방법이 있나요?

[root@server]# pvscan
  PV /dev/sda3   VG myvg   lvm2 [13.84 GB / 13.84 GB free]
  PV /dev/sdb3   VG myvg   lvm2 [22.06 GB / 8.22 GB free]
  Total: 2 [35.91 GB] / in use: 2 [35.91 GB] / in no VG: 0 [0   ]

[root@server]# lvextend -l +100%FREE /dev/myvg/rootvol
  Extending logical volume rootvol to 35.91 GB
  Logical volume rootvol successfully resized

[root@server]# pvscan
  PV /dev/sda3   VG myvg   lvm2 [13.84 GB / 0    free]
  PV /dev/sdb3   VG myvg   lvm2 [22.06 GB / 0    free]
  Total: 2 [35.91 GB] / in use: 2 [35.91 GB] / in no VG: 0 [0   ]

실제로 삭제해야 합니다 /dev/sda3.

이는 RHEL 5.9 시스템에 있습니다.

데이터 손실을 원하지 않습니다.

고쳐 쓰다:

임시 디스크를 사용하는 경우 거의 같은 크기의 디스크가 필요하며 볼륨 하나만 pvmove하는 경우 다른 디스크에 아무것도 없고 데이터가 손상되지 않았는지 어떻게 확인할 수 있습니까?

고쳐 쓰다:

더 큰 새 디스크와 pvmove /dev/sda3(새 디스크)를 추가했습니다 /dev/sdb3. /dev/sdc3df가 루트 볼륨에 새로 추가된 여유 공간을 계속 표시하는 이유가 무엇인지 잘 모르겠습니다.

 [root@server]# pvscan
   PV /dev/sdc3   VG myvg            lvm2 [47.06 GB / 11.16 GB free]
   PV /dev/sda3                      lvm2 [13.85 GB]
   PV /dev/sdb3                      lvm2 [22.07 GB]
   Total: 3 [82.98 GB] / in use: 1 [47.06 GB] / in no VG: 2 [35.92 GB]

 [root@server]# lvscan
   ACTIVE            '/dev/myvg/rootvol' [35.91 GB] inherit

 [root@server]# df -kh .
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/mapper/myvg-rootvol
                        14G   12G  1.3G  91% /

답변1

먼저 백업을 만들고 작동하는지 테스트하십시오. 데이터가 삭제되지는 않지만 철자 오류로 인해 모든 내용이 손실될 수 있습니다.

파일 시스템이 아닌 논리 볼륨만 확장했기 때문에 논리 볼륨만 축소하면 됩니다. 상위 파일 시스템의 크기를 알아보세요 /dev/myvg/rootvol. ext4 파일 시스템인 경우 tune2fs -l /dev/myvg/rootvol이를 알려줍니다. 올바르게 설정하는 것이 중요합니다. 논리 볼륨을 파일 시스템 크기보다 작게 축소하면 데이터가 손실됩니다. 그런 다음 실행

lvreduce -L NNNNNNNk /dev/myvg/rootvol

여기서 NNNNNNN은 파일 시스템의 크기(kB)입니다.

이제 실행 pvmove하여 의 데이터를 해제합니다 /dev/sda3. 나중에 물리적 볼륨을 삭제할 수 있습니다.

pvmove /dev/sda3
vgreduce myvg /dev/sda3
pvremove /dev/sda3

답변2

내가 그랬으니까아니요FS는 전체 VG 범위를 채우기 위해 크기가 조정되고 새 물리 볼륨은 비어 있습니다. 다음을 수행하여 볼륨 그룹의 범위를 간단히 줄일 수 있습니다.

lvreduce -l3913721 /dev/myvg/rootvol
vgreduce rootvol /dev/sds
pvremove /dev/sds

여기서 3913721은 이전 범위입니다.

관련 정보