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したそのままで動く。