さくらのVPSでストレージ容量増加後にパーティションを拡張する

さくらのVPSでストレージ容量増加後にパーティションを拡張する サーバー

さくらのVPSで「ストレージ変更オプション」を申し込んでストレージ容量を倍増させたり、スケールアップして上位プランに変更した際には、増量した仮想ディスク容量をOSに認識させる作業(ディスク拡張)を行う必要がある。

このディスク拡張作業を行わないと、契約上は利用できる仮想ディスク容量が増加しているのに、OSが認識していないため実際に利用することができない。

その対策として自分でディスク拡張作業を行うことになるのだが、さくらの公式サイトでは、増量した仮想ディスク容量を「新しいパーティションを作成して割り当てる」ための公式マニュアルしか見当たらない。

しかし、通常の運用では「既存のパーティションを拡張する」ことのほうが需要があると思うので、その方法を解説します。

■動作確認環境
CentOS Linux 7.9

プラン変更の内容とその後の認識状況

今回行ったプラン変更(スケールアップ)は以下のとおりです。

  • 「さくらのVPS 512MBプラン(v5)」から「さくらのVPS 1GBプラン(v5)」へ変更
  • 同時に「ストレージ変更オプション」を申し込み、ストレージ(SSD)容量を50GBから100GBに増量

512MBプランを利用していた際も、ストレージ変更オプションを利用していたので、VPSサーバーのスペックは以下のように変更になります。

プラン変更前 プラン変更後
CPU 仮想1Core 仮想2Core
メモリ 512MB 1GB
ストレージ(SSD) 50GB 100GB

コントロールパネルからサーバを停止して「スケールアップ」を申し込み、プランの変更処理が終了した段階で、コンパネの「サーバ情報」ではストレージは「SSD 100GB」となっています。

VPSのスケールアップ後のサーバスペック状況

しかし、サーバを起動してSSH接続して確認してみたところ、CPUとメモリは自動的に新プランのスペックで認識されていましたがストレージの空き容量はそのままです。

というわけで、既存のパーティションを拡張して利用可能な状態にします。

既存のパーティションを拡張する手順

ここからは、冒頭の部分だけ、さくらのVPSの公式マニュアル「さくらのVPS ディスク拡張手順 (標準OS CentOS7.2)」に記載されていた手順を踏襲して行います。

公式のマニュアルに記載された方法以外でパーティションの拡張作業を行いますので、万が一に備えて作業を行う前に重要なデータは全てバックアップしておいてください。

gdiskのインストール

まず、パーティション情報を変更するためにgdiskというパッケージを利用するのでインストールします。

現在のディスクの状況を確認

gdisk -l コマンドで状況確認

「Total free space is 4669 sectors (2.3 MiB)」と表示されているので、フリースペースは2.3MBしか認識されていません。

【2】lsblkコマンドで状況確認

ディスク「vda」は100GBあるのに、パーティション「vda1」~「vda4」の合計が50GBしかありません。

sgdisk -s を実行

sgdiskの「-s」オプションを実行してパーティションの並び替え(ソート)を行います。

再度gdisk -lコマンドで状況を確認します。

「Total free space is 104862269 sectors (50.0 GiB)」と表示されているので、フリースペースが50GBに増えました。

パーティションを拡張

先ほど調べたディスク「/dev/vda」のパーティションの4番(/dev/vda4)を拡張します。

作業の流れとしては、gdiskの対話モードを利用して、一旦パーティションの4番(/dev/vda4)を削除してから、再度スタートセクターが同じでサイズが大きなパーティションの4番(/dev/vda4)を作成しなおすという手順となります。
※「パーティションの削除」⇒「同名の大きなパーティションの作り直し」という処理を行っても、ファイルシステムとスタートセクターが同じであればパーティション内のデータには影響はありません。

gdiskの対話モードを起動

対話モードを起動するとコマンド(Command)を聞いてきますので「p」と入力してEnterキーを押します。(※「p」はパーティションを表示しろという意味です。)

gdiskの対話モード(1)

次に「d」と入力してEnterキーを押します。(※「d」はパーティションを削除しろという意味です。)

gdiskの対話モード(2)

削除するパーティションの番号を聞いてきますので、「4」と入力してEnterキーを押します。

gdiskの対話モード(3)

4番のパーティションが削除されたか確認するために「p」と入力してEnterキーを押します。

gdiskの対話モード(4)

4番のパーティションが削除されたことを確認し、次は「n」と入力してEnterキーを押します。(※「n」はパーティションを新規作成しろという意味です。)

gdiskの対話モード(5)

新規作成するパーティションの番号を聞いてきますので、「4」と入力してEnterキーを押します。

gdiskの対話モード(6)

パーティションの始点であるファーストセクター「First sector」を聞いてきますので、何も入力せずEnterキーを押します。(※何も入力しないとデフォルト値が設定されます。)

gdiskの対話モード(7)

パーティションの終点のラストセクター「Last sector」を聞いてきますので、何も入力せずEnterキーを押します。(※何も入力しないとデフォルト値が設定されます。)

gdiskの対話モード(8)

ファイルシステムの「Hex code」または「GUID」を聞いてきますので何も入力せずEnterキーを押します。(※何も入力しないと現在のCurrent typeである「Linux filesystem」のHex code「8300」が設定されます。)

gdiskの対話モード(9)

パーティションの新規作成が正常に完了したか確認するために「p」と入力してEnterキーを押します。

gdiskの対話モード(10)

サイズ容量が増加した4番のパーティションが新規作成されているのを確認し、「w」と入力してEnterキーを押します。(※「w」は変更したパーティション情報を書き込めという意味です。)

gdiskの対話モード(11)

最終確認をしてきますので、「Y」と入力してEnterキーを押します。

gdiskの対話モード(12)

以上でパーティションの拡張処理は完了です。

gdiskの対話モード(13)

サーバー再起動

ここで一旦サーバーを再起動しましょう。

サーバー再起動が完了したらdfコマンドで確認します。

「/dev/vda4」の容量が増えていません。

パーティションサイズの拡張をOSが認識していないようなので、ファイルシステムの拡張を認識させる必要があります。

ここで、「/dev/vda4」のファイルシステム(上記コマンド結果の『タイプ』の部分)が「ext4」なのか「xfs」なのかにより次の処理が変わります。

ファイルシステムの拡張

「/dev/vda4」のファイルシステムが「ext4」の場合はresize2fsを実行

パーティションの拡張を、resize2fsコマンドを実行して認識させます。
※「/dev/vda4」のファイルシステムが「ext4」の場合はresize2fsコマンドを利用します。

「/dev/vda4」のファイルシステムが「xfs」の場合はxfs_growfsを実行

パーティションの拡張を、xfs_growfsコマンドを実行して認識させます。
※「/dev/vda4」のファイルシステムが「xfs」の場合はxfs_growfsコマンドを利用します。)

ファイルシステムの拡張を確認

もう一度dfコマンドで確認します。

「/dev/vda4」の容量が増えました。

これで、「さくらのVPSで増量した仮想ディスク容量を既存のパーティションを拡張してOSに認識させる作業」は完了です。

最後に念のためにもう一度サーバーの再起動をしておきましょう。

備考【SSHのログ】

■その1(1度目の再起動まで)
※色が変わっている所が入力項目です。

■その2(最後の再起動まで)
※「/dev/vda4」のファイルシステムが「ext4」の場合です。(ファイルシステムが「xfs」の場合は、resize2fsコマンドが xfs_growfsコマンドに変更になります。)

まとめ

さくらのVPSで「ストレージ変更オプション」を申し込んだり、スケールアップして上位プランに変更した際には、増量した仮想ディスク容量をOSに認識させる作業が必須。

その際に新しいパーティションを作成して利用するより、既存のパーティションを拡張したほうが何かと便利。

gdiskコマンドとresize2fsコマンドを利用して既存のパーティションを拡張しましょう。

以上で解決です。

タイトルとURLをコピーしました