ビジネスが拡大するにつれて、現在のデータディスクの容量がデータストレージのニーズに合わなくなる場合があります。 必要に応じて、ディスク拡張機能を使用して、データディスクを拡張できます。

  • インスタンスが "Running" または "Stopped" ステータスの場合にのみ、インスタンスにアタッチされているデータディスクを拡張できます。 変更を適用するには、ECS コンソールでインスタンスを再起動する必要があります。 この操作によりインスタンスの動作は停止し、業務が中断する可能性があります。操作の実行は慎重に行ってください。
  • データディスクを拡張する前に、手動でスナップショットを作成してデータをバックアップすることを推奨します。
  • データディスクが "Available" ステータスまたは "In Use" ステータスの場合に、データディスクを拡張します。
  • 現在の課金サイクル中に、サブスクリプション ECS インスタンスを設定のダウングレードのために更新した場合 (設定のダウングレードのための更新)、データディスクやシステムディスクを含む、サブスクリプションのアタッチされたクラウドディスクを拡張はできません。
  • スナップショットがデータディスク用に作成されている場合、データディスクを拡張することはできません。
  • データディスクは拡張できますが、システムディスクやローカルディスクは拡張できません。

ウルトラクラウドディスクタイプのデータディスクと 64 ビット CentOS 7.3 を実行する ECS インスタンスの例を使用して、データディスクを拡張して使用可能な容量を拡張する方法を説明します。

次の手順でデータディスクを拡張します。

手順 1 ECS コンソールでデータディスクの拡張

手順 2 インスタンスにログインし、ファイルシステムを拡張

手順 1 ECS コンソールでデータディスクの拡張

次の手順で ECS コンソールでデータディスクを拡張します。

  1. ECS コンソールにログインします。
  2. 左側のナビゲーションウィンドウで、[ブロックストレージ] > [ディスク] を選択します。
    拡張するデータディスクが、インスタンスにアタッチされている場合は、左側のナビゲーションウィンドウで、[インスタンス] をクリックし、インスタンスを検索し、インスタンスの詳細ページに移動して [ディスク] をクリックします。
  3. リージョンを選択します。
  4. 拡張するディスクを検索し、"操作" 列から、 詳細 > [ディスクの拡張] を選択します。 
  5. ディスクの拡張ページで、[拡張後の容量] (この例では、30 GiB) を設定します。 拡張後の容量は、現在の容量よりも大きく設定しなければなりません。
  6. 料金が計算されたら、[拡張の確認] をクリックします。
    拡張後に、コンソールで新しいディスクサイズの確認ができます。 ただし、データディスクが ECS インスタンスにアタッチされている場合、インスタンスにログインする際、新しいディスクサイズを表示するためには、ECS コンソールでインスタンスを再起動する必要があります。

ディスクサイズの拡張後、

手順 2 インスタンスにログインし、ファイルシステムを拡張

ディスクの拡張後、ファイルシステムを拡張するためにインスタンスにログインする必要があります。

この例では、データディスクは 64 ビット CentOS 7.3 を実行している Linux インスタンスにアタッチされています。 拡張前のデータディスクには 1 つのプライマリパーティション (/dev/vdb1、ext4 ファイルシステム) しかありません。ファイルシステムのマウントポイントは、 /resizetest で、拡張完了後も、データディスクには 1 つのプライマリパーティションのみです。

  1. パスワードを使用した Linux インスタンスへの接続 
  2. umount [file system name] コマンドを実行し、 プライマリパーティションのマウントを解除します。
    umount /dev/vdb1
    df -h コマンドを実行し、マウント解除が成功したかどうかを確認します。 /dev/vdb1 情報を確認できない場合、マウント解除は成功しています。 以下は、出力サンプルです。
    [root @ iXXXXXX〜]#df-h
    Filesystem Size Used Avail Use% Mounted on
     /dev/vda1 40G 1.5G 36G 4% /
    devtmpfs 487M 0 487M 0% /dev
    ttmpfs 497M 0 497M 0% /dev/shm
    tmpfs 497M 312K 496M 1% /run
    tmpfs 497M 0 497M 0% /sys/fs/cgroup
    tmpfs 100M 0 100M 0% /run/user/0
  3. fdisk コマンドを実行し、オリジナルパーティションを削除し、新しいパーティションを作成します。
    parted ツールを使ってパーティションを操作する場合、fdisk と組み合わせて使うことはできません。 パーティションの最初のセクターが一致しなくなります。 partedツールの使い方は、 ここをご参照ください。
    1. fdisk -l コマンドを実行し、パーティションの詳細を一覧にし、 拡張前のパーティションの最終サイズと最初のセクターを記録します。
    2. fdisk [device name of data disk] コマンドを実行し、fdisk へ移動します。 この例ではデバイス名は /dev/vdb です。
    3. d を入力し、Enter キーを押して元のパーティションを削除します。
      パーティションを削除しても、データディスク内のデータは失われません。
    4. d を入力し、 Enter キーを押して新しいパーティションの作成を開始します。
    5. p を入力し、 Enter キーを押してプライマリパーティションを作成します。 この例では、シングルパーティションのデータディスクを作成しているため、1 つのプライマリパーティションを作成すれば十分です。
      4 つ以上のパーティションを作成する場合は、少なくとも 1 つの拡張パーティションを作成する必要があります。 e を入力します。
    6. パーティション番号を入力し、Enter キーを押します。 この例では、1 つのパーティションしか作成されないため、「1」と入力します。
    7. 最初のセクターの番号を入力します。データの整合性のために、最初のセクターの番号 は元のパーティションのセクターと同一でなければなりません。 この例では、Enter キーを押してデフォルト値の 1 を使用します。
      最初の セクターが記録されたものと同一ではない場合、パーティショニングに parted ツールが使用された可能性があります。 その場合は、現在の fdisk 操作を停止し、parted を使用して最初からやり直します。
    8. 最後のセクターの番号を入力します。この例では 1 つのパーティションしか作成されないため、Enter キーを押してデフォルト値を使用します。
    9. wq と入力し、Enter キーを押してパーティションを開始します。
      [root@iXXXXXX ~]# fdisk /dev/vdb
      Welcome to fdisk (util-linux 2.23.2).
      Changes will remain in memory only, until you decide to write them.
      Be careful before using the write command.
      Command (m for help): d
      Selected partition 1
      Partition 1 is deleted
      Command (m for help): n
      Partition type:
      p primary (0 primary, 0 extended, 4 free)
      e extended
      Select (default p):
      Using default response p
      Partition number (1-4, default 1):
      First sector (2048-62914559, default 2048):
      Using default value 2048
      Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559):
      Using default value 62914559
      Partition 1 of type Linux and of size 30 GiB is set
      Command (m for help): wq
      The partition table has been altered!
      Calling ioctl() to re-read partition table.
      Syncing disks.
      parted ツールを使用している場合、現在のパーティションの詳細を表示するには、parted ウィンドウで p キーを押します。 パーティションが表示されている場合は、「rm + シリアルナンバー」を使用して元のパーティションテーブルを削除し、unit s コマンドを実行してセクター数で計算された開始ユニットを指定し、最後にmkpartコマンドを実行して次の図に示すようにパーティションを作成します。

  4. 一部のオペレーティングシステムでは、パーティション後にマウントポイントにファイルシステムが自動的にマウントされることがあります。 df -hコマンドを実行して ファイルシステムのスペースと使用状況を確認することを推奨します。 umount [file system name]を実行し、ファイルシステムのマウント解除を再度行います。
  5. ファイルシステムを確認し、ファイルシステムを拡張します。
    e2fsck -f /dev/vdb1 # check the file system
    resize2fs /dev/vdb1 # resize the file system
    
    
    • e2fsck コマンドの実行は、システムがそのプロセス中にファイルシステムのメタデータをチェックして修正する必要があるので時間がかかります。
    • e2fsck コマンドと resize2fs コマンドを正しく実行すればデータは失われません。

    以下は、出力サンプルです。

    [root@iXXXXXX ~]# e2fsck -f /dev/vdb1
    e2fsck 1.42.9 (28-Dec-2013)
    Pass 1: Checking inodes, blocks, and sizes
    Pass 2: Checking directory structure
    Pass 3: Checking directory connectivity
    Pass 4: Checking reference counts
    Pass 5: Checking group summary information
    /dev/vdb1: 11/1835008 files (0.0% non-contiguous), 159218/7339776 blocks
    [root@iXXXXXX ~]# resize2fs /dev/vdb1
    resize2fs 1.42.9 (28-Dec-2013)
    Resizing the filesystem on /dev/vdb1 to 7864064 (4k) blocks.
    The filesystem on /dev/vdb1 is now 7864064 blocks long.
  6. 拡張したファイルシステムを元のマウントポイントにマウントします (この例では、 /resizetest)。
    mount /dev/vdb1 /resizetest
  7. df -h コマンドを実行して、ファイルシステムの容量と使用状況を確認します。 拡張されたファイルシステムに関する情報が正しく表示された場合、マウントは成功し、拡張されたファイルシステムが使用できる状態になります。
    マウントが完了したら、インスタンスを再起動せずに拡張されたファイルシステムを使用できます。

    以下は、出力サンプルです。

    [root@iXXXXXX ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/vda1 40G 1.5G 36G 4% /
    devtmpfs 487M 0 487M 0% /dev
    tmpfs 497M 0 497M 0% /dev/shm
    tmpfs 497M 312K 496M 1% /run
    tmpfs 497M 0 497M 0% /sys/fs/cgroup
    tmpfs 100M 0 100M 0% /run/user/0
    /dev/vdb1 30G 44M 28G 1% /resizetest