LVM LV 및 /root가 포함된 SSD를 더 큰 SSD에 복제하는 방법은 무엇입니까?

LVM LV 및 /root가 포함된 SSD를 더 큰 SSD에 복제하는 방법은 무엇입니까?

이것은 /boot를 포함하는 32GB 크기의 내 루트 볼륨입니다. LVM의 LV는 / 및 스왑입니다.

sdb                           8:16   0 29.8G  0 disk 
├─sdb1                        8:17   0  200M  0 part /boot/efi
├─sdb2                        8:18   0  256M  0 part /boot
└─sdb3                        8:19   0 29.4G  0 part 
  ├─AntergosVG-AntergosRoot 254:0    0 26.4G  0 lvm  /
  └─AntergosVG-AntergosSwap 254:1    0    3G  0 lvm  [SWAP]

더 큰 SSD에 복제하고 싶습니다. 다음 절차가 올바른가요? 다른 컴퓨터를 사용할 예정이므로 원래 컴퓨터에 이전 디스크와 새 디스크가 모두 없습니다.

  1. dd, 여기서 if=old_ssd 및 of=new_ssd
  2. gparted를 사용하여 파티션 sdb3(LVM PV)의 크기를 늘려 새 공간을 채웁니다.
  3. 새 시스템으로 부팅하고 lvresize를 사용하여 AntergosRoot를 새로 크기가 조정된 PV의 전체 공간으로 확장합니다.
  4. 이전에 크기가 조정된 LV의 전체 공간으로 /(ext4) 파일 시스템 크기를 조정합니다.

내 주요 문제는 어떤 명령을 사용해야 할지 모른다는 것입니다. 둘째, LV AntergosRoot의 크기를 조정할 때 볼륨을 교체하면 불연속이 발생합니까?

답변1

한 단계가 누락되었습니다. sdb3파티션 크기를 조정 하고 새 시스템으로 부팅한 후 pvresize이 명령을 사용하여 확장을 허용하도록 LVM에 지시 해야 합니다 sdb3.

그래서:

2.5. 새 시스템으로 부팅한 다음pvresize /dev/sdb3

3단계에서는 일반적 으로 안전 장치로 lvextend대신 사용하는 것을 선호합니다 lvresize. 실수로 잘못된 새 크기를 입력하면 lvresizeLV를 확장하는 대신 축소할 수 있으며 lvextend지정된 새 크기가 현재 크기보다 1 작다고 알려줍니다. 크기. 이것이 더 안전합니다.

하지만 새로운 공간을 모두 즉시 사용하려면 다음과 같이 하세요.

  1. lvextend -l +100%FREE /dev/mapper/AntergosVG-AntergosRoot

4단계는 매우 간단합니다.

  1. resize2fs /dev/mapper/AntergosVG-AntergosRoot

루트 파일 시스템이 마운트되고 쓰기 가능한 동안 이러한 모든 단계(2.5...4)를 수행할 수 있습니다.

예, 루트 파일 시스템은 디스크에서 물리적으로 중단됩니다.그러나 그것은 문제가 아닙니다.LVM이 LV로 처리되면 연속적인 블록 번호 세트로 액세스할 수 있으며 LVM은 스왑 파티션의 점프를 숨깁니다. 성능면에서 단일 불연속성은 전혀 큰 문제가되지 않습니다.

실제로 디스크에서 LV를 물리적으로 연속적으로 유지해야 하는 경우 lvchange -C y <name of LV>이 정보를 LVM으로 설정할 수 있습니다. 그러나 LV를 쉽게 확장할 수는 없습니다. 확장하기 전에 LV의 현재 테일 뒤에 여유 공간이 있는지 확인해야 합니다( pvdisplay --maps필요한 경우 pvmove콘텐츠 사용 및 재배열 ). 대부분의 경우 이는 필요하지 않습니다.

관련 정보