こんにちは、UOZUです!
さくらのVPSですが、お手頃な512MBプランを利用されている方も多いかと思いますが、512MBプランでは、標準OSでUbuntuを選択できなくなっています。

これはUbuntu 22.04 amd64 以降、512MBプランではメモリ容量不足により正常にインストールができない事象が発生することがあるためとなります。

という事で、今回512MBプランから、1Gプランへスケールアップをしてみようと思います。
スケールアップ前の事前準備
サーバ停止とカード情報準備が必要
スケールアップですが、「サーバの停止」と、「クレジットカード情報の入力/セキュリティコードの入力」が必要となります。
稼働中のサーバをスケールアップする際は、その時間にサーバが止まって良いかに加え、カード情報が登録出来る状態か、事前に確認をしておきましょう。
サーバ側の事前確認
スケールアップ前に、現在の状況を確認します。対象は石狩リージョンの「ishikari.uozu」、AlmaLinux10で稼働中のサーバとしています。
特にスケールアップは切り戻しが出来ない為、複数のVPSを管理している際は、ホスト名やIPアドレスで対象に間違い無いか、確認をしておきましょう。
[root@ishikari ~]# cat /etc/redhat-release
AlmaLinux release 10.2 (Lavender Lion)
[root@ishikari ~]# uname -n
ishikari.uozu
[root@ishikari ~]# ip -br a
lo UNKNOWN 127.0.0.1/8
ens3 UP 203.0.113.10/23 fe80::8862:aa2d:57ba:910d/64
ens4 UP
ens5 UP
現在のスペックは「512MBプラン、仮想1Core、512MBメモリー、ディスクはSSD/50GB(拡張済み)」となっています。
[root@ishikari ~]# nproc
1
[root@ishikari ~]# free -ht
total used free shared buff/cache available
Mem: 449Mi 108Mi 202Mi 6.2Mi 156Mi 341Mi
Swap: 4.0Gi 0B 4.0Gi
Total: 4.4Gi 108Mi 4.2Gi
[root@ishikari ~]# LANG=C lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 1024M 0 rom
vda 252:0 0 50G 0 disk
|-vda1 252:1 0 1M 0 part
`-vda2 252:2 0 50G 0 part /
[root@ishikari ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/vda2 50G 5.6G 42G 12% /

スケールアップの実施
サーバの停止
クレジットカードを手元に準備できたら、サーバの停止を進めます。
対象サーバの電源操作から、「シャットダウン」を選びます。

シャットダウンの承認画面が出るので、「実行」をクリックし、VPSを停止します。

シャットダウン後、対象サーバからのSSHが切断され、管理画面から「停止中」となったことを確認します。
[root@ishikari ~]# Shared connection to 203.0.113.10 closed.

スケールアップ先と大容量ストレージアップグレード変更オプションの選択
ではそのまま「契約情報」から「スケールアップ」をクリックします。

スケールアップ先の選択画面になるので、変更したいスペックを選びます。

また、「大容量ストレージアップグレード変更オプション」を選ぶことで、初期費用のみでSSDが50GBから100GBに拡張できるので、希望する際は選択しておきます。
問題無ければ、「次へ」をクリックします。

セキュリティコードの入力と最終確認
そのまま料金支払いに利用するクレジットカードのセキュリティコードの入力画面となるので、入力します。

支払金額や約款も確認したら、「同意する」をクリックし、「お支払いを確定する」をクリックします。

その後、「スケール手続きが完了しました」と表示されるので、これでスケールアップの手続きは完了です!

また、スケールアップ手続き完了後、しばらくは「スケールアップ中」「~プランに変更中」となりますので、「停止中」に変わるまで、しばらく待機しましょう。


完了後は、契約情報が「1Gプラン」に変更され、標準OSでUbuntuも選択できるようになりました!


スケールアップ後の確認
では、電源操作からVPSを起動し、SSH接続で再確認していきます。

[root@ishikari ~]# cat /etc/redhat-release
AlmaLinux release 10.2 (Lavender Lion)
[root@ishikari ~]# uname -n
ishikari.uozu
[root@ishikari ~]# ip -br a
lo UNKNOWN 127.0.0.1/8
ens3 UP 203.0.113.10/23 fe80::8862:aa2d:57ba:910d/64
ens4 UP
ens5 UP
[root@ishikari ~]# nproc
2
[root@ishikari ~]# free -ht
total used free shared buff/cache available
Mem: 952Mi 231Mi 739Mi 7.5Mi 110Mi 721Mi
Swap: 4.0Gi 0B 4.0Gi
Total: 4.9Gi 231Mi 4.7Gi
[root@ishikari ~]# LANG=C lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 1024M 0 rom
vda 252:0 0 100G 0 disk
|-vda1 252:1 0 1M 0 part
`-vda2 252:2 0 50G 0 part /
[root@ishikari ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/vda2 50G 5.6G 42G 12% /
SSHで確認する限り、サーバの仮想コア数、メモリ、アタッチされたディスクは反映しているようですが、実際に利用できる領域となる「パーティション/ファイルシステム」は拡張が必要になりそうです。
パーティションとファイルシステムの拡張(ディスク拡張時)
では、マニュアルどおりにパーティションとファイルシステムを拡張していきます。

今回はルートパーティション(/領域)をそのまま拡張していきます。
※記事で見やすいよう、lsblkはLANG=Cをつけています。
gdisk コマンドを EPEL リポジトリからインストール
[root@ishikari ~]# dnf install epel-release
[root@ishikari ~]# dnf install gdisk
ルートパーティションを拡張する
ディスクの状態を確認
[root@ishikari ~]# gdisk -l /dev/vda
GPT fdisk (gdisk) version 1.0.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/vda: 209715200 sectors, 100.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 6CD4BCDF-C177-4332-B65B-C858456ABBB9
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 104857566
Partitions will be aligned on 2048-sector boundaries
Total free space is 4413 sectors (2.2 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 4095 1024.0 KiB EF02 primary
2 4096 104855167 50.0 GiB 8300 primary
[root@ishikari ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/vda2 50G 5.6G 42G 12% /
パーティションを拡張
[root@ishikari ~]# dnf install cloud-utils-growpart
[root@ishikari ~]# growpart /dev/vda 2
CHANGED: partition=2 start=4096 old: size=104851072 end=104855167 new: size=209711071 end=209715166
ファイルシステムをリサイズ
[root@ishikari ~]# LANG=C lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 1024M 0 rom
vda 252:0 0 100G 0 disk
|-vda1 252:1 0 1M 0 part
`-vda2 252:2 0 100G 0 part /
[root@ishikari ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/vda2 50G 5.6G 42G 12% /
[root@ishikari ~]# resize2fs /dev/vda2
resize2fs 1.47.1 (20-May-2024)
Filesystem at /dev/vda2 is mounted on /; on-line resizing required
old_desc_blocks = 7, new_desc_blocks = 13
The filesystem on /dev/vda2 is now 26213883 (4k) blocks long.
[root@ishikari ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/vda2 99G 5.6G 89G 6% /
さいごに
さくらのVPSのスケールアップを試してみましたが、いかがでしょうか。
また繰り返しの注意ですが、さくらのクラウドと違い、一度スケールアップをした後は切り戻しが出来ないため、「作業対象のVPSサーバ」は絶対に間違いが無いようにしましょう。
もしスケールアップ作業の際の参考になれば幸いです。
最後までお読みいただき、ありがとうございます!


