すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:ディスクのサイズ変更 (Linux)

最終更新日:Jun 09, 2026

ディスクの容量を拡張した後、パーティションとファイルシステムを拡張して追加領域を利用可能にする必要があります。ディスクは縮小できないため、ストレージのニーズを慎重に計画してください。

サイズ変更の概要

ディスクのサイズ変更には、主に 2 つの手順があります。

  1. Elastic Compute Service (ECS) コンソールでディスクの追加ストレージを購入します。これは、より大きなハードドライブを購入したものの、まだインストールしていない状態に似ています。支払いが完了しても、サイズ変更プロセスは完了していません。

  2. インスタンスのオペレーティングシステムで新しい領域を利用可能にします。これは、ハードドライブの新しい領域をフォーマットして、システムがそれを認識して使用できるようにすることに似ています。

image

ステップ 1: ディスク容量の拡張

前提条件

次のいずれかの条件が満たされていることを確認してください。

  • ディスクがアタッチされている ECS インスタンスは、有効期限が切れておらず、実行中 または 停止済み の状態である必要があります。

  • ディスクはアタッチ待ち 状態です。

操作手順

  1. ECS コンソール - ブロックストレージに移動します。上部メニューで、対象のリージョンとリソースグループを選択します。

  2. サイズ変更するディスクを探し、操作 列の ディスクの拡張 をクリックします。

  3. サイズ変更の前に、ディスクのスナップショットを作成してデータをバックアップすることを強く推奨します。これにより、操作エラーによるデータ損失を防ぐことができます。ターゲットディスクと注意事項を確認する ページで、ディスク情報を確認し、[スナップショットの作成] をクリックし、スナップショットの名前と保持期間を設定してから、[確認] をクリックします。

    重要

    スナップショットの使用には料金が発生します。

    image

  4. スケーリング対応 列に 対応 が表示されたら、リスク承知で続行 (バックアップ済み) をクリックします。

    スナップショットの作成にかかる時間は、ディスクのデータ量や利用可能な帯域幅などの要因によって異なりますが、ECS コンソールのスナップショット ページで、進行 列で作成状況を確認できます。
  5. 変更方法とサイズを設定する ウィザードで、パラメーターを設定し、料金を確認してから、[OK] をクリックします。

    重要

    ディスクのサイズ変更を行うと、追加容量に対して課金されます。

    パラメータ

    説明

    [拡張後の容量]

    新しい容量は、現在の容量より小さくすることはできません。

    [サイズ変更方法]

    • [オンラインサイズ変更] (推奨):ディスクの容量を拡張した後、インスタンスを再起動する必要はありません。新しい容量は即座に有効になります。

    • [オフラインサイズ変更]: ディスクが アタッチ待ち 状態である場合、インスタンスが 停止済み 状態である場合、またはオフラインでのサイズ変更のみをサポートする 特定のインスタンスタイプ を使用している場合に、この方法を使用します。

  6. (条件付き) サブスクリプションディスクの場合、支払いポップアップウィンドウの 5 秒のカウントダウンが終了したら、支払いへ をクリックし、支払いを完了します。支払いが完了したら、サイズ変更ワークフローに戻り、支払い完了 をクリックします。

    支払いを完了する前に 支払い完了 をクリックすると、サイズ変更プロセスが停止します。注文の支払い をクリックして支払いを完了し、サイズ変更ワークフローに戻る必要があります。

ステップ 2: パーティションとファイルシステムの拡張

前提条件

  • ディスクがアタッチ待ち 状態の場合、ECS インスタンスにアタッチする必要があります。

  • 前の手順でオフラインリサイズを使用してディスク容量を拡張し、ディスクが ECS インスタンスにアタッチされている場合、インスタンスを再起動または起動する必要があります。

  • データディスクにファイルシステムが作成されていない場合は、データディスクの初期化の手順に従ってください。

操作手順

ディスクの容量を拡張した後、新しい領域を使用するには、パーティションとファイルシステムを拡張する必要があります。Alibaba Cloud では、2 つの方法を提供しています。

  • コンソールを使用した拡張 (推奨):Cloud Assistant を使用して、コンソールからパーティションとファイルシステムを拡張します。この方法は便利で、手動でコマンドを実行する必要がありません。

  • コマンドラインを使用した拡張:インスタンスにログオンし、手動でコマンドを実行してパーティションとファイルシステムを拡張します。この方法は柔軟性が高く、幅広く適用できます。

コンソールを使用した拡張 (推奨)

誤ってこのページを閉じた場合は、インスタンス詳細ページの [ブロックストレージ] タブから操作ページに戻ることができます。
  1. [未割り当て] セクションで、[最後のパーティションとファイルシステムをスケールアウト] をクリックします。

    Cloud Assistant に権限を付与していない場合は、プロンプトが表示されたら権限を付与する必要があります。
    ページにメッセージ [Cloud Assistant のクエリまたは実行に失敗しました] または [インスタンスの OS バージョンはサポートされていません] が表示された場合は、コマンドラインを使用してディスクを拡張する必要があります。

    image

  2. Cloud Assistant を使用してパーティションとファイルシステムを拡張する ダイアログボックスで、[今すぐ実行] をクリックします。「Cloud Assistant によるパーティションとファイルシステムの拡張が成功しました」というメッセージが表示されると、拡張は完了です。閉じる をクリックします。

    重要

    続行する前に、コマンドが正しいことを確認して、拡張の失敗を防いでください。

CLI を使用した拡張

パーティションの拡張

重要

インスタンス詳細ページで OS バージョンを確認してください。CentOS 6 以前、OpenSUSE 42.3、Debian 8 以前の場合は、パーティションとファイルシステムをオフラインで拡張する必要があります。

  1. ECS インスタンスにログオンします。

    1. ECS コンソール - インスタンスに移動します。上部メニューで、対象のリージョンとリソースグループを選択します。

    2. 対象のインスタンスの詳細ページに移動します。 右上隅で接続をクリックし、ワークベンチ を選択します。 プロンプトに従ってインスタンスにログインして、ターミナルを開きます。

  2. パーティションを拡張します。

    1. 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 (システムディスク)、vdbvdc などです。

        形式は vd[a-z]<partition number> です。たとえば、vda3 では、パーティション番号は 3 です。

        NVMe 準拠ディスク

        フォーマットはnvmeXn1で、nvme0n1nvme1n1nvme2n1などです。

        フォーマットは nvmeXn1p<パーティション番号> です。たとえば、nvme0n1p1 では、パーティション番号は 1 です。

    2. 拡張ツールをインストールします。

      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 gdisk
      Debian および Ubuntu
      sudo apt-get update
      sudo apt-get install -y cloud-guest-utils
      type sgdisk || sudo apt-get install -y gdisk
    3. コマンドを実行してパーティションを拡張します。

      コマンド内の <device name><partition number> を、手順 a で取得したデバイス名とパーティション番号に置き換えてから、コマンドを実行します。

      重要

      デバイス名とパーティション番号の間にスペースがあることを確認してください。

      sudo LC_ALL=en_US.UTF-8 growpart /dev/<DeviceName> <PartitionNumber>

      レスポンス内のキーワード CHANGED は、コマンドが正常に実行されたことを示します。 コマンドが失敗した場合は、「パーティション拡張の一般的な問題」を参照して、問題のトラブルシューティングと解決を行ってください。

      コマンドでは、LC_ALL=en_US.UTF-8 は、中国語システムのエンコーディングを処理するための環境変数です。
  3. パーティションの拡張を確認します。

    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

ファイルシステムの拡張

  1. コマンド 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 です。

  2. ファイルシステムを拡張します。

    • ext2、ext3、または ext4

      コマンド内の <ターゲットデバイス名>前の手順のターゲットデバイス名に置き換えて、コマンドを実行します。

      sudo resize2fs /dev/<TargetDeviceName>
    • xfs

      コマンドの <マウントディレクトリ> を、前の手順で取得したマウントディレクトリに置き換えてから、コマンドを実行します。

      sudo xfs_growfs <MountPoint>
  3. ファイルシステムが拡張されたことを確認します。

    sudo df -Th コマンドを実行して、ファイルシステムのサイズ (出力の Size フィールドの値) がディスク容量と一致することを確認します。

    ファイルシステムの作成時に、メタデータを保存するために一部の容量が予約されます。そのため、ファイルシステムサイズは、コンソールに表示される容量よりもわずかに小さくなる場合があります。

課金

ディスクのサイズ変更を行うと、追加容量に対して課金されます。追加容量の課金方法は、元のディスクと同じです。

  • サブスクリプションディスク:サブスクリプションディスクのサイズを変更すると、新しい容量に対して即座に課金されます。残りのサブスクリプション期間について、古い容量と新しい容量の差額を支払う必要があります。

    差額 = (月額料金 / 30日) × 残り期間 × 追加容量。

    残り期間は日数単位で計算され、秒単位まで正確です。
  • 従量課金ディスク:従量課金ディスクのサイズを変更すると、新しい容量に基づいて課金されます。料金は 1 時間ごとに計算されます。現在の時間帯の請求は、次の時間帯に作成されます。

ストレージ容量ユニット (SCU) を購入している場合、従量課金ディスクの請求額が自動的に相殺されます。詳細については、「ブロックストレージの課金」をご参照ください。

よくある質問

FAQ: ディスク容量の拡張

  • 新しい容量が有効にならないのはなぜですか?

    ディスクの容量を拡張した後、OS は新しい容量を自動的に検出できません。追加容量を使用可能にするには、パーティションとファイルシステムをそれぞれのタイプに基づいて手動で拡張する必要があります。

  • API を使用してディスクのサイズを変更する方法は?

    1. 容量を拡張する前に、CreateSnapshot API を呼び出してディスクのスナップショットを作成し、操作ミスによるデータ損失を防ぐことを強く推奨します。

      スナップショットの使用にはスナップショット料金が発生します。
    2. スナップショットが作成されたら、ResizeDisk API を呼び出してディスク容量を拡張します。

    3. ディスク容量を拡張した後、パーティションとファイルシステムを拡張する必要があります。

      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 検出機能を表示および有効にして、拡張ページに戻ることができます。

    1. インスタンス詳細ページの ブロックストレージ タブで、Cloud Assistant 検出機能を有効化します。

      クラウドアシスタントチェック機能 が利用できない場合は、CLI を使用してディスクを拡張してください。

      image

    2. 対象ディスクの システム内ステータス検出 列にある [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 gdisk
    • Debian、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 gdisk
    • Debian、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!

    原因:ファイルシステムには拡張可能な容量がありません。これは、パーティションが拡張されていないか、拡張が有効になっていないことが原因である可能性があります。

    解決策

    1. まず、growpart コマンドを使用してパーティションが正常に拡張されたことを確認してください。この手順を実行していない場合は、growpart コマンドを実行してパーティションを拡張してください。

    2. growpart コマンドを正常に実行してパーティションを拡張した場合、古い OS バージョンを使用しているため、システムパーティションテーブルをオンラインで更新できない可能性があります。インスタンスを再起動してから、resize2fs コマンドを実行してください。

  • resize2fs のエラー: Permission denied

    原因:ファイルシステムの拡張が失敗するのは、通常、ファイルシステム自体の不整合またはエラーが原因です。

    解決策

    1. dmesg -T | grep fs コマンドを実行します。出力に There are errors in the filesystem のようなメッセージが含まれている場合、ファイルシステムに不整合があることを示しています。

    2. スナップショットを作成して、ディスクデータをバックアップします。

    3. 業務上問題ない場合は、umount コマンドを実行して、環境に応じてマウントされたパーティションまたはディスク全体をアンマウントします。

      システムディスクは umount できないため、修復するには システムディスクを別のインスタンスにデタッチしてアタッチする必要があります。
    4. e2fsck コマンドを使用して修復を試みてください。

  • resize2fs のエラー: inodes (4294967296) must be less than 4294967295

    原因:初期化時に bytes-per-inode が正しく設定されませんでした

    容量を 64 TiB に拡張する必要がある場合は、ファイルシステムを作成するときにコマンドに-i 65536を追加します。

    解決策:新しいディスクを作成してデータをコピーします。

    重要

    bytes-per-inode は、ディスクの初期化後に変更できません。

    1. 現在のインスタンスに必要な容量の空のデータディスクを作成します。

    2. データディスクを初期化して ext4 ファイルシステムを作成するときは、コマンドに -i 65536 を追加してください。

    3. 元のディスクから新しいディスクに手動でデータをコピーします。

    4. 業務が期待どおりに実行されていることを確認します。これを確認するには、関連サービスの再起動が必要になる場合があります。

    5. 業務が期待どおりに実行されていることを確認したら、元のデータディスクをデタッチして解放できます。詳細については、「データディスクのデタッチ」および「ディスクの解放」をご参照ください。

  • OS ディスク容量が購入した容量と異なるのはなぜですか?

    ファイルシステムの作成時に、メタデータを保存するために一部の容量が予約されます。そのため、ファイルシステムサイズは、コンソールに表示される容量よりもわずかに小さくなる場合があります。