LUKS暗号化パーティションを拡張してディスクを埋める

LUKS暗号化パーティションを拡張してディスクを埋める

最近、ディスクを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ボリュームを拡張する手順...

  1. cryptsetup luksOpen /dev/sda2 crypt-volume暗号化されたボリュームを開きます。
  2. parted /dev/sdaパーティションを拡張します。 resizepart NUMBER END
  3. vgchange -a n fedora_chocbar。次の手順に進むためにVGを無効にしてください。
  4. cryptsetup luksClose crypt-volume。次の手順で暗号化されたボリュームを閉じます。
  5. cryptsetup luksOpen /dev/sda2 crypt-volume。もう一度開いてみてください。
  6. cryptsetup resize crypt-volume。 LUKSボリュームは、利用可能なスペースに合わせて自動的にサイズ変更されます。
  7. vgchange -a y fedora_chocbar。 VGを有効にします。
  8. pvresize /dev/mapper/crypt-volume。 PVのサイズを調整します。
  9. lvresize -l+100%FREE /dev/fedora_chocbar/home。 /homeのLVサイズを使用可能なスペースの100%に調整します。
  10. e2fsck -f /dev/mapper/fedora_chocbar-home。サイズ変更された fs に fsck 魔法を適用します。
  11. 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論理ボリュームにあるため、最初にマウント解除せずにコンテナのサイズを変更(使用)してから、空き容量を使用してlvresizeGPTpartedパーティションのサイズを変更しました!

答え3

より簡単な解決策を見つけました。 Xubuntuをライブで実行し、パーティションマネージャをインストールして起動します。暗号化されたパーティションを非常にうまく処理します。

詳しくはこちらをご覧ください。http://e1z.ca/devlog/encrypted_pa​​rtition_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

関連情報