Erweitern Sie eine LUKS-verschlüsselte Partition, um die Festplatte zu füllen

Erweitern Sie eine LUKS-verschlüsselte Partition, um die Festplatte zu füllen

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 ...

  1. cryptsetup luksOpen /dev/sda2 crypt-volumeum das verschlüsselte Volume zu öffnen.
  2. parted /dev/sdaum die Partition zu erweitern. resizepart NUMBER END.
  3. vgchange -a n fedora_chocbar. Beenden Sie die Verwendung von VG, damit Sie den nächsten Schritt ausführen können.
  4. cryptsetup luksClose crypt-volume. Schließen Sie das verschlüsselte Volume für die nächsten Schritte.
  5. cryptsetup luksOpen /dev/sda2 crypt-volume. Öffnen Sie es erneut.
  6. cryptsetup resize crypt-volume. Passt die Größe des LUKS-Volumes automatisch an den verfügbaren Speicherplatz an.
  7. vgchange -a y fedora_chocbar. Aktivieren Sie die VG.
  8. pvresize /dev/mapper/crypt-volume. Ändern Sie die Größe des PV.
  9. lvresize -l+100%FREE /dev/fedora_chocbar/home. Ändern Sie die Größe des LV für /home auf 100 % des freien Speicherplatzes.
  10. e2fsck -f /dev/mapper/fedora_chocbar-home. Wenden Sie etwas Fsck-Magie auf das skalierte Dateisystem an.
  11. 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 aus

    sudo 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 , partedum 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

verwandte Informationen