이것은 /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에 복제하고 싶습니다. 다음 절차가 올바른가요? 다른 컴퓨터를 사용할 예정이므로 원래 컴퓨터에 이전 디스크와 새 디스크가 모두 없습니다.
- dd, 여기서 if=old_ssd 및 of=new_ssd
- gparted를 사용하여 파티션 sdb3(LVM PV)의 크기를 늘려 새 공간을 채웁니다.
- 새 시스템으로 부팅하고 lvresize를 사용하여 AntergosRoot를 새로 크기가 조정된 PV의 전체 공간으로 확장합니다.
- 이전에 크기가 조정된 LV의 전체 공간으로 /(ext4) 파일 시스템 크기를 조정합니다.
내 주요 문제는 어떤 명령을 사용해야 할지 모른다는 것입니다. 둘째, LV AntergosRoot의 크기를 조정할 때 볼륨을 교체하면 불연속이 발생합니까?
답변1
한 단계가 누락되었습니다. sdb3
파티션 크기를 조정 하고 새 시스템으로 부팅한 후 pvresize
이 명령을 사용하여 확장을 허용하도록 LVM에 지시 해야 합니다 sdb3
.
그래서:
2.5. 새 시스템으로 부팅한 다음pvresize /dev/sdb3
3단계에서는 일반적 으로 안전 장치로 lvextend
대신 사용하는 것을 선호합니다 lvresize
. 실수로 잘못된 새 크기를 입력하면 lvresize
LV를 확장하는 대신 축소할 수 있으며 lvextend
지정된 새 크기가 현재 크기보다 1 작다고 알려줍니다. 크기. 이것이 더 안전합니다.
하지만 새로운 공간을 모두 즉시 사용하려면 다음과 같이 하세요.
lvextend -l +100%FREE /dev/mapper/AntergosVG-AntergosRoot
4단계는 매우 간단합니다.
resize2fs /dev/mapper/AntergosVG-AntergosRoot
루트 파일 시스템이 마운트되고 쓰기 가능한 동안 이러한 모든 단계(2.5...4)를 수행할 수 있습니다.
예, 루트 파일 시스템은 디스크에서 물리적으로 중단됩니다.그러나 그것은 문제가 아닙니다.LVM이 LV로 처리되면 연속적인 블록 번호 세트로 액세스할 수 있으며 LVM은 스왑 파티션의 점프를 숨깁니다. 성능면에서 단일 불연속성은 전혀 큰 문제가되지 않습니다.
실제로 디스크에서 LV를 물리적으로 연속적으로 유지해야 하는 경우 lvchange -C y <name of LV>
이 정보를 LVM으로 설정할 수 있습니다. 그러나 LV를 쉽게 확장할 수는 없습니다. 확장하기 전에 LV의 현재 테일 뒤에 여유 공간이 있는지 확인해야 합니다( pvdisplay --maps
필요한 경우 pvmove
콘텐츠 사용 및 재배열 ). 대부분의 경우 이는 필요하지 않습니다.