ディスクの容量を拡張した後、パーティションとファイルシステムを拡張して追加領域を利用可能にする必要があります。ディスクは縮小できないため、ストレージのニーズを慎重に計画してください。
サイズ変更の概要
ディスクのサイズ変更には、主に 2 つの手順があります。
Elastic Compute Service (ECS) コンソールでディスクの追加ストレージを購入します。これは、より大きなハードドライブを購入したものの、まだインストールしていない状態に似ています。支払いが完了しても、サイズ変更プロセスは完了していません。
インスタンスのオペレーティングシステムで新しい領域を利用可能にします。これは、ハードドライブの新しい領域をフォーマットして、システムがそれを認識して使用できるようにすることに似ています。
ステップ 1: ディスク容量の拡張
前提条件
次のいずれかの条件が満たされていることを確認してください。
ディスクがアタッチされている ECS インスタンスは、有効期限が切れておらず、実行中 または 停止済み の状態である必要があります。
ディスクはアタッチ待ち 状態です。
操作手順
ECS コンソール - ブロックストレージに移動します。上部メニューで、対象のリージョンとリソースグループを選択します。
サイズ変更するディスクを探し、操作 列の ディスクの拡張 をクリックします。
サイズ変更の前に、ディスクのスナップショットを作成してデータをバックアップすることを強く推奨します。これにより、操作エラーによるデータ損失を防ぐことができます。ターゲットディスクと注意事項を確認する ページで、ディスク情報を確認し、[スナップショットの作成] をクリックし、スナップショットの名前と保持期間を設定してから、[確認] をクリックします。
重要スナップショットの使用には料金が発生します。

スケーリング対応 列に 対応 が表示されたら、リスク承知で続行 (バックアップ済み) をクリックします。
スナップショットの作成にかかる時間は、ディスクのデータ量や利用可能な帯域幅などの要因によって異なりますが、ECS コンソールのスナップショット ページで、進行 列で作成状況を確認できます。
変更方法とサイズを設定する ウィザードで、パラメーターを設定し、料金を確認してから、[OK] をクリックします。
重要ディスクのサイズ変更を行うと、追加容量に対して課金されます。
パラメータ
説明
[拡張後の容量]
新しい容量は、現在の容量より小さくすることはできません。
[サイズ変更方法]
[オンラインサイズ変更] (推奨):ディスクの容量を拡張した後、インスタンスを再起動する必要はありません。新しい容量は即座に有効になります。
[オフラインサイズ変更]: ディスクが アタッチ待ち 状態である場合、インスタンスが 停止済み 状態である場合、またはオフラインでのサイズ変更のみをサポートする 特定のインスタンスタイプ を使用している場合に、この方法を使用します。
(条件付き) サブスクリプションディスクの場合、支払いポップアップウィンドウの 5 秒のカウントダウンが終了したら、支払いへ をクリックし、支払いを完了します。支払いが完了したら、サイズ変更ワークフローに戻り、支払い完了 をクリックします。
支払いを完了する前に 支払い完了 をクリックすると、サイズ変更プロセスが停止します。注文の支払い をクリックして支払いを完了し、サイズ変更ワークフローに戻る必要があります。
ステップ 2: パーティションとファイルシステムの拡張
前提条件
ディスクがアタッチ待ち 状態の場合、ECS インスタンスにアタッチする必要があります。
前の手順でオフラインリサイズを使用してディスク容量を拡張し、ディスクが ECS インスタンスにアタッチされている場合、インスタンスを再起動または起動する必要があります。
データディスクにファイルシステムが作成されていない場合は、データディスクの初期化の手順に従ってください。
操作手順
ディスクの容量を拡張した後、新しい領域を使用するには、パーティションとファイルシステムを拡張する必要があります。Alibaba Cloud では、2 つの方法を提供しています。
コンソールを使用した拡張 (推奨):Cloud Assistant を使用して、コンソールからパーティションとファイルシステムを拡張します。この方法は便利で、手動でコマンドを実行する必要がありません。
コマンドラインを使用した拡張:インスタンスにログオンし、手動でコマンドを実行してパーティションとファイルシステムを拡張します。この方法は柔軟性が高く、幅広く適用できます。
コンソールを使用した拡張 (推奨)
誤ってこのページを閉じた場合は、インスタンス詳細ページの [ブロックストレージ] タブから操作ページに戻ることができます。
[未割り当て] セクションで、[最後のパーティションとファイルシステムをスケールアウト] をクリックします。
Cloud Assistant に権限を付与していない場合は、プロンプトが表示されたら権限を付与する必要があります。
ページにメッセージ [Cloud Assistant のクエリまたは実行に失敗しました] または [インスタンスの OS バージョンはサポートされていません] が表示された場合は、コマンドラインを使用してディスクを拡張する必要があります。

Cloud Assistant を使用してパーティションとファイルシステムを拡張する ダイアログボックスで、[今すぐ実行] をクリックします。「Cloud Assistant によるパーティションとファイルシステムの拡張が成功しました」というメッセージが表示されると、拡張は完了です。閉じる をクリックします。
重要続行する前に、コマンドが正しいことを確認して、拡張の失敗を防いでください。
CLI を使用した拡張
パーティションの拡張
インスタンス詳細ページで OS バージョンを確認してください。CentOS 6 以前、OpenSUSE 42.3、Debian 8 以前の場合は、パーティションとファイルシステムをオフラインで拡張する必要があります。
ECS インスタンスにログオンします。
ECS コンソール - インスタンスに移動します。上部メニューで、対象のリージョンとリソースグループを選択します。
対象のインスタンスの詳細ページに移動します。 右上隅で接続をクリックし、ワークベンチ を選択します。 プロンプトに従ってインスタンスにログインして、ターミナルを開きます。
パーティションを拡張します。
sudo lsblkを実行して、サイズ変更するディスクのデバイス名とパーティション番号を確認します。$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 50G 0 disk ├─vda1 253:1 0 2M 0 part ├─vda2 253:2 0 200M 0 part /boot/efi └─vda3 253:3 0 39.8G 0 part / vdb 253:16 0 40G 0 disk /dataサイズ変更対象のディスクにパーティションがない場合は、直接ファイルシステムをリサイズできます。この例では、データディスク
vdbにはパーティションがないため、パーティションをリサイズする必要はありません。サイズ変更するディスクの容量がパーティションの合計容量より大きい場合は、パーティションのサイズを変更する必要があります。 この例では、システムディスク
vdaは容量が 50 GiB で、3 つのパーティションが含まれています。 パーティションの合計容量は 40 GiB で、最後のパーティションであるvda3のサイズを変更する必要があります。重要ディスク上の最後のパーティションのみを拡張できます。
次の表は、一般的なデバイスの命名規則とパーティション形式を示しています。
sudo lsblk コマンドの出力が vgx 形式で表示される場合、これはディスクパーティションが Logical Volume Manager (LVM) によって管理されていることを示しています。コンソールでディスク容量を拡張した後、LVM を使用して論理ボリュームを拡張する必要があります。
デバイスタイプ
デバイス名
パーティション番号
NVMe プロトコルを使用しないディスク
形式は
vd[a-z]で、vda(システムディスク)、vdb、vdcなどです。形式は
vd[a-z]<partition number>です。たとえば、vda3では、パーティション番号は 3 です。NVMe 準拠ディスク
フォーマットは
nvmeXn1で、nvme0n1、nvme1n1、nvme2n1などです。フォーマットは
nvmeXn1p<パーティション番号>です。たとえば、nvme0n1p1では、パーティション番号は 1 です。
拡張ツールをインストールします。
Alibaba Cloud Linux および CentOS
type growpart || sudo yum install -y cloud-utils-growpart sudo yum update cloud-utils-growpart type sgdisk || sudo yum install -y gdiskDebian および Ubuntu
sudo apt-get update sudo apt-get install -y cloud-guest-utils type sgdisk || sudo apt-get install -y gdiskコマンドを実行してパーティションを拡張します。
コマンド内の
<device name>と<partition number>を、手順 a で取得したデバイス名とパーティション番号に置き換えてから、コマンドを実行します。重要デバイス名とパーティション番号の間にスペースがあることを確認してください。
sudo LC_ALL=en_US.UTF-8 growpart /dev/<DeviceName> <PartitionNumber>レスポンス内のキーワード
CHANGEDは、コマンドが正常に実行されたことを示します。 コマンドが失敗した場合は、「パーティション拡張の一般的な問題」を参照して、問題のトラブルシューティングと解決を行ってください。コマンドでは、
LC_ALL=en_US.UTF-8は、中国語システムのエンコーディングを処理するための環境変数です。
パーティションの拡張を確認します。
sudo lsblkコマンドを実行します。パーティションの合計サイズがデバイスの容量と等しい場合、パーティションは正常にリサイズされています。この例では、デバイスvdaの容量とパーティションの合計サイズはどちらも 50 GiB です。その後、追加された領域を使用可能にするには、ファイルシステムをリサイズする必要があります。$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 50G 0 disk ├─vda1 253:1 0 2M 0 part ├─vda2 253:2 0 200M 0 part /boot/efi └─vda3 253:3 0 49.8G 0 part / vdb 253:16 0 40G 0 disk /data
ファイルシステムの拡張
コマンド
sudo lsblk -fを実行し、ファイルシステムのサイズ変更時に使用するために、サイズ変更するディスクのターゲットデバイス名、ファイルシステムタイプ、マウントディレクトリを記録します。$ sudo lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT vda ├─vda1 ├─vda2 vfat 7938-FA03 /boot/efi └─vda3 ext4 root 33b46ac5-7482-4aa5-8de0-60ab4c3a4c78 / vdb ext4 3d7a3861-da22-484e-bbf4-b09375894b4f /dataデバイスにパーティションがある場合、[ターゲットデバイス名] は最後のパーティションの名前です。この例では、システムディスク
vdaの場合、[ターゲットデバイス名] はvda3、[ファイルシステムタイプ] はext4、[マウントディレクトリ] は/です。デバイスにパーティションがない場合、[ターゲットデバイス名] はデバイス名と同じです。 たとえば、データディスク
vdbの場合、[ターゲットデバイス名] はvdb、[ファイルシステムタイプ] はext4、[マウントディレクトリ] は/dataです。
ファイルシステムを拡張します。
ファイルシステムが拡張されたことを確認します。
sudo df -Thコマンドを実行して、ファイルシステムのサイズ (出力のSizeフィールドの値) がディスク容量と一致することを確認します。ファイルシステムの作成時に、メタデータを保存するために一部の容量が予約されます。そのため、ファイルシステムサイズは、コンソールに表示される容量よりもわずかに小さくなる場合があります。
課金
ディスクのサイズ変更を行うと、追加容量に対して課金されます。追加容量の課金方法は、元のディスクと同じです。
サブスクリプションディスク:サブスクリプションディスクのサイズを変更すると、新しい容量に対して即座に課金されます。残りのサブスクリプション期間について、古い容量と新しい容量の差額を支払う必要があります。
差額 = (月額料金 / 30日) × 残り期間 × 追加容量。
残り期間は日数単位で計算され、秒単位まで正確です。
従量課金ディスク:従量課金ディスクのサイズを変更すると、新しい容量に基づいて課金されます。料金は 1 時間ごとに計算されます。現在の時間帯の請求は、次の時間帯に作成されます。
ストレージ容量ユニット (SCU) を購入している場合、従量課金ディスクの請求額が自動的に相殺されます。詳細については、「ブロックストレージの課金」をご参照ください。
よくある質問
FAQ: ディスク容量の拡張
新しい容量が有効にならないのはなぜですか?
ディスクの容量を拡張した後、OS は新しい容量を自動的に検出できません。追加容量を使用可能にするには、パーティションとファイルシステムをそれぞれのタイプに基づいて手動で拡張する必要があります。
API を使用してディスクのサイズを変更する方法は?
容量を拡張する前に、CreateSnapshot API を呼び出してディスクのスナップショットを作成し、操作ミスによるデータ損失を防ぐことを強く推奨します。
スナップショットの使用にはスナップショット料金が発生します。
スナップショットが作成されたら、ResizeDisk API を呼び出してディスク容量を拡張します。
ディスク容量を拡張した後、パーティションとファイルシステムを拡張する必要があります。
RunCommand API を呼び出して、対象インスタンスにコマンドを送信します (CLI を使用した拡張のコマンドを参照)。次に、DescribeInvocations API を呼び出してコマンド出力を照会し、パーティションとファイルシステムの拡張を確認します。
[リスクを理解し、データをバックアップしました。続行します。] がグレー表示されて選択できません。どうすればよいですか?
ディスクのスナップショットが作成中かどうかを確認してください。スナップショットの作成中はディスクのサイズを変更できません。スナップショットの作成が完了してから、ディスクのサイズを変更してください。
再起動せずにオフラインリサイズを行った後はどうすればよいですか?
オフラインリサイズを有効にするには、インスタンスの再起動が必要です。業務上の理由で再起動が許可されていないものの、すでにオフラインリサイズを選択している場合は、1 GiB のオンラインリサイズを実行して、追加容量と以前のオフラインリサイズ容量の両方をオンラインで有効にすることができます。この操作は二次リサイズであり、追加料金が発生します。ビジネス要件に基づいて慎重に実行してください。
オフラインリサイズのみをサポートするインスタンスタイプは?
ecs.ebmc4.8xlarge
ecs.ebmhfg5.2xlarge
ecs.ebmg5.24xlarge
ecs.t1
ecs.s1
ecs.s2
ecs.s3
ecs.c1
ecs.c2
ecs.m1
ecs.m2
Cloud Assistant 拡張ページに戻る方法は?
この機能は招待制プレビュー段階です。特定のシナリオの一部のお客様のみが、Cloud Assistant 検出機能を表示および有効にして、拡張ページに戻ることができます。
インスタンス詳細ページの ブロックストレージ タブで、Cloud Assistant 検出機能を有効化します。
クラウドアシスタントチェック機能 が利用できない場合は、CLI を使用してディスクを拡張してください。

対象ディスクの システム内ステータス検出 列にある [2/3 のチェックに合格] をクリックし、変更結果を確認する をクリックしてページに戻ります。
新しいパーティション容量が有効にならないのはなぜですか?
sudo lsblkを実行し、Size フィールドを確認してください。パーティションサイズがデバイスサイズと一致しない場合、サイズ変更が有効になっていません。パーティションのサイズ変更は通常、再起動を必要としません。パーティションのサイズ変更が有効になっていない場合は、古いオペレーティングシステムバージョンが原因である可能性があります。変更を有効にするには、インスタンスを再起動する必要があります。
FAQ: パーティションの拡張
growpart のエラー:
no tools available to resize disk with 'gpt'オペレーティングシステムには
gdiskツールがインストールされていません。GPT パーティションのサイズを変更するには、お使いのオペレーティングシステムのタイプに基づいて gdisk ツールをインストールする必要があります。CentOS および類似のディストリビューション
type sgdisk || sudo yum install -y gdiskDebian、Ubuntu、および類似のディストリビューション
sudo apt-get update type sgdisk || sudo apt-get install -y gdisk
growpart のエラー:
command not foundオペレーティングシステムに
growpartツールがインストールされていません。お使いのオペレーティングシステムのタイプに応じて次のコマンドを実行し、growpartツールをインストールしてください (GPT パーティションを拡張するには、gdiskツールも必要です)。CentOS および類似のディストリビューション
type growpart || sudo yum install -y cloud-utils-growpart sudo yum update cloud-utils-growpart type sgdisk || sudo yum install -y gdiskDebian、Ubuntu、および類似のディストリビューション
sudo apt-get update sudo apt-get install -y cloud-guest-utils type sgdisk || sudo apt-get install -y gdisk
growpart コマンドを実行してパーティションを拡張するときにエラーが報告されます:
unexpected output in sfdisk --version [sfdisk, from util-linux 2.23.2]。原因:中国語版のオペレーティングシステムが、
en_US.UTF-8以外の文字エンコーディングタイプを使用しています。解決策:
localeコマンドを実行して、ECS インスタンスの文字エンコーディングを確認します。en_US.UTF-8 でない場合は、en_US.UTF-8に変更してください。次のコマンドを実行して、文字エンコーディングタイプを切り替えます。
export LANG=en_US.UTF-8問題が解決しない場合は、次のコマンドを実行して文字エンコーディングタイプを切り替えます。
export LC_ALL=en_US.UTF-8
問題が解決しない場合は、
rebootコマンドを実行して ECS インスタンスを再起動してみてください。
重要文字エンコーディングを切り替えてパーティションの拡張に成功した後、必要に応じて元の文字エンコーディングに戻すことができます。
growpartコマンドを実行してパーティションを拡張すると、エラーmkdir: cannot create directory ... No space left on deviceが発生します。ディスクに一時ディレクトリを作成するための十分な領域がありません。不要なファイルを削除してから、パーティションを拡張してください。
growpart コマンドを実行してパーティションを拡張すると、次のエラーが返されます
unexpected output in sfdisk --version [sfdisk (util-linux-ng 2.17.2)]。fdisk バージョンが growpart バージョンと互換性がありません。growpart バージョンを 0.27 にダウングレードしてください。
growpart コマンドがエラー
FAILED: unable to determine partition typeを返します。ディスクはパーティション分割されていません。パーティションを拡張する必要はありません。直接ファイルシステムを拡張できます。
growpart コマンドを実行してパーティションを拡張すると、次のメッセージが表示されます
WARNING: MBR/dos partitioned disk is larger than 2TB. Additional space will go unused。MBR パーティション形式は、2 TiB を超えるディスクをサポートしていません。まずデータディスクの MBR パーティションを GPT パーティションに変換してから、GPT パーティションを拡張する必要があります。
実行
sudo lsblk: パーティションは2 TiB にしか拡張されませんMBR パーティションタイプは、2 TiB を超えるディスクをサポートしていません。まずデータディスクの MBR パーティションを GPT パーティションに変換してから、GPT パーティションを拡張する必要があります。
CentOS 6 で growpart ツールをインストールすると、次のエラーが発生します:
Error: Cannot retrieve repository metadata。CentOS 6 OS はサポート終了 (EOL) に達しました。ツールをインストールする前に、CentOS 6 EOL リポジトリを変更する必要があります。
growpart コマンドを実行してパーティションを拡張すると、メッセージ
NOCHANGE: partition 1 could only be grown by 2015 [fudge=2048]が表示されます。パーティションのサイズ変更時に利用可能な領域がない場合、通常はコンソールでオフラインでのディスクサイズ変更を実行した後にインスタンスが再起動されていないことが原因です。その結果、ディスクの変更が反映されていません。オフラインでのサイズ変更後は、ECS コンソールまたは API を使用してインスタンスを再起動するか、インスタンスを起動する必要があります。(インスタンス内で
rebootコマンドを実行して再起動しても無効です。)
FAQ: ファイルシステムの拡張
resize2fsコマンドを実行すると、エラーCouldn't find valid filesystem superblock.またはopen: Is a directory while opening /mntが発生します。ファイルシステムを拡張するときは、デバイス名やマウントポイントではなく、正しいディスクパーティション名を指定する必要があります。
resize2fs コマンドが次のメッセージを返します:
The filesystem is already ... blocks long. Nothing to do!。原因:ファイルシステムには拡張可能な容量がありません。これは、パーティションが拡張されていないか、拡張が有効になっていないことが原因である可能性があります。
解決策:
まず、growpart コマンドを使用してパーティションが正常に拡張されたことを確認してください。この手順を実行していない場合は、growpart コマンドを実行してパーティションを拡張してください。
growpart コマンドを正常に実行してパーティションを拡張した場合、古い OS バージョンを使用しているため、システムパーティションテーブルをオンラインで更新できない可能性があります。インスタンスを再起動してから、resize2fs コマンドを実行してください。
resize2fs のエラー:
Permission denied原因:ファイルシステムの拡張が失敗するのは、通常、ファイルシステム自体の不整合またはエラーが原因です。
解決策:
dmesg -T | grep fsコマンドを実行します。出力にThere are errors in the filesystemのようなメッセージが含まれている場合、ファイルシステムに不整合があることを示しています。スナップショットを作成して、ディスクデータをバックアップします。
業務上問題ない場合は、
umountコマンドを実行して、環境に応じてマウントされたパーティションまたはディスク全体をアンマウントします。システムディスクは
umountできないため、修復するには システムディスクを別のインスタンスにデタッチしてアタッチする必要があります。e2fsckコマンドを使用して修復を試みてください。
resize2fs のエラー:
inodes (4294967296) must be less than 4294967295。原因:初期化時に
bytes-per-inodeが正しく設定されませんでした。容量を 64 TiB に拡張する必要がある場合は、ファイルシステムを作成するときにコマンドに
-i 65536を追加します。解決策:新しいディスクを作成してデータをコピーします。
重要bytes-per-inodeは、ディスクの初期化後に変更できません。現在のインスタンスに必要な容量の空のデータディスクを作成します。
データディスクを初期化して ext4 ファイルシステムを作成するときは、コマンドに
-i 65536を追加してください。元のディスクから新しいディスクに手動でデータをコピーします。
業務が期待どおりに実行されていることを確認します。これを確認するには、関連サービスの再起動が必要になる場合があります。
業務が期待どおりに実行されていることを確認したら、元のデータディスクをデタッチして解放できます。詳細については、「データディスクのデタッチ」および「ディスクの解放」をご参照ください。
OS ディスク容量が購入した容量と異なるのはなぜですか?
ファイルシステムの作成時に、メタデータを保存するために一部の容量が予約されます。そのため、ファイルシステムサイズは、コンソールに表示される容量よりもわずかに小さくなる場合があります。