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

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

最終更新日:Nov 05, 2025

ディスク容量のサイズを変更した後、追加の容量を使用するには、パーティションとファイルシステムを拡張する必要があります。ディスクは縮小できないため、続行する前にストレージのニーズを慎重に評価してください。

サイズ変更の概要

ディスクのサイズ変更は 2 段階のプロセスです。

  1. ディスク容量の増加: まず、Elastic Compute Service (ECS) コンソールでディスクのストレージ領域を追加購入します。これは、より大きなハードドライブを購入するようなものだと考えてください。支払いが成功するとこのステップは完了しますが、新しい領域はまだ使用できません。

  2. パーティションとファイルシステムの拡張: 次に、サーバーのオペレーティングシステム (OS) 内で新しい領域を利用可能にします。これは、コンピューターが認識して使用できるように、ハードドライブの新しい領域をフォーマットするようなものです。

ステップ 1: ディスク容量の増加

前提条件

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

  • ディスクが [実行中] または [停止済み] 状態のアクティブな ECS インスタンスにアタッチされている。

  • ディスクが [アタッチされていません] (利用可能) 状態である。

手順

  1. ECS コンソール - ブロックストレージ に移動します。トップナビゲーションバーで、対象のリージョンとリソースグループを選択します。

  2. サイズ変更するディスクを見つけます。[操作] 列の [サイズ変更] をクリックします。

  3. サイズ変更中の偶発的なエラーによるデータ損失を防ぐために、スナップショットを作成してデータをバックアップします。[ディスクの決定と注意事項の確認] ページで、ディスク情報を確認し、[スナップショットの作成] をクリックし、スナップショット名と保持期間を設定してから、[OK] をクリックします。

    重要

    スナップショットを使用すると料金が発生します。

    Screenshot 2025-02-27 17

  4. スナップショットの作成中は続行できません。完了するまで待ってから、ページを更新してください。[サイズ変更をサポート] 列に [はい] が表示されたら、[リスクを理解し、データをバックアップしました。続行します] をクリックします。

    スナップショットの作成に必要な時間は、データ量や帯域幅などの要因によって異なります。進捗は、[ECS コンソール - スナップショット] ページの [進捗]
  5. [サイズ変更方法と新しいサイズの設定] ページで、パラメーターを設定し、料金を確認して、[OK] をクリックします。

    重要

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

    パラメーター

    説明

    新しいディスクサイズ

    新しいサイズは現在のサイズより小さくすることはできません。

    サイズ変更方法

    • オンラインでのサイズ変更 (推奨): 新しい容量はインスタンスを再起動することなくすぐに有効になります。

    • オフラインでのサイズ変更: ディスクが [アタッチされていません]、インスタンスが [停止済み]、またはオフラインでのサイズ変更のみをサポートする特定のインスタンスタイプを使用している場合は、このメソッドを使用します。

  6. (条件付き) サブスクリプションベースのディスクの場合、支払いダイアログで 5 秒間のカウントダウンを待ってから、[支払いを完了] をクリックします。サイズ変更プロセスに戻った後、[支払い済み。ダイアログボックスを閉じる] をクリックします。

    [支払い済み] をクリックしても支払いを完了しない場合、サイズ変更はブロックされます。続行するには、[操作] 列の [注文センターへ移動] をクリックし、支払いを完了してから、サイズ変更プロセスに戻ります。
  7. [サイズ変更結果の確認] ページで、[ディスクのサイズ変更完了] 列に [成功] と表示されるまで待ちます。新しい容量を使用するには、まだパーティションとファイルシステムを拡張する必要があります。

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

前提条件

手順

ディスクのサイズを変更した後、新しい容量を使用するには、そのパーティションとファイルシステムを拡張する必要があります。これには 2 つの方法があります。

  • コンソールを使用して拡張 (推奨): コンソールから直接クラウドアシスタントを使用します。この方法は便利で、手動でのコマンド入力を回避できます。

  • コマンドラインを使用して拡張: インスタンスにログオンしてコマンドを実行します。この方法はより多くの制御を提供し、広く適用可能です。

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

  1. ページの左下隅にある [次のステップ: パーティションとファイルシステムの拡張] をクリックします。image

    誤ってこのページを閉じてしまった場合は、インスタンス詳細ページの [ブロックストレージ] タブからこのページに戻ることができます。
  2. コマンドコンテンツの最後にある [先行コマンドの実行] をクリックします。

    クラウドアシスタントに権限を付与していない場合は、そのように求められます。
    ページにクラウドアシスタントのクエリが失敗した、または OS のバージョンがサポートされていないことを示すメッセージが表示された場合は、コマンドラインを使用してディスクを拡張します。
  3. [リモートコマンドの送信] ダイアログボックスで、[実行] をクリックします。[成功] メッセージが表示されると、パーティションとファイルシステムが拡張されています。[キャンセル] をクリックしてダイアログを閉じます。image

コマンドラインを使用して拡張

パーティションの拡張

重要

まず OS のバージョンを確認してください。CentOS 6 以前、OpenSUSE 42.3、または Debian 8 以前の場合は、「パーティションとファイルシステムのオフラインでのサイズ変更」に従う必要があります。

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

    1. ECS コンソール - インスタンス に移動します。トップナビゲーションバーで、対象のリージョンとリソースグループを選択します。

    2. インスタンスの詳細ページに移動します。[接続] をクリックし、[Workbench] を選択してターミナルを開きます。

  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 (パーティション番号 3) を拡張する必要があります。

        重要

        ディスクの最後のパーティションのみを拡張できます。

        一般的なデバイスの命名規則とパーティション形式は次のとおりです。

        sudo lsblk コマンドが vgx 形式のデバイス名を返す場合、ディスクは Logical Volume Manager (LVM) によって管理されています。コンソールでディスク容量を増やした後、LVM を使用して論理ボリュームを拡張する必要があります。

        デバイスタイプ

        デバイス名

        パーティション番号

        NVMe プロトコルを使用しないディスク

        フォーマット: vd[a-z]、例: vda (システムディスク)、vdbvdc

        フォーマット: vd[a-z]<パーティション番号>、例: 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/<Device_name> <Partition_number>

      応答にキーワード CHANGED が含まれている場合、コマンドは正常に実行されました。失敗した場合は、「growpart コマンドのよくある質問」をご参照ください。

      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 ファイルシステム

      変数 <Target device name>前のステップで特定した名前に置き換えてから、コマンドを実行します。

      sudo resize2fs /dev/<Target device name>
    • xfs ファイルシステム

      <Mount point>前のステップで取得したマウントポイントに置き換えてから、コマンドを実行します。

      sudo xfs_growfs <Mount point>
  3. ファイルシステムが正常に拡張されたかどうかを確認します。

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

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

課金

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

  • サブスクリプションディスク: 新しい容量に対してすぐに課金されますが、現在のサブスクリプション期間の残り時間分のみです。

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

    残り期間は日数単位で測定され、秒単位で正確です。
  • 従量課金ディスク: 課金はすぐに新しい容量に調整されます。料金は時間単位で計算され、現在の時間の請求は次の時間に生成されます。

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

よくある質問

ディスクのサイズ変更に関するよくある質問

  • サイズ変更後、なぜ新しい容量が OS で有効にならないのですか?

    ディスクのサイズを変更した後、OS は新しい容量を自動的に検出できません。容量を使用可能にするには、パーティションとファイルシステムを手動で拡張する必要があります。

  • API を使用してディスクのサイズを変更するにはどうすればよいですか?

    1. (推奨) データのバックアップ: サイズ変更の前に、CreateSnapshot 操作を呼び出してスナップショットを作成します。

      スナップショットには料金が発生します。
    2. 容量のサイズ変更: スナップショットが作成された後、ResizeDisk 操作を呼び出してディスク容量を増やします。

    3. パーティションとファイルシステムの拡張:

      サイズ変更後、RunCommand 操作を呼び出してターゲットインスタンスにコマンドを送信します (「コマンドラインを使用して拡張」をご参照ください)。DescribeInvocations 操作を使用してコマンドの結果を確認します。

  • [リスクを理解し、データをバックアップしました。続行します] ボタンがグレー表示されるのはなぜですか?

    これは、ディスクのスナップショットが作成されている場合に発生します。サイズ変更の前に、スナップショット作成プロセスが完了するのを待ってください。

  • オフラインでのサイズ変更を実行しましたが、インスタンスを再起動したくありません。どうすればよいですか?

    オフラインでのサイズ変更を有効にするには、インスタンスの再起動が必要です。ビジネス上、再起動が許可されていない場合は、小規模なオンラインでのサイズ変更 (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

  • パーティションとファイルシステムを拡張するためのクラウドアシスタントページに戻るにはどうすればよいですか?

    この機能は招待プレビュー中であり、すべてのお客様またはシナリオで表示されるとは限りません。

    1. インスタンス詳細ページの [ブロックストレージ] タブで、クラウドアシスタントチェック機能を有効にします。

      [クラウドアシスタントチェック] 機能が表示されない場合は、コマンドラインを使用してパーティションとファイルシステムを拡張してください。

      image

    2. ターゲットディスクの [システム内ステータスチェック] の下にある [2/3 チェック合格] にカーソルを合わせ、[パーティションとファイルシステムの拡張] をクリックして拡張ページに戻ります。

  • パーティションを拡張した後、パーティションサイズが更新されなかったのはなぜですか?

    sudo lsblk を実行し、[Size] フィールドを確認します。パーティション容量がデバイス容量と異なる場合、拡張は有効になっていません。パーティションの拡張は通常、再起動を必要としません。この問題は、変更を自動的に認識しない古い OS バージョンで発生する可能性があります。この場合、新しいパーティションサイズを認識させるためにインスタンスを再起動する必要があります。

growpart コマンド実行時の一般的な問題

  • エラー: no tools available to resize disk with 'gpt'.FAILED: failed to get a resizer for id ''

    gdisk ツールが OS にインストールされていません。GPT パーティションを拡張するには gdisk ツールが必要です。お使いの OS に合わせて次のコマンドを実行してインストールしてください。

    • CentOS および同様の OS タイプ

      type sgdisk || sudo yum install -y gdisk
    • Debian、Ubuntu、および同様の OS タイプ

      sudo apt-get update
      type sgdisk || sudo apt-get install -y gdisk
  • エラー: sudo: growpart: command not found

    growpart ツールが OS にインストールされていません。お使いの OS に合わせて次のコマンドを実行して growpart ツールをインストールしてください。GPT パーティションを拡張するには gdisk ツールも必要です。

    • CentOS および同様の OS タイプ

      type growpart || sudo yum install -y cloud-utils-growpart
      sudo yum update cloud-utils-growpart
      type sgdisk || sudo yum install -y gdisk
    • Debian、Ubuntu、および同様の OS タイプ

      sudo apt-get update
      sudo apt-get install -y cloud-guest-utils
      type sgdisk || sudo apt-get install -y gdisk
  • エラー: unexpected output in sfdisk --version [sfdisk, from util-linux 2.23.2]

    原因: OS が en_US.UTF-8 以外の文字コードタイプを使用しています。

    解決策

    • locale を実行して現在の文字コードタイプを確認します。en_US.UTF-8 でない場合は変更します。

      • 文字コードタイプを切り替えます。

        export LANG=en_US.UTF-8
      • 問題が解決しない場合は、文字コードタイプを切り替えます。

        export LC_ALL=en_US.UTF-8
    • それでも問題が解決しない場合は、reboot でインスタンスを再起動してみてください。

    重要

    パーティションの拡張に成功した後、必要に応じて元の文字コードに戻すことを忘れないでください。

  • エラー: mkdir: cannot create directory ... No space left on device

    ディスクの空き容量が不足しているため、一時ディレクトリを作成できません。不要なファイルを削除してディスクスペースを解放してください。

  • エラー: unexpected output in sfdisk --version [sfdisk (util-linux-ng 2.17.2)]

    fdisk のバージョンが growpart のバージョンと互換性がありません。growpart のバージョンを 0.27 にダウングレードしてください。

  • エラー: FAILED: unable to determine partition type

    ディスクはパーティション分割されていません。パーティションを拡張する必要はありません。直接ファイルシステムを拡張してください。

  • エラー: WARNING: MBR/dos partitioned disk is larger than 2TB. Additional space will go unused

    MBR パーティション形式は 2 TiB を超えるディスクをサポートしていません。拡張する前にMBR パーティションを GPT パーティションに変換してください。

  • sudo lsblk を実行した後、パーティションは 2 TiB にしか拡張されません

    MBR パーティションタイプは 2 TiB を超えるディスクをサポートしていません。まず、MBR パーティションを GPT パーティションに変換します。その後、GPT パーティションを拡張します。

  • エラー (CentOS 6): Error: Cannot retrieve repository metadata

    CentOS 6 OS はサポート終了 (EOL) に達しており、そのデフォルトリポジトリは利用できなくなっています。CentOS 6 のリポジトリアドレスを変更してから、ツールをインストールしてください。

  • エラー: NOCHANGE: パーティション 1 は 2015 しか拡張できませんでした [fudge=2048]

    パーティションを拡張するための利用可能なスペースがありません。これは通常、コンソールでオフラインでのディスクサイズ変更後にインスタンスが再起動されなかったために、OS がまだ新しいディスク容量を検出していない場合に発生します。オフラインでのサイズ変更後、ECS コンソールまたは API 呼び出しを介してインスタンスを再起動するか起動する必要があります。インスタンス内で reboot コマンドを実行しても効果はありません。

resize2fs コマンド実行時の一般的な問題

  • エラー: 有効なファイルシステムスーパーブロックが見つかりませんでした。  または open: /mnt はディレクトリです

    ファイルシステムを拡張する場合、デバイス名やマウントポイントではなく、ディスクパーティション名を指定する必要があります。

  • エラー: The filesystem is already ... blocks long. Nothing to do!

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

    解決策:

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

    2. growpart コマンドを正常に実行してパーティションを拡張した場合、新しいパーティションサイズを確認するために再起動が必要な古い OS バージョンを使用している可能性があります。インスタンスを再起動してから、resize2fs コマンドを再度実行してみてください。

  • エラー: resize2fs: Permission denied to resize filesystem

    原因: ファイルシステム自体の不整合またはエラーにより、操作が失敗しました。

    解決策:

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

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

    3. 安全なときに、umount コマンドを実行して関連するパーティションまたはディスクをアンマウントします。

      システムディスクの場合、システムが実行中にアンマウントすることはできません。修復を実行するには、システムディスクを別のインスタンスにデタッチまたはアタッチする必要があります。
    4. e2fsck コマンドを使用して修復を試みます。

  • エラー: iノード (4294967296) は 4294967295 未満である必要があります

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

    64 TiB に拡張するには、ファイルシステムを作成する際にコマンドに -i 65536 を追加する必要があります。

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

    重要

    ディスクが初期化された後、bytes-per-inode は変更できません。

    1. 目的の容量で新しい空のデータディスクを作成します。

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

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

    4. アプリケーションが新しいディスクで正しく実行されていることを確認します。関連するサービスを再起動することをお勧めします。

    5. 確認後、元のデータディスクをデタッチしてリリースできます。

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

    ファイルシステムが作成されると、メタデータを保存するために一部の容量が使用されます。したがって、ファイルシステムのサイズはコンソールに表示される容量よりも小さくなる場合があります。