初めまして。
ネットアシスト MSP事業部 運用チームに所属しているkuuです。
これからさくらクラウドラボで、さくらのクラウドに関する検証記事を投稿していきます。
よろしくお願いします!
サーバーを運用していると、ログやアップロードファイル、アプリケーションデータなどが増え、
ディスク容量が不足してくることがあります。
今回は、さくらのクラウドで既存ディスクの内容を保持したまま、
より大きな容量のディスクへ移行する手順を紹介します。
公式マニュアルについては下記をご確認ください。
なお、さくらのクラウドでは現在使用中のディスクをその場で直接大きくするのではなく、
拡張後のサイズで新しいディスクを作成し、既存ディスクの内容をコピーしてから付け替える流れになります。
ディスクの追加は下記をご確認ください。

現在のディスク状態を確認する
まずは現状のサーバーを確認していきましょう。
今回は、さくらのクラウド 石狩第3ゾーンに作成した検証用サーバーで作業します。
[root@disk-test ~]# usacloud server read disk-test --query '[].{Host:HostName,IP:Interfaces[0].IPAddress,ServerID:ID,Disk:Disks[].{ID:ID,SizeMB:SizeMB}}'
[
{
"Disk": [
{
"ID": 113801428181,
"SizeMB": 20480
},
{
"ID": 113801428324,
"SizeMB": 20480
}
],
"Host": "disk-test",
"IP": "サーバーのIPアドレス",
"ServerID": 113801428179
}
]
[root@disk-test ~]#
対象サーバーには、20GBのディスクが2本接続されていることが確認できました。

続いて、OS上でディスク使用量を確認します。
[root@disk-test ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda2 ext4 20G 17G 1.7G 92% /
devtmpfs devtmpfs 457M 0 457M 0% /dev
tmpfs tmpfs 478M 0 478M 0% /dev/shm
tmpfs tmpfs 191M 3.6M 188M 2% /run
tmpfs tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-journald.service
tmpfs tmpfs 96M 4.0K 96M 1% /run/user/0
tmpfs tmpfs 1.0M 0 1.0M 0% /run/credentials/getty@tty1.service
/dev/vdb1 ext4 20G 17G 2.6G 87% /data
[root@disk-test ~]#
今回は、OSが入っているルート領域の使用率が92%まで上がっているため、
ルート領域が含まれるディスクを20GBから40GBへ拡張していきます。
さくらのクラウドでは1台のサーバーに接続できるディスク数に上限があります。
ディスクを追加する方法もありますが、今回は既存ディスクの内容を保持したまま容量を拡張する手順で対応します。
ディスク拡張前の注意点
さくらのクラウドのディスク拡張は、現在使用しているディスクをその場で直接大きくするのではなく、
拡張後のサイズで新しいディスクを作成し、既存ディスクの内容をコピーする流れになります。
また、ディスク拡張作業にはサーバーの停止が必要です。
本番環境で実施する場合は、サービス影響の少ない時間帯で作業することをおすすめします。
サーバーを停止してディスクを拡張する
サーバーを停止する前に、後続のパーティション拡張作業で必要となる
対象ディスクのファイルシステムとマウント先を確認しておきます。
[root@disk-test ~]# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sr0
vda
tqvda1
mqvda2 ext4 1.0 381c0f82-d710-400c-91fc-a66fc6f5733b 1.7G 86% /
vdb
mqvdb1 ext4 1.0 750a8c57-a0cf-450f-8a4c-57e6d3b41a61 2.5G 82% /data
[root@disk-test ~]#
次に対象サーバーをシャットダウンします。

シャットダウンを行ったらディスクの拡張を行っていきます。

ディスク選択で拡張を行いたいディスクを選択し、希望するディスクのサイズも選択していきます。

ディスク名は、拡張後の容量が分かるように disk-test 40GB としました。
ディスク作成の際にディスクの暗号化というものがあります。
自動バックアップを行っているディスクの場合はチェックをしないでおきましょう。


ディスク選択欄には、次の注意書きがあります。
4TBより大きいサイズのディスクはコピーできません
【完了までの目安時間】2TB: 約6時間, 4TB: 約12時間

今回は 20GB から 40GB への拡張だったため、そこまで時間はかかりませんでしたが、
容量が大きい場合はその分コピーに時間がかかります。
ディスクの作成が完了し、拡張後のディスクが追加されていることを確認できました。

パーティションを拡張する
先ほど lsblk や df コマンドで確認したとおり、今回拡張する対象のファイルシステムは ext4 です。
[root@disk-test ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda2 ext4 20G 17G 1.7G 92% /
↑
コントロールパネルからパーティション拡張を実行し、拡張後のディスクサイズを OS 側でも利用できるようにします。


確認画面で内容を確認し、問題なければ[実行]をクリックします。

パーティション拡張はすぐに終わりました。
拡張後のディスクに付け替える
パーティションの拡張が終わったらサーバーのディスクを付け替えていきます。
ブートディスクを拡張する場合の注意点
今回拡張したディスクは、OSが起動するブートディスクです。
ブートディスクを付け替える場合は、拡張後のディスクが起動ディスクとして認識されるように、
接続順に注意する必要があります。

そのため一度すべてのディスクを外し、拡張後のブートディスクを一番上に接続しました。

ディスクの接続を行ったらサーバーを起動しましょう。
起動後に容量を確認する
サーバーが起動したら、OS上でディスク容量を確認します。
[root@disk-test ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda2 ext4 40G 17G 21G 46% /
devtmpfs devtmpfs 457M 0 457M 0% /dev
tmpfs tmpfs 478M 0 478M 0% /dev/shm
tmpfs tmpfs 191M 3.6M 188M 2% /run
tmpfs tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-journald.service
/dev/vdb1 ext4 20G 17G 2.6G 87% /data
tmpfs tmpfs 1.0M 0 1.0M 0% /run/credentials/getty@tty1.service
tmpfs tmpfs 96M 4.0K 96M 1% /run/user/0
[root@disk-test ~]#
ルート領域が40Gに拡張され、使用率も46%まで低下していることが確認できます。
usacloudでも確認をしていきます。
[root@disk-test ~]# usacloud server read disk-test --query '[].{Host:HostName,IP:Interfaces[0].IPAddress,ServerID:ID,Disk:Disks[].{ID:ID,SizeMB:SizeMB}}'
[
{
"Disk": [
{
"ID": 113801428480,
"SizeMB": 40960
},
{
"ID": 113801428324,
"SizeMB": 20480
}
],
"Host": "disk-test",
"IP": "サーバーのIPアドレス",
"ServerID": 113801428179
}
]
[root@disk-test ~]#
リソースID及びサイズが変更されたことが確認できます。
古いディスクを削除する
拡張後のディスクで正常に起動し、サービスの動作にも問題がないことを確認できたら、古いディスクを削除します。
切り戻しが必要になる可能性もあるため、作業直後に問題がないことを確認してから削除するようにします。

これでディスクの拡張については終了になります。
おわりに
今回は、さくらのクラウドでディスク容量を拡張する手順を紹介しました。
ディスク容量不足は、ログの書き込み失敗やサービスへの影響につながる可能性があるため、日頃から使用量を確認しておくことが大切です。
ネットアシストでは、サーバーの監視や保守、ディスク容量不足時の調査・対応も行っています。
さくらのクラウドの運用でお困りの際は、ぜひお気軽にご相談ください。



