こんにちは。NERです!
今回は、さくらのクラウドでディスクを「追加」してみようと思います。
実際にやってみた流れでポイントも簡単ではありますが書いていきます。
サーバは長期間運用するケースも多々あるかと思います。
コンテンツが増え、当初の設計や想定以上に保存データが増えると、ディスク容量が不足してしまいます。
使用率が100%になると、新たなデータの書き込みができなくなったり、稼働中のサービスに影響が出たりしてしまう可能性があります。
「拡張」については、弊社でもご依頼をいただくことが多い作業です。
こちらはマニュアルも整備されていて、コントロールパネルからのシンプルな対応が中心になります。
また別の機会に、実際にやってみてまとめようと思います!
拡張と追加について
拡張か追加か、どちらが良いかは用途によります。
拡張で単純に増やしたいか、追加してデータを移したり整理したりしたいか、といったところでしょうか。
違いについては、基本的に言葉の意味の通りです。
拡張
例えばですが、100GBのディスクを200GBにすることです。
ただし、現在使用しているディスクをそのまま拡張することはできません。
イメージとしては、「現在使用しているディスクよりサイズの大きいディスクを用意すると同時に、データをコピー」して、「現在使用しているディスクと付け替え」をします。
追加
例えばですが、100GBのディスクとは別で、もう1つ100GBのディスクを付けることです。
fstab やマウントの設定が必要になるので、対応としては少しレベルが上がるかなと思います。
また、サーバへのディスクの追加は3個までとなっています。
ディスクの接続や取り外しはサーバがシャットダウン状態の場合のみ行えます。また、1台のサーバに接続可能なディスクは最大3台となります。
実際にディスクを追加してみる
それでは、実際にディスクを追加してみましょう。
まずは、さくらのクラウド管理画面から、追加するディスクを作成します。
画面右上の [+ 追加] をクリックし、追加するディスクについて選択・記入をします。
選択・記入ができたら画面下部の [+ 追加] をクリックすると、ディスクが作成されます。


ディスク一覧に戻り、追加用のディスクが作成されたことを確認します。
無事に作成されていますね。

当たり前ですが、今はまだ作成しただけなので、対象サーバに接続されていません。
サーバ詳細から確認をしても、既存のディスクのみが接続されている状態です。

では、追加用のディスクを対象サーバに接続していきましょう。
まずは、サーバの停止が必要です。
その前に、確認しておくべきポイントがいくつかあります。
接続後にサーバ内で適切な対応をするために、作業前の状態を確認しておきます。
[root@test-sever ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs 732M 16M 717M 3% /run
/dev/vda2 99G 7.4G 86G 8% /
tmpfs 366M 4.0K 366M 1% /run/user/1000
[root@test-sever ~]# fdisk -l
ディスク /dev/vda: 100 GiB, 107374182400 バイト, 209715200 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 692C5559-EDBB-4279-B416-03BA2D60DF9A
デバイス 開始位置 終了位置 セクタ サイズ タイプ
/dev/vda1 2048 4095 2048 1M BIOS 起動
/dev/vda2 4096 209715166 209711071 100G Linux ファイルシステム
[root@test-sever ~]# blkid
/dev/vda2: UUID="758e75bc-1481-4554-a53d-4efd0634283f" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="0e0b8cbb-5788-480d-86ed-a442d9f11197"
/dev/vda1: PARTLABEL="BIOS boot partition" PARTUUID="5c9e5cd3-bdbc-4329-bd73-905ff382a55b"
[root@test-sever ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Jan 6 02:09:55 2025
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=758e75bc-1481-4554-a53d-4efd0634283f / ext4 defaults 1 1
/swap swap swap defaults 0 0
確認ができたら、サーバを停止します。
サーバの停止と起動についての流れは、以下をご確認ください。
収容サーバ/アプライアンスの収容ホスト変更メンテナンス?サービス影響を考慮したサーバの停止・起動対応について
サーバの停止が確認できたので、追加用ディスクを接続します。
サーバ詳細のディスクより、[+ 接続] をクリックします。
接続したい、接続可能なディスクから、対象のディスクを選択します。
選択したら、[更新] をクリックすると、接続されます。

ディスク一覧で、無事に追加用のディスクが接続できたことを確認しましょう。

無事に接続されましたね。
追加用のディスクが接続された後の状態を、ディスク一覧からも確認します。

こちらも問題なさそうですね。
続いて、サーバを起動させます。
サーバが無事に起動できたら、サーバ内での作業を進めていきます。
追加しただけなので、df コマンドでは確認ができませんが、fdisk コマンドで「ディスク /dev/vdb」が追加されていることは確認できます。
[root@test-sever ~]# fdisk -l
ディスク /dev/vda: 100 GiB, 107374182400 バイト, 209715200 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 692C5559-EDBB-4279-B416-03BA2D60DF9A
デバイス 開始位置 終了位置 セクタ サイズ タイプ
/dev/vda1 2048 4095 2048 1M BIOS 起動
/dev/vda2 4096 209715166 209711071 100G Linux ファイルシステム
ディスク /dev/vdb: 20 GiB, 21474836480 バイト, 41943040 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
/dev/vdb を Linux で読み書きが可能なファイルシステムへフォーマットを行い、マウント可能な状態にしていきます。
[root@test-sever ~]# mkfs.ext4 /dev/vdb
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 5242880 4k blocks and 1310720 inodes
Filesystem UUID: 403c2239-4240-4960-934a-581ce376c1ec
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@rwatanabe-almalinux9 ~]# blkid
/dev/vda2: UUID="758e75bc-1481-4554-a53d-4efd0634283f" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="0e0b8cbb-5788-480d-86ed-a442d9f11197"
/dev/vdb: UUID="403c2239-4240-4960-934a-581ce376c1ec" TYPE="ext4"
/dev/vda1: PARTLABEL="BIOS boot partition" PARTUUID="5c9e5cd3-bdbc-4329-bd73-905ff382a55b"
/etc/fstab に自動マウント設定を追記します。
記述する UUID は、上記で確認した通りです。
ここは間違えないように注意が必要です。
また、何かあったときにすぐに切り戻しができるように、設定ファイルはバックアップを取っておくことをおすすめします。
[root@test-sever ~]# vi /etc/fstab
[root@test-sever ~]#
[root@test-sever ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Jan 6 02:09:55 2025
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=758e75bc-1481-4554-a53d-4efd0634283f / ext4 defaults 1 1
UUID=403c2239-4240-4960-934a-581ce376c1ec /data/ ext4 defaults 0 0
/swap swap swap defaults 0 0
/data というディレクトリを作成し、マウントポイントとします。
[root@test-sever ~]# mkdir /data
[root@test-sever ~]#
マウントをします。
[root@test-sever ~]# mount -a
[root@test-sever ~]#
無事にマウントされ、df コマンドでも確認ができました。
「cat /proc/mounts」でも確認しておくとより良いかと思います。
[root@test-sever ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs 732M 8.5M 724M 2% /run
/dev/vda2 99G 7.4G 86G 8% /
tmpfs 366M 4.0K 366M 1% /run/user/1000
/dev/vdb 20G 24K 19G 1% /data
これで、ディスクの追加とそれに伴うサーバ内での対応が完了となります。
ちなみに、サーバの停止をしないでディスクの接続や取り外しを行おうとすると、エラーが表示されます。

おわりに
改めて、今回はさくらのクラウドでディスクの追加をする流れを書いてきましたが、いかがだったでしょうか。
弊社のサーバ監視保守サービスではディスク使用量の監視もしているので、アラートを検知した場合は、どの領域のどのディレクトリで使用量が多いか確認します!
お客様で整理しきれない場合、ご依頼をいただきディスクの拡張や追加といった作業を実施します。
サーバの停止が必要な作業ですので、サービス影響の少ない夜間帯での作業も可能です!
弊社エンジニアが丁寧に対応させていただきますので、気になる方はぜひお問い合わせください。
それでは、また!


