ssd を移動させたい。しかし暗号化ディスクだ
HDD/ssd はデータ式年遷宮をするのだけど、今回は、暗号化ディスクだった。
手順
手順は次の通り
- とりあえず、dd
- ubuntu など live disk で起動させる
- gdisk などでパーティションを拡大
- crypt領域を拡大
- lvm pv を拡大
- lvm vg lv を拡大
- ext4 を拡大
lvm の拡大とext4 の拡大は、よくあるので大丈夫でしょう。
問題は、 cryptdisk の拡大ですね。
他にも dump restore でまるっと新しいものにすることもできるけど、dump 結果の保存場所を考えるとやっぱり ddかなと
SSDの移動
ssd 間で データをコピーする
ubuntu の live usb で起動して
dd status=progress if=/dev/sda of=/dev/sdb bs=1M
gdisk でパーティションを最大にする
今回は、EFI パーティションを含むディスクなので、パーティションは3つ。 1 はEFI互換性システム、2がEFI。3がルートファイルシステムになる。
パーティションを最大にする
takuya@:~$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 1.0.4 Number Start (sector) End (sector) Size Code Name 1 2048 1050623 512.0 MiB EF00 EFI System Partition 2 1050624 2549759 732.0 MiB 8300 3 2549760 69658623 32.0 GiB 8300 Linux filesystem Command (? for help): d Partition number (1-3): 3 Command (? for help): n Partition number (3-128, default 3): First sector (34-234441614, default = 2549760) or {+-}size{KMGTP}: Last sector (2549760-234441614, default = 234441614) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): p Total free space is 2014 sectors (1007.0 KiB) Number Start (sector) End (sector) Size Code Name 1 2048 1050623 512.0 MiB EF00 EFI System Partition 2 1050624 2549759 732.0 MiB 8300 3 2549760 234441614 110.6 GiB 8300 Linux filesystem
暗号化ディスクを最大にする
最初に 暗号化ディスクを解錠して読み込み可能にする。
cryptsetup luksOpen /dev/sdb my_crypt
つぎにリサイズをかける
cryptsetup resize /dev/mapper/my_crypt Enter passphrase for /dev/sda3:
ここまでで、ほぼ完了に近い。
LVM PVでリサイズする
つぎに、lvm で pv を最大にする
pvresize /dev/mapper/my_crypt
確認する。
Before
takuya@:~$ sudo pvs PV VG Fmt Attr PSize PFree /dev/mapper/dm_crypt-0 vg lvm2 a-- 27.92g 0
After
takuya@livaz:~$ sudo pvs PV VG Fmt Attr PSize PFree /dev/mapper/dm_crypt-0 vg lvm2 a-- 110.55g 82.63g
LVM vg/lv を最大にする
このへんはいつもの
takuya@livaz:~$ sudo lvresize -l100%FREE /dev/mapper/vg-lv Size of logical volume vg/lv changed from 27.92 GiB (7148 extents) to 82.63 GiB (21154 extents). Logical volume vg/lv successfully resized. takuya@livaz:~$
ext4 を最大にする
このへんも、いつものオンラインリサイズ
sudo resize2fs /dev/mapper/vg-lv
まとめ
cryptsetup resize
これを覚える
暗号化ディスクをddしてコピーしても大丈夫。 blkid などをちゃんと設定しておくと、ddしたそのままで動く。