
Ich habe vor Kurzem meine Festplatte von einer 128 GB SSD auf eine 512 GB SSD aufgerüstet. Die /-Partition ist mit LUKS verschlüsselt. Ich brauche Hilfe beim Erweitern der Partition, um den gesamten freien Speicherplatz auf der neuen Festplatte zu nutzen. Ich habe die alte Festplatte bereits per DD auf die neue übertragen:
[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
Nach sda2 verbleiben etwa 380 GB ungenutzter Speicherplatz.
Weitere relevante Informationen:
[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
Es scheint viele Informationen dazu zu geben, wie das geht, aber nur sehr wenige Erklärungen. Ich bin für jede Hilfe dankbar.
Antwort1
OK! Endlich die endgültige Antwort. Meine Schritte zum Erweitern eines mit LUKS verschlüsselten Volumes ...
cryptsetup luksOpen /dev/sda2 crypt-volume
um das verschlüsselte Volume zu öffnen.parted /dev/sda
um die Partition zu erweitern.resizepart NUMBER END
.vgchange -a n fedora_chocbar
. Beenden Sie die Verwendung von VG, damit Sie den nächsten Schritt ausführen können.cryptsetup luksClose crypt-volume
. Schließen Sie das verschlüsselte Volume für die nächsten Schritte.cryptsetup luksOpen /dev/sda2 crypt-volume
. Öffnen Sie es erneut.cryptsetup resize crypt-volume
. Passt die Größe des LUKS-Volumes automatisch an den verfügbaren Speicherplatz an.vgchange -a y fedora_chocbar
. Aktivieren Sie die VG.pvresize /dev/mapper/crypt-volume
. Ändern Sie die Größe des PV.lvresize -l+100%FREE /dev/fedora_chocbar/home
. Ändern Sie die Größe des LV für /home auf 100 % des freien Speicherplatzes.e2fsck -f /dev/mapper/fedora_chocbar-home
. Wenden Sie etwas Fsck-Magie auf das skalierte Dateisystem an.resize2fs /dev/mapper/fedora_chocbar-home
. Größe des Dateisystems in /home ändern (verwendet automatisch 100 % freien Speicherplatz)
Ich hoffe, dass das jemand anderes nützlich findet. Ich habe jetzt über 300 GB für meine Test-VMs auf meinem Laptop!
Antwort2
Für diejenigen, die auf die Antwort stoßen, um herauszufinden, wie man die Größe einer LUKS-Partition einfach auf die Größe des Containers ändert, lauten die Befehle wie folgt:
mit LUKS verschlüsseltem Volumegeöffnetund das geöffnete Volume wird zugeordnet als
opened-volume
, führen Sie aussudo cryptsetup resize /dev/mapper/opened-volume
um die Größe des mit LUKS verschlüsselten Datenträgers online zu ändern ...
Passen Sie dann die Größe des Inhalts an.
Wenn es sich beispielsweise um einExt4-Dateisystemkönnen Sie die Größe ändern, auch wenn es mit montiert ist
sudo resize2fs /dev/mapper/opened-volume
Oder wenn Sie eineLVMphysisches Volumen innendas mit LUKS verschlüsselte Volume, verwenden Sie einfach
pvresize
:sudo pvresize /dev/mapper/opened-volume
Ich habe dies mit einem gemounteten Dateisystem/aktivierten PV ohne Unterbrechung getan. Es war möglich, die Größe des Containers zu ändern, ohne ihn vorher auszuhängen, da sich das verschlüsselte Volume auf einem logischen LVM-Volume befand (mit lvresize
) / mit , parted
um die Größe einer GPT-Partition so zu ändern, dass sie den unmittelbar darauf folgenden freien Speicherplatz enthielt!
Antwort3
Ich habe eine viel einfachere Lösung gefunden. Führen Sie Xubuntu live aus, installieren und starten Sie den Partitionsmanager. Es kann sehr gut mit verschlüsselten Partitionen umgehen.
Ausführliche Informationen finden Sie hier:http://e1z.ca/devlog/encrypted_partition_resize.html
Antwort4
Größe über die Befehlszeile mit parted ändernohne LVM(auf einer MS-DOS-Partitionstabelle für noch mehr Spaß).
Ich habe meinen VPS von 50 G auf 150 G erweitert.
Crypttab lautet:
# 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
Größen:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vda5_crypt 47G 12G 35G 26% /
/dev/vda1 641M 63M 532M 11% /boot
Das Partitionslayout ist:
# 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
Wie man sieht, ist meine Swap-Partition (Partition 6) im Weg; ich muss sie entfernen, um die Partition zu erweitern. Zuerst Swap ausschalten:
swapoff -a && free -lm
Die Zeile „Swap:“ sollte nur aus Nullen bestehen.
Der schwierige Teil besteht nun darin, die Größe der Partitionen zu ändern und sie vor dem Neustart und der Erweiterung wiederherzustellen (parted beschwert sich, dass es den Kernel nicht informieren kann, was ich mehrmals ignoriert habe).
Entfernen Sie zuerst die Swap-Partition:
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
Erweitern Sie die logische Partition (2) zur Aufnahme der erweiterten Partitionen bis zum Ende der Festplatte (-1):
(parted) resizepart 2 -1
Passen Sie die Größe der logischen Partition 5 an und lassen Sie dabei Platz für die Swap-Partition frei (Parted wird sich erneut beschweren, machen Sie einfach weiter und (i)ignorieren Sie:
(parted) resizepart 5 -4G
Erstellen Sie die Swap-Partition neu. Wie Sie in Crypttab sehen, wird sie bei jedem Booten zufällig erstellt, sodass wir uns nicht um die UUID kümmern müssen. Dies ist nicht gut für den Suspend-Modus, aber für Server und ohne Suspend-Modus ist dies die bevorzugte Methode. Erstellen Sie sie vom Ende der vorherigen Partition (157 G) bis zum Ende der Festplatte (-1):
(parted) mkpart
Partition type? primary/logical? l
File system type? [ext2]? linux-swap
Start? 157GB
End? -1
Überprüfen Sie die Ergebnisse:
(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
JetztNeustartund Sie sollten das System normal booten und die Partition entsperren.
Überprüfen Sie nach dem Neustart Ihren Swapspace:
# swapon
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 3.7G 0B -1
Zeit zum Erweitern! Verwenden Sie „cryptsetup resize /dev/mapper/opened-volume“ und „resize2fs /dev/mapper/opened-volume“.
cryptsetup resize /dev/mapper/vda5_crypt
resize2fs /dev/mapper/vda5_crypt
Das Ergebnis war eine Größenanpassung meines verschlüsselten Datenträgers auf 132 GB:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vda5_crypt 144G 12G 132G 9% /
/dev/vda1 641M 63M 532M 11% /boot