それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ubuntu の暗号化インストールのディスクを拡張する

ubuntu を暗号化ディスクでインストールすると

ubuntuを暗号化ディスク(dm-crypt) でインストールすると、LVM on LUCKSでインストールされていました。

ノートPCなど物理的に紛失しそうなデバイスは暗号化ドライブを使ったほうが無難ですし、SSD/HDDを物理的に強奪されるリスクを考えると暗号化ディスクのほうが無難なので、暗号化ディスクにしていた。

とくにUSBメモリにインストールしたUbuntuディスクには暗号化ドライブが望ましい。

USBメモリの容量拡張で dd で移動したとき、暗号化ドライブの取扱いを確認したのでメモ。

LVM on LUCKS

ubuntu の暗号化パーティションはLVMが暗号化ドライブの上に構築している

ディスクの構成を lsblk で確認すると次の通り。

sda                       8:0    0 223.6G  0 disk  
├─sda1                    8:1    0   512M  0 part  /boot/efi
├─sda2                    8:2    0   732M  0 part  /boot
└─sda3                    8:3    0    36G  0 part  
  └─sdb3_crypt          253:0    0    36G  0 crypt 
    ├─ubuntu--vg-root   253:1    0    28G  0 lvm   /
    └─ubuntu--vg-swap_1 253:2    0     8G  0 lvm   [SWAP]

ubuntuが入っている root ファイルシステムスワップは crypt デバイス上に存在する。 起動時は /boot, /boot/efi から起動するので efi ブート中に cryptsetup で暗号化を解除してくれる。

LVMなのでリサイズは通常の方法と変わらない。

実は、ここがあまりに簡単すぎて拍子抜けだったのだが、容量の拡大・縮小は、通常のLVMを用いた処理と何ら変わらない。本当にdm 関連は便利ですね。

手順

次の手順で拡張した。 起動できるUSBドライブが1つ必要

  1. ubuntu のインストールUSBを作る
  2. インストール用USBでLiveとして起動する(インストールしないで使う)
  3. 暗号化ドライブを解除
  4. gdisk/fdisk でパーティションを拡張
  5. LVM を拡張
  6. e2fsck / resize2fs でファイルシステムを拡張
  7. 再起動

ブート後にターミナルを開く

ターミナルを開いたら、暗号化ディスクにアクセスできるようにする

sudo cryptsetup luksOpen /dev/mapper/sbd3_crypt my-crypt-drive

このコマンドは、次のようになっている。

sudo cryptsetup luksOpen $DEVICE_PATH $VolumeName

これで準備完了

gdisk や gparted でディスクを変更

ディスクの容量を確保する

sudo gdisk /dev/sda

LVM で容量を確認

sudo pvs 
sudo vgs 

追加した容量分が、PV/VGに増加していることを確認する。

lvextend で容量を割り当てる

sudo lvexnted -l +100%FREE ubuntu-vg/root

ファイルシステムを拡張

最後に、LV上に展開されているファイルシステムを拡張する 私の場合EXT4なのでEXT4の手順に従う

sudo e2fsck -p /dev/mapper/ubuntu--vg/root

チェックが終わったら、パーティションファイルシステムを拡張する。

sudo resize2fs /dev/mapper/ubuntu-vg-root

再起動

マウントしてみたり、テストして無事に終わったら、再起動

まとめ

暗号化ドライブをつかっていても、 LVM on LUCKS は、LVM上にLVMを作っているような感じで、特に新しい知識も必要なく、リサイズすることができた。

暗号化ドライブなので、扱いが面倒かなと思ったけど、全然そんなことなかった。

いまのところ暗号化ドライブを使っていて特に問題はないので今後も使っていきたい。