최근에 디스크를 128GB SSD에서 512GB SSD로 업그레이드했습니다. / 파티션은 LUKS를 사용하여 암호화됩니다. 새 디스크에서 사용 가능한 모든 공간을 사용하기 위해 파티션을 확장하는 데 도움을 찾고 있습니다. 기존 드라이브를 새 드라이브에 추가했습니다.
[root@localhost ~]# fdisk -l /dev/sda
Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00009f33
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1026047 1024000 500M 83 Linux
/dev/sda2 1026048 250064895 249038848 118.8G 83 Linux
sda2 이후에는 약 380GB 정도의 미사용 공간이 있습니다.
추가 관련 정보:
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
fedora_chocbar 1 3 0 wz--n- 118.75g 4.00m
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home fedora_chocbar -wi-a----- 85.55g
root fedora_chocbar -wi-a----- 29.30g
swap fedora_chocbar -wi-a----- 3.89g
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/mapper/encrypted fedora_chocbar lvm2 a-- 118.75g 4.00m
이를 수행하는 방법에 대한 정보는 많지만 설명은 거의 없는 것 같습니다. 이에 대한 도움을 주시면 감사하겠습니다.
답변1
좋아요! 마침내 확실한 대답이 나왔습니다. LUKS 볼륨을 확장하는 단계...
cryptsetup luksOpen /dev/sda2 crypt-volume
암호화된 볼륨을 엽니다.parted /dev/sda
파티션을 확장합니다.resizepart NUMBER END
.vgchange -a n fedora_chocbar
. 다음 단계로 진행할 수 있도록 VG 사용을 중지하세요.cryptsetup luksClose crypt-volume
. 다음 단계를 위해 암호화된 볼륨을 닫습니다.cryptsetup luksOpen /dev/sda2 crypt-volume
. 다시 열어보세요.cryptsetup resize crypt-volume
. LUKS 볼륨은 사용 가능한 공간에 맞게 자동으로 크기가 조정됩니다.vgchange -a y fedora_chocbar
. VG를 활성화합니다.pvresize /dev/mapper/crypt-volume
. PV의 크기를 조정합니다.lvresize -l+100%FREE /dev/fedora_chocbar/home
. /home의 LV 크기를 사용 가능한 공간의 100%로 조정합니다.e2fsck -f /dev/mapper/fedora_chocbar-home
. 크기가 조정된 fs에 fsck 마법을 적용합니다.resize2fs /dev/mapper/fedora_chocbar-home
. /home에서 파일 시스템 크기 조정(자동으로 사용 가능한 공간의 100% 사용)
다른 사람들도 이것이 유용하다고 생각하기를 바랍니다. 이제 내 노트북에는 가상 머신을 테스트할 수 있는 300GB 이상의 공간이 생겼습니다!
답변2
LUKS 파티션의 크기를 크기가 조정된 컨테이너 크기로 간단히 조정하는 방법이 궁금하신 경우 명령은 다음과 같습니다.
LUKS 암호화 볼륨 사용열려 있는열린 볼륨을 다음과 같이 매핑하려면
opened-volume
다음을 실행하세요.sudo cryptsetup resize /dev/mapper/opened-volume
LUKS 암호화 볼륨의 크기를 온라인으로 조정하세요...
그런 다음 콘텐츠의 크기를 조정합니다.
예를 들어, 다음과 같은 경우Ext4 파일 시스템, 설치되어 있어도 크기를 조정할 수 있습니다
sudo resize2fs /dev/mapper/opened-volume
또는 당신이 가지고 있다면좌심실 용적물리적 볼륨 ~에LUKS 암호화 볼륨은 다음을 사용하세요
pvresize
.sudo pvresize /dev/mapper/opened-volume
마운트된 파일 시스템/활성화된 PV를 사용하여 중단 없이 이 작업을 수행했습니다. 암호화된 볼륨이 LVM 논리 볼륨에 있기 때문에 먼저 마운트 해제할 필요 없이 컨테이너의 크기를 조정하고(사용 lvresize
)/ parted
그 후 여유 공간을 사용하여 GPT 파티션의 크기를 조정했습니다!
답변3
더 간단한 해결책을 찾았습니다. Xubuntu를 라이브로 실행하고 파티션 관리자를 설치하고 시작하십시오. 암호화된 파티션을 매우 잘 처리합니다.
자세한 내용은 여기를 참조하세요:http://e1z.ca/devlog/encrypted_partition_resize.html
답변4
parted를 사용하여 명령줄에서 크기 조정LVM 없음(재미를 더하기 위해 ms-dos 파티션 테이블에 있음)
VPS를 50G에서 150G로 확장했습니다.
Crypttab의 내용은 다음과 같습니다.
# cat /etc/crypttab
vda5_crypt UUID=c5e67d21-6af4-4d55-a4bc-2978e50c00c3 none luks
vda6_crypt /dev/vda6 /dev/urandom cipher=aes-xts-plain64,size=256,swap
크기:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vda5_crypt 47G 12G 35G 26% /
/dev/vda1 641M 63M 532M 11% /boot
파티션 레이아웃은 다음과 같습니다.
# parted /dev/vda print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 161GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 700MB 699MB primary ext4 boot
2 701MB 53.7GB 53.0GB extended
5 701MB 51.7GB 51.0GB logical
6 51.7GB 53.7GB 1985MB logical
보시다시피, 내 스왑 파티션(파티션 6)이 방해가 되고 있습니다. 파티션을 확장하려면 이를 제거해야 합니다. 먼저 교환을 닫습니다.
swapoff -a && free -lm
"swap:" 줄은 모두 0으로 읽어야 합니다.
이제 까다로운 부분은 재부팅하고 확장하기 전에 파티션의 크기를 조정하고 복원하는 것입니다. (parted는 커널에 알릴 수 없다고 불평하는데, 저는 이를 여러 번 무시했습니다.)
먼저 스왑 파티션을 삭제합니다.
parted /dev/vda
(parted) rm 6
Error: Partition(s) 6 on /dev/vda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a
result, the old partition(s) will remain in use. You should reboot now before making further changes.
Ignore/Cancel? i
확장된 파티션을 디스크 끝까지 수용할 수 있도록 논리 파티션(2)을 확장합니다(-1).
(parted) resizepart 2 -1
스왑 파티션을 위한 공간을 예약하기 위해 논리 파티션 5의 크기를 조정합니다. (parted는 다시 불평하고 계속하고 (i) 무시합니다.
(parted) resizepart 5 -4G
스왑 파티션을 다시 만듭니다. crypttab에서 볼 수 있듯이 부팅할 때마다 무작위로 지정되므로 UUID에 대해 걱정할 필요가 없습니다. 중단에는 적합하지 않습니다. 그러나 서버의 경우 중단이 없는 경우 이것이 선호되는 방법입니다. 이전 파티션(157G)의 끝부터 디스크 끝까지(-1)까지 생성합니다.
(parted) mkpart
Partition type? primary/logical? l
File system type? [ext2]? linux-swap
Start? 157GB
End? -1
검사 결과:
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 161GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 700MB 699MB primary ext4 boot
2 701MB 161GB 160GB extended
5 701MB 157GB 156GB logical
6 157GB 161GB 3998MB logical linux-swap(v1) lba
(parted) quit
지금재시작시스템을 정상적으로 부팅하여 파티션 잠금을 해제해야 합니다.
재부팅 후 스왑 공간을 확인하십시오.
# swapon
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 3.7G 0B -1
이제 확장할 시간입니다! 'cryptsetup resize /dev/mapper/opened-volume' 및 'resize2fs /dev/mapper/opened-volume'을 사용하십시오.
cryptsetup resize /dev/mapper/vda5_crypt
resize2fs /dev/mapper/vda5_crypt
결과적으로 암호화된 볼륨 크기는 132G로 조정되었습니다.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vda5_crypt 144G 12G 132G 9% /
/dev/vda1 641M 63M 532M 11% /boot