ディスクのボリュームを動的に変更する。
ハードディスクやSSDのサイズを動的に変えるには、いちいちリカバリーモードで起動するとか、ReadOnlyで起動するとか、ライブCDで起動するかそういう事が必要だと思ってた。
むしろ思い込んでいた。
LVMでリサイズして遊んでて、あれ、もしかしてマウントしたままリサイズできるんじゃね?とおもって試してた。
/ root をマウントした状態でリサイズを命令しったった
まいかい、mount を外してたけど、あそんでてコマンドミスって、あ、、、やらかしたともったら、そのままリサイズされて完了した。
takuya@:/$ sudo lvextend --resizefs --size +10G /dev/mapper/my-root Size of logical volume my/root changed from 40.00 GiB (10240 extents) to 50.00 GiB (12800 extents). Logical volume my/root successfully resized. resize2fs 1.43.4 (31-Jan-2017) Filesystem at /dev/mapper/my-root is mounted on /; on-line resizing required old_desc_blocks = 3, new_desc_blocks = 4 The filesystem on /dev/mapper/my-root is now 13107200 (4k) blocks long.
え、うそ。実行完了されちゃった。 VGには100GBほど空き容量がある状態です。10GBは確保できるのですが、実行できるんだ。。。
結果を見てみる。
あ、、、ほんとに増えてる。
takuya@:/$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/mapper/my-root 50G 17G 31G 35% /
LVS のビフォー・アフターも比較してみる。
ビフォーアフターの状態がこれ。
before
takuya@:~$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root my -wi-ao---- 40.00g
after
takuya@:/$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root my -wi-ao---- 50.00g
もうLVMでいいじゃん。
ファイルシステムやmapperにはアレコレあるけど容量の管理は もうLVM で十分な気がしました