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

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

最終更新日:Mar 06, 2026

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

サイズ変更の概要

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

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

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

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

前提条件

次のいずれかの条件が満たされていることを確認します:

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

  • ディスクが アタッチ解除済み (利用可能) 状態である。

操作手順

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

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

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

    重要

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

    image

  4. サイズ変更のサポート 列が はい に変わったら、リスクを理解し、データをバックアップしました。続行します をクリックします。

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

    重要

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

    パラメーター

    説明

    新しいディスクサイズ

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

    サイズ変更方法

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

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

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

    支払いを完了する前に 支払い済み をクリックすると、サイズ変更がブロックされます。注文の支払い をクリックして支払いを完了し、サイズ変更プロセスに戻ってください。

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

前提条件

  • ディスクが アタッチ解除済み (利用可能) の場合は、まずECS インスタンスにアタッチします。

  • インスタンスにアタッチされたディスクに対してオフラインでのサイズ変更を実行した場合は、インスタンスを再起動するか、起動します。

  • フォーマットされていないデータディスク (ファイルシステムなし) の場合は、「データディスクの初期化」を参照してセットアップを完了してください。

操作手順

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

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

  • コマンドラインを使用した拡張:インスタンスにログインしてコマンドを実行します。この方法はより詳細な制御が可能で、幅広く適用できます。

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

誤ってこのページを閉じてしまった場合は、インスタンス詳細ページの [ブロックストレージ] タブからこのページに戻ることができます。
  1. パーティションとファイルシステムの拡張待ち セクションで、パーティションとファイルシステムの拡張 をクリックします。

    クラウドアシスタントに権限を付与していない場合は、権限付与を求めるプロンプトが表示されます。
    ページにクラウドアシスタントのクエリが失敗した、または OS バージョンがサポートされていないというメッセージが表示された場合は、コマンドラインを使用してディスクを拡張してください。

    image

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

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

パーティションの拡張

重要

まず 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 (パーティション番号 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 にインストールされていません。gdisk ツールは GPT パーティションを拡張するために必要です。お使いの 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: partition 1 could only be grown by 2015 [fudge=2048]

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

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

  • エラー:Couldn't find valid filesystem superblock.  または open: Is a directory while opening /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 コマンドを使用して修復を試みます。

  • エラー: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 のディスク容量が購入したものと異なるのはなぜですか?

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