さくらのクラウドでCore OSのディスク領域を拡張してみる

はじめに

 さくらのクラウドで、CoreOSのディクス領域を拡張した人を発見できなかったので、私がやってみようと思いました。

環境

実験した手順

インスタンス作成

 以下のようにディスクの設定をしてインスタンスの作成をします。
 今回の実験結果を踏まえると、最初から20G以外のディスクのサイズがよかったら、この時点で任意のディスクサイズを設定すればいい気がします。

なにはともあれシャットダウン

 インスタンスが起動している場合は、インスタンスをシャットダウンします。


既存のディスクをコピーして、新しいディスクを作成

 まず、既存のディスクを選択して詳細をクリックします。

 コピーをクリックします。

 ディスクを選択して、次へをクリックします。

 任意のディスクサイズを設定して、作成ををクリックします。

新しいディスクを接続

 ディスクを接続したいインスタンスを選択し、詳細をクリックします。

 現在接続されているディスクを取り外します。




 新しいディスクを接続します。

拡張されたことを確認する

 実は、もう拡張が完了しています。
 インスタンスを起動してdfコマンドを実行してみると、拡張されていることがわかります。

core@core01 ~ $ df -h -T
Filesystem     Type      Size  Used Avail Use% Mounted on
rootfs         rootfs     38G   21M   38G   1% /
devtmpfs       devtmpfs  489M     0  489M   0% /dev
tmpfs          tmpfs     500M     0  500M   0% /dev/shm
tmpfs          tmpfs     500M  224K  499M   1% /run
tmpfs          tmpfs     500M     0  500M   0% /sys/fs/cgroup
/dev/vda9      btrfs      38G   21M   38G   1% /
/dev/vda3      ext4     1008M  288M  670M  31% /usr
tmpfs          tmpfs     500M     0  500M   0% /tmp
tmpfs          tmpfs     500M     0  500M   0% /media
/dev/vda6      ext4      108M   56K   99M   1% /usr/share/oem

 これだけで拡張されていることを、結構不思議に思ったので、起動時のログを確認してみました。
 どうやら、「パーティションを最大まで拡張する」という処理を、インスタンス起動時に行っているようです。
 ログを確認すると以下のようなログが残っていました。

core@core01 ~ $ sudo su -
core01 ~ # journalctl --boot --no-pager
(中略)
Jan 02 14:28:25 core01 systemd[1]: Starting Resize Btrfs Filesystems...
(中略)
Jan 02 14:28:25 core01 resize_btrfs[436]: Resize '/' of '1:max'
(中略)
Jan 02 14:28:25 core01 systemd[1]: Started Resize Btrfs Filesystems.

さいごに

 CoreOS、よくわからないところで便利ですね。