パーティションサイズの拡張¶
[更新: 2024年7月26日]
さくらのクラウド パーティションサイズの拡張機能についてのページです。
注意
本機能は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が不安定になるなどサーバへの影響が発生する可能性があります。