パーティションサイズの拡張

[更新: 2021年9月14日]

さくらのクラウド パーティションサイズの拡張機能についてのページです。

注意

本機能はSSDプラン・標準プランともに8TB/12TBのディスクには非対応となります。パーティション拡張時はgrowpartコマンドなどによるお客様側での操作をお願いいたします。

概要

パーティションサイズの拡張機能は、仮想ディスクのサイズに空き容量が存在する場合、パーティションのサイズをディスクサイズに合わせて拡張を行う機能です。仮想ディスク内に複数のパーティションがある場合は、最後のパーティションのみが拡張されます。

本機能は以下の条件において動作します。(1)および(2)(3)のいずれかの条件に合致している必要があります。

(1)順番が最後のパーティションのファイルシステムが ext2、ext3、ext4 のいずれかであること
(2)パーティションが1つのみ存在するディスクの場合はそのパーティションのファイルシステムが ext2、ext3、ext4 のいずれかであること
(3)仮想ディスクのサイズに空き容量があること

注釈

ディスクサイズに対してdfコマンドで表示される各パーティションの合計割当容量に余裕がある場合でも、swap領域などで既に割り当てされている場合はパーティションサイズ拡張に失敗します。その際はswaponコマンドなどでswap領域の割当量をご確認ください。

画像ファイル

※対象となるディスクがサーバに接続されている場合、サーバの電源を停止状態にする必要があります。

利用手順

ディスクの詳細画面にて「その他のディスクの操作」から「パーティションサイズの拡張」をクリックします。 上記条件に従い、ディスクサイズに合わせてパーティションが拡張されます。

画像ファイル

以下ダイアログで「実行」をクリックします。

画像ファイル

成功すると以下のような表示になります。

画像ファイル

仮想ディスクに空き容量がない場合や、対象のパーティションが非対応のファイルシステムであった場合はエラーとなります。

利用イメージ

本機能の利用イメージを図式化したものが以下の図となります。

画像ファイル

以下のように、サーバを運用していくうちにディスク容量が足りなくなってきた際に、既存のディスクから新しいディスクを作成し、パーティション拡張してサーバに接続することが簡単にできるようになりました。

画像ファイル

参考1: growpartを使用したパーティション拡張

パーティションサイズ拡張機能に対応していない8TB以上のディスクでは、手動でパーティション情報を変更することでパーティション拡張が行えます。ここではLinux環境でよく利用されているパーティション拡張ツールのgrowpartを例に、利用方法を説明します。

growpartのインストール

ツールとなるgrowpartをインストールします。

# yum install cloud-utils-growpart

注釈

パッケージで導入されるgrowpartのバージョンが古い場合、2TBを超える拡張が行われない場合があります(参考: RedHat knowledgebase: cloud-utils-growpart could not growpart over 2TB gpt disk )。その場合はより最新のバージョンをインストール後に実行してください。

ファイルシステムの確認

拡張対象となるファイルシステムのデバイス名を確認します。以下の例ではdfコマンドを使用し、対象となる / パーティションが /dev/vda3 であることを確認した例です。

[root@home01 ~]# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda3        16G  3.3G   12G  22% /

growpartコマンドの実行

拡張したいデバイス名を引数に指定しコマンドを実行します。今回拡張の対象となるのはvda3なので、第1引数にデバイス名の /dev/vda 、第2引数にパーティション番号となる 3 を指定して実行します。

[root@home01 ~]# growpart /dev/vda 3
CHANGED: partition=3 start=8400896 old: size=33542111 end=41943007 new: size=4286566400,end=4294967296

コマンド実行後に一旦リブートを行います。

resize2fsコマンドの実行

growpartで拡張したパーティションに対してresize2fsコマンドを実行します。

[root@home01 ~]# resize2fs /dev/vda3
resize2fs 1.44.6 (5-Mar-2019)
Filesystem at /dev/vda3 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 128
The filesystem on /dev/vda3 is now 535820800 (4k) blocks long.

実行後、dfコマンドなどで該当のパーティションがディスクサイズいっぱいまで拡張されたことを確認します。

参考2: パーティションが作成されていない場合のディスクサイズ拡張

パーティションサイズ拡張機能は少なくとも1つのパーティションが作成されている必要があり、パーティションを作成せずに /dev/sdb などの領域を直接利用している場合は動作させることができません。この場合は resize2fs コマンドを使用することで拡張することが可能です。

コマンド引数に対象ディスクのデバイスを指定し実行します。

[root@home01 ~]# resize2fs /dev/sdb

コマンド実行後、 df コマンドなどを使用し、対象ディスクのサイズが拡張されたことを確認します。

注意

・本情報は参考情報となるため弊社が公式にサポートするものではありません。ご利用のOSやバージョンなどによっては動作しない、または動作が異なる場合があります。
・ファイルシステムの操作のため、作業に失敗するとデータが破損する場合があります。作業前にあらかじめ アーカイブ機能 などによりディスクをバックアップすることを強くおすすめします。
・読み書きなどで動作中のファイルシステムに対して実施した場合、OSが不安定になるなどサーバへの影響が発生する可能性があります。