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

Elastic Compute Service:パーティションとファイルシステムをオフラインで拡張する (Linux データディスク)

最終更新日:Nov 09, 2025

一部の古い Linux オペレーティングシステムは、growpart などのツールを使用したオンラインでのディスク拡張をサポートしていません。このような場合は、ディスクをオフラインで拡張する必要があります。ディスクはマウントされている場合はオンライン、アンマウントされている場合はオフラインと見なされます。このトピックでは、Linux データディスクをオフラインで拡張する方法について説明します。

前提条件

  1. データをバックアップするためのスナップショットを作成済みであること。

    操作エラーによるデータ損失を防ぐため、続行する前にスナップショットを作成してデータをバックアップしてください。詳細については、「スナップショットの作成」をご参照ください。

  2. コンソールでデータディスクを初期化し、その容量を拡張済みであること。

    詳細については、「データディスクの初期化 (Linux)」および「ディスクの拡張」をご参照ください。

  3. ECS インスタンスに接続済みであること。

    接続方法の詳細については、「接続方法の概要」をご参照ください。

背景情報

このトピックの例では、次の構成が使用されています。

  • ECS インスタンスのオペレーティングシステム: Alibaba Cloud Linux 2.1903 LTS 64 ビットパブリックイメージ

  • データディスク: Ultra ディスク

  • データディスクのデバイス名: /dev/vdb

お使いのオペレーティングシステムとデータディスクのデバイス名がこの例と異なる場合は、必要に応じてコマンドまたはパラメーターを調整してください。

説明

ファイルシステムをマウントするために mount コマンドを使用する場合、データのセキュリティとパフォーマンスの要件に適したマウントパラメーターを選択してください。詳細については、「ext4 ファイルシステムのマウントパラメーターの説明」をご参照ください。

パーティションテーブル形式とファイルシステムの確認

  1. 次のコマンドを実行して、データディスクのパーティションテーブル形式を確認します。

    sudo fdisk -lu /dev/vdb

    この例では、データディスクには /dev/vdb1 という 1 つのパーティションがあります。

    • SystemLinux の場合、データディスクはマスターブートレコード (MBR) パーティション形式を使用します。

    • SystemGPT の場合、データディスクは GUID パーティションテーブル (GPT) 形式を使用します。

    [testuser@ecshost ~]# sudo fdisk -lu /dev/vdb
    Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x9277b47b
    
    Device Boot Start End Blocks Id System
    /dev/vdb1 2048 41943039 20970496 83 Linux
    説明

    データディスクがパーティション分割されていない場合、パーティション情報は返されません。

  2. 次のコマンドを実行して、既存のパーティションのファイルシステムタイプを確認します。

    blkid /dev/vdb1

    この例では、/dev/vdb1 のファイルシステムは ext4 です。

    [testuser@ecshost ~]# blkid /dev/vdb1
    /dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"
    説明

    データディスクがパーティション分割されていない場合、またはパーティション分割されていてもファイルシステムがない場合は、情報は返されません。

  3. 次のコマンドを実行して、ファイルシステムの状態を確認します。

    • ext* ファイルシステム:

      sudo e2fsck -n /dev/vdb1
    • xfs ファイルシステム:

      sudo xfs_repair -n /dev/vdb1
    • btrfs ファイルシステム:

      sudo btrfsck /dev/vdb1

    次の例は、さまざまなファイルシステムのクエリ結果を示しています。

    • 次の例は、ext* および xfs ファイルシステムの結果を示しています。ファイルシステムの状態が clean の場合、ファイルシステムは正常です。状態が clean でない場合は、問題をトラブルシューティングして修正してください。

      [testuser@ecshost ~]# sudo e2fsck -n /dev/vdb1
      Warning! /dev/vdb1 is mounted.
      Warning: skipping journal recovery because doing a read-only filesystem check.
      /dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
    • 次の例は、btrfs ファイルシステムの結果を示しています。たとえば、found 114688 bytes used err is 0 はファイルシステムが正常であることを示します。クエリ結果でエラーが報告された場合は、問題をトラブルシューティングして修正してください。

      [testuser@ecshost ~]# sudo btrfsck /dev/vdb1
      Checking filesystem on /dev/vdb1
      UUID: 1234b7a7-68ff-4f48-a88c-8943f27f1234
      checking extents
      checking free space cache
      checking fs roots
      checking csums
      checking root refs
      found 114688 bytes used err is 0
      total csum bytes: 0
      total tree bytes: 114688
      total fs tree bytes: 32768
      total extent tree bytes: 16384
      btree space waste bytes: 109471
      file data blocks allocated: 0
      referenced 0

パーティションまたはファイルシステムを拡張する方法の選択

パーティション形式とファイルシステムに基づいてオプションを選択します。

スケールアウトシナリオ

関連する操作

データディスクはパーティション分割されており、ファイルシステムがあります。

データディスクは新しく、パーティションもファイルシステムもありません。

コンソールでデータディスクを拡張した後、「データディスクの初期化 (Linux)」をご参照ください。

データディスクは、ファイルシステムはあるがパーティション分割されていない raw デバイスです。

コンソールでデータディスクを拡張した後、「オプション 5: raw デバイスのファイルシステムを拡張する」をご参照ください。

データディスクはインスタンスにアタッチされていません。

データディスクをインスタンスにアタッチした後、このトピックの手順に従って拡張を完了します。

説明
  • MBR パーティションは 2 TiB 以上に拡張できません。データ損失を防ぐには、2 TiB より大きいディスクを作成し、新しいディスクに GPT パーティションを作成してから、MBR パーティションから新しい GPT パーティションにデータをコピーします。

  • フォーマットツールの問題で拡張が失敗した場合は、ツールをアップグレードまたは再インストールできます。

オプション 1: 既存の MBR パーティションを拡張する

説明

データ損失を防ぐため、マウントされているパーティションとファイルシステムは拡張しないでください。まず、umount コマンドを使用してパーティションをアンマウントする必要があります。パーティションを拡張し、正しく動作することを確認した後、mount コマンドを使用して再マウントできます。手順は Linux カーネルのバージョンによって異なります。

  • カーネルバージョン 3.6 より前: パーティションをアンマウントし、パーティションテーブルを変更してから、ファイルシステムを拡張します。

  • カーネルバージョン 3.6 以降: パーティションテーブルを変更し、カーネルにパーティションテーブルの更新を通知してから、ファイルシステムを拡張します。

新しい領域が既存の MBR パーティションの拡張に使用される場合は、インスタンスで次の手順に従って拡張を完了します。

  1. パーティションテーブルを変更します。

    1. 次のコマンドを実行してパーティション情報を表示します。古いパーティションの開始セクターと終了セクターの場所を記録します。

      sudo fdisk -lu /dev/vdb

      この例では、/dev/vdb1 パーティションの開始セクターは 2048、終了セクターは 41943039 です。

      [testuser@ecshost ~]# sudo fdisk -lu /dev/vdb
      Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk label type: dos
      Disk identifier: 0x9277b47b
      
      Device Boot Start End Blocks Id System
      /dev/vdb1 2048 41943039 20970496 83 Linux
    2. 次のコマンドを実行して、データディスクのマウントパスを表示し、パーティションをアンマウントします。

      マウント情報を表示します。

      mount | grep "/dev/vdb"

      データディスクをアンマウントします。

      sudo umount /dev/vdb1

      結果を確認します。

      mount | grep "/dev/vdb"

      以下は結果のサンプルです。

      [testuser@ecshost ~]# mount | grep "/dev/vdb"
      /dev/vdb1 on /mnt type ext4 (rw,relatime,data=ordered)
      [testuser@ecshost ~]# sudo umount /dev/vdb1
      [testuser@ecshost ~]# mount | grep "/dev/vdb"
    3. fdisk ツールを使用して古いパーティションを削除します。

      警告

      古いパーティションを削除するときにエラーが発生した場合、パーティション内のデータが失われる可能性があります。データベース内のユーザーデータなどの重要なデータがある場合は、続行する前にバックアップを作成してデータ損失を防いでください。

      1. sudo fdisk -u /dev/vdb を実行してデータディスクをパーティション分割します。

      2. p を入力してパーティションテーブルを表示します。

      3. d を入力してパーティションを削除します。

      4. p を入力してパーティションが削除されたことを確認します。

      5. w を入力して変更を保存し、終了します。

      以下は、古いパーティションを削除するためのコマンドインタラクションのサンプルです。

      [testuser@ecshost ~]# sudo fdisk -u /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): p
      Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk label type: dos
      Disk identifier: 0x9277b47b
      Device Boot Start End Blocks Id System
      /dev/vdb1 2048 41943039 20970496 83 Linux
      Command (m for help): d
      Selected partition 1
      Partition 1 is deleted
      Command (m for help): p
      Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk label type: dos
      Disk identifier: 0x9277b47b
      Device Boot Start End Blocks Id System
      Command (m for help): w
      The partition table has been altered!
      Calling ioctl() to re-read partition table.
      Syncing disks.
    4. fdisk コマンドを使用して新しいパーティションを作成します。

      1. sudo fdisk -u /dev/vdb を実行してデータディスクをパーティション分割します。

      2. p を入力してパーティションテーブルを表示します。

      3. n を入力して新しいパーティションを作成します。

      4. p を入力してプライマリパーティションタイプを選択します。

      5. <パーティション番号> を入力してパーティション番号を選択します。この例では 1 を使用します。

      6. 新しいパーティションの開始位置と終了位置を設定します。

        警告

        新しいパーティションの開始場所は、古いパーティションと同じでなければなりません。終了場所は、古いパーティションの終了場所より大きくなければなりません。そうしないと、拡張は失敗します。

      7. w を入力して変更を保存し、終了します。

      以下は、パーティションを拡張するためのコマンドインタラクションのサンプルです。この例では、/dev/vdb1 は 20 GiB から 40 GiB に拡張されます。

      [testuser@ecshost ~]# sudo fdisk -u /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): p
      Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk label type: dos
      Disk identifier: 0x9277b47b
      Device Boot Start End Blocks Id System
      Command (m for help): n
      Partition type:
      p primary (0 primary, 0 extended, 4 free)
      e extended
      Select (default p): p
      Partition number (1-4, default 1): 1
      First sector (2048-83886079, default 2048):
      Using default value 2048
      Last sector, +sectors or +size{K,M,G} (2048-83886079, default 83886079):
      Partition 1 of type Linux and of size 40 GiB is set
      Command (m for help): w
      The partition table has been altered!
      Calling ioctl() to re-read partition table.
      Syncing disks.
    5. 次のいずれかのコマンドを実行して、カーネルにパーティションテーブルを再読み込みさせます。

      sudo partprobe /dev/vdb
      説明

      CentOS 6 オペレーティングシステムでエラーメッセージ -bash: partprobe: command not found が表示された場合は、まず yum リポジトリを切り替えます。詳細については、「CentOS 6 EOL のリポジトリを切り替える方法」をご参照ください。次に、sudo yum install -y parted を実行して parted をインストールします。最後に、partprobe コマンドを再度実行します。

      sudo partx -u /dev/vdb1
    6. 次のコマンドを実行して、パーティションテーブルが更新されていることを確認します。

      sudo lsblk /dev/vdb
    7. 次のコマンドを再度実行してファイルシステムを確認します。パーティションが拡張された後、ファイルシステムの状態が clean であることを確認します。

      sudo e2fsck -f /dev/vdb1
      説明

      ファイルシステムの状態が clean でない場合は、sudo e2fsck -n /dev/vdb1 を実行してファイルシステムを確認できます。

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

    • ext3 や ext4 などの ext* ファイルシステムの場合は、次のコマンドを実行してファイルシステムのサイズを変更し、パーティションをマウントします。

      ext* ファイルシステムのサイズを変更します。

      sudo resize2fs /dev/vdb1

      パーティションを /mnt にマウントします。

      sudo mount /dev/vdb1 /mnt
    • xfs ファイルシステムの場合は、次のコマンドを実行してパーティションをマウントし、ファイルシステムのサイズを変更します。

      パーティションを /mnt にマウントします。

      sudo mount /dev/vdb1 /mnt

      xfs ファイルシステムのサイズを変更します。

      sudo xfs_growfs /mnt

      説明

      xfs_growfs の新しいバージョンでは、xfs_growfs /mnt のように、マウントポイントで拡張するデバイスを識別します。xfs_growfs --help を実行して、xfs_growfs のさまざまなバージョンの使用法を確認できます。

    • btrfs ファイルシステムの場合は、次のコマンドを実行してパーティションをマウントし、ファイルシステムのサイズを変更します。

      パーティションを /mnt にマウントします。

      sudo mount /dev/vdb1 /mnt

      btrfs ファイルシステムのサイズを変更します。

      sudo btrfs filesystem resize max /mnt

オプション 2: 新しい MBR パーティションを追加してフォーマットする

新しい領域を使用して新しい MBR パーティションを追加する場合は、インスタンスで次の手順を実行します。

  1. 次のコマンドを実行して、新しいパーティションを作成します。

    sudo fdisk -u /dev/vdb

    次のコマンド出力のサンプルは、新しいパーティションを作成するプロセスを示しています。この例では、追加された 20 GiB の領域を使用して、/dev/vdb2 という名前の新しいパーティションが作成されます。

    [testuser@ecshost ~]# sudo fdisk -u /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 commad.
    
    Command (m for help): p
    
    Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x2b31a2a3
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/vdb1            2048    41943039    20970496   83  Linux
    
    Command (m for help): n
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
    Select (default p): p
    Partition number (2-4, default 2): 2
    First sector (41943040-83886079, default 41943040):
    Using default value 41943040
    Last sector, +sectors or +size{K,M,G} (41943040-83886079, default 83886079):
    Using default value 83886079
    Partition 2 of type Linux and of size 20 GiB is set
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
  2. 次のコマンドを実行して、新しいパーティションを確認します。

    lsblk /dev/vdb

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

    [testuser@ecshost ~]# lsblk /dev/vdb
    NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    vdb    253:16   0  40G  0 disk
    ├─vdb1 253:17   0  20G  0 part
    └─vdb2 253:18   0  20G  0 part
  3. 次のコマンドを実行して、ファイルシステムを作成します。

    • ext4 ファイルシステムを作成します。

      sudo mkfs.ext4 /dev/vdb2
    • xfs ファイルシステムを作成します。

      sudo mkfs.xfs -f /dev/vdb2
    • btrfs ファイルシステムを作成します。

      sudo mkfs.btrfs /dev/vdb2
  4. 次のコマンドを実行して、ファイルシステム情報を確認します。

    blkid /dev/vdb2

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

    [testuser@ecshost ~]# blkid /dev/vdb2
    /dev/vdb2: UUID="e3f336dc-d534-4fdd-****-b6ff1a55bdbb" TYPE="ext4"
  5. 次のコマンドを実行して、新しいパーティションをマウントします。

    sudo mount /dev/vdb2 /mnt
  6. 次のコマンドを実行して、データディスクの領域と使用状況を確認します。

    df -h

    新しいファイルシステムに関する情報が表示され、パーティションが正常にマウントされたことを示します。

    [testuser@ecshost ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/vda1 40G 1.6G 36G 5% /
    devtmpfs 3.9G 0 3.9G 0% /dev
    tmpfs 3.9G 0 3.9G 0% /dev/shm
    tmpfs 3.9G 460K 3.9G 1% /run
    tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
    /dev/vdb2 9.8G 37M 9.2G 1% /mnt
    tmpfs 783M 0 783M 0% /run/user/0

オプション 3: 既存の GPT パーティションを拡張する

新しい領域を使用して既存の GPT パーティションを拡張するには、インスタンスで次の手順に従います。

  1. データディスクのマウントパスを表示し、そのすべてのパーティションをアンマウントします。

    マウント情報を表示します。

    mount | grep "/dev/vdb"

    パーティションをアンマウントします。

    sudo umount /dev/vdb1

    結果を確認します。

    mount | grep "/dev/vdb"

    以下はサンプル結果です。

    [testuser@ecshost ~]# mount | grep "/dev/vdb"
    /dev/vdb1 on /mnt type ext4 (rw,relatime,data=ordered)
    [testuser@ecshost ~]# sudo umount /dev/vdb1
    [testuser@ecshost ~]# mount | grep "/dev/vdb"
  2. Parted ツールを使用して、既存の GPT パーティションを拡張します。

    1. 次のコマンドを実行して Parted ツールを起動します。

      sudo parted /dev/vdb

      Parted ツールの使用方法に関する説明を表示するには、help コマンドを実行します。

    2. 次のコマンドを実行してパーティション情報を表示します。既存のパーティションの番号と開始セクターの値を記録します。

      print

      Fix/Ignore/Cancel?Fix/Ignore? のプロンプトが表示された場合は、両方に応答して Fix と入力します。

      この例では、既存のパーティションサイズは 1 TiB、パーティション番号 (Number の値) は 1、開始セクター (Start の値) は 1049kB です。

      resize-gpt-start

    3. 次のコマンドを実行して、既存のパーティションを削除します。

      rm <パーティション番号>

      この例では、既存のパーティションのパーティション番号は 1 です。したがって、コマンドは次のようになります。

      rm 1
    4. 次のコマンドを実行して、プライマリパーティションを再作成します。

      mkpart primary <元のパーティションの開始セクター> <容量割り当て率>

      この例では、元のパーティションの開始セクターは 1049kB です。終了セクターは 100% に設定され、合計容量 3 TiB がこのパーティションに割り当てられます。したがって、コマンドは次のようになります。

      mkpart primary 1049kB 100%
    5. 次のコマンドを実行して、新しいパーティションが作成されたことを確認します。

      print

      次の図に示すように、新しい GPT パーティションは依然としてパーティション 1 であり、その容量は現在 3 TiB です。

      GPT partition result

    6. 次のコマンドを実行して Parted ツールを終了します。

      quit

    以下はコマンドインタラクションのサンプルです。

    [testuser@ecshost ~]# sudo parted /dev/vdb
    GNU Parted 3.1
    Using /dev/vdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) print
    Error: The backup GPT table is not at the end of the disk, as it should be.
    This might mean that another operating system believes the disk is smaller.
    Fix, by moving the backup to the end (and removing the old backup)?
    Fix/Ignore/Cancel? Fix
    Warning: Not all of the space available to /dev/vdb appears to be used, you can
    fix the GPT to use all of the space (an extra 4294967296 blocks) or continue
    with the current setting?
    Fix/Ignore? Fix
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 3299GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     Flags
     1      1049kB  1100GB  1100GB  ext4         primary
    
    (parted) rm 1
    (parted) mkpart primary 1049kB 100%
    (parted) print
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 3299GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     Flags
     1      1049kB  3299GB  3299GB  ext4         primary
    
    (parted) quit
    Information: You may need to update /etc/fstab.
  3. 次のコマンドを実行して、ファイルシステムの一貫性を確認します。

    sudo fsck -f /dev/vdb1

    以下はサンプル結果です。

    [testuser@ecshost ~]# sudo fsck -f /dev/vdb1
    fsck from util-linux 2.23.2
    e2fsck 1.43.5 (04-Aug-2017)
    パス 1: iノード、ブロック、サイズのチェック
    パス 2: ディレクトリ構造のチェック
    パス 3: ディレクトリ接続性のチェック
    パス 4: 参照カウントのチェック
    パス 5: グループサマリー情報のチェック
    /dev/vdb1: 11/67108864 files (0.0% non-contiguous), 4265369/268434944 blocks
  4. パーティション上のファイルシステムのサイズを変更し、パーティションを再マウントします。

    • ext* ファイルシステム (ext3 や ext4 など):

      次のコマンドを実行して、パーティション上の ext* ファイルシステムのサイズを変更します。

      sudo resize2fs /dev/vdb1

      次のコマンドを実行して、パーティションを再マウントします。

      sudo mount /dev/vdb1 /mnt
    • xfs ファイルシステム:

      次のコマンドを実行して、パーティションを再マウントします。

      sudo mount /dev/vdb1 /mnt

      次のコマンドを実行して、xfs ファイルシステムのサイズを変更します。

      sudo xfs_growfs /mnt
      説明

      xfs_growfs の新しいバージョンでは、xfs_growfs /mnt のように、マウントポイントで拡張するデバイスを識別します。xfs_growfs --help を実行して、xfs_growfs のさまざまなバージョンの使用法を確認できます。

    • btrfs ファイルシステム:

      次のコマンドを実行して、パーティションを再マウントします。

      sudo mount /dev/vdb1 /mnt

      次のコマンドを実行して、btrfs ファイルシステムのサイズを変更します。

      sudo btrfs filesystem resize max /mnt

オプション 4: 新しい GPT パーティションを追加してフォーマットする

新しいディスク領域を使用して GPT 形式で新しいパーティションを追加する場合は、次の手順に従います。この例では、/dev/vdb1 という名前の既存の 4.8 TiB パーティションを持つ 32 TiB のデータディスクを使用します。/dev/vdb2 という名前の新しいパーティションが作成されます。

  1. 次のコマンドを実行して、データディスク上の既存のパーティションに関する情報を表示します。

    sudo fdisk -l

    以下は結果のサンプルです。

    [testuser@ecshost ~]# sudo fdisk -l
    Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x000b1b45
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *        2048    83875364    41936658+  83  Linux
    WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
    
    Disk /dev/vdb: 35184.4 GB, 35184372088832 bytes, 68719476736 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: gpt
    Disk identifier: BCE92401-F427-45CC-8B0D-B30EDF279C2F
    
    #         Start          End    Size  Type            Name
     1         2048  10307921919    4.8T  Microsoft basic mnt                    
  2. Parted ユーティリティを使用して、新しいパーティションを作成し、領域を割り当てます。

    1. 次のコマンドを実行して Parted ユーティリティを起動します。

      sudo parted /dev/vdb
    2. print コマンドを実行して、現在のパーティションレイアウトを表示します。既存のパーティションの終了位置をメモします。

      print free

      この例では、既存のパーティション /dev/vdb1 は 5278 GB で終了します。

      (parted) print free
      Model: Virtio Block Device (virtblk)
      Disk /dev/vdb: 35.2TB
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt
      Disk Flags:
      
      Number  Start   End     Size    File system  Name  Flags
              17.4kB  1049kB  1031kB  Free Space
       1      1049kB  5278GB  5278GB  ext4         mnt
              5278GB  35.2TB  29.9TB  Free Space                    
    3. 次のコマンドを実行して、開始セクターと割り当てサイズを設定します。

      mkpart <パーティション名> <開始セクター> <容量割り当て率>

      この例では、"test" というラベルの付いた /dev/vdb2 という名前の新しいパーティションを作成します。パーティションは 5278 GB (前のパーティションの直後) から始まり、ディスクの最後まで拡張されます。

      mkpart test 5278GB 100%
    4. 次のコマンドを実行して、容量 (Size) を確認します。

      print

      以下は結果のサンプルです。

      (parted) print
      Model: Virtio Block Device (virtblk)
      Disk /dev/vdb: 35.2TB
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt
      Disk Flags:
      
      Number  Start   End     Size    File system  Name  Flags
       1      1049kB  5278GB  5278GB  ext4         mnt
       2      5278GB  35.2TB  29.9TB               test                    
    5. 次のコマンドを実行して Parted ユーティリティを終了します。

      quit
  3. 新しいパーティションにファイルシステムを作成します。

    • ext4 ファイルシステムを作成します。

      sudo mkfs.ext4 /dev/vdb2
    • ext3 ファイルシステムを作成します。

      sudo mkfs.ext3 /dev/vdb2
    • XFS ファイルシステムを作成します。

      sudo mkfs.xfs -f /dev/vdb2
    • btrfs ファイルシステムを作成します。

      sudo mkfs.btrfs /dev/vdb2

    この例では、XFS ファイルシステムを作成します。

    [testuser@ecshost ~]# sudo mkfs -t xfs /dev/vdb2
    meta-data=/dev/vdb2              isize=512    agcount=28, agsize=268435455 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0, sparse=0
    data     =                       bsize=4096   blocks=7301444096, imaxpct=5
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal log           bsize=4096   blocks=521728, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0               
  4. 次のコマンドを実行して、マウントされたファイルシステムのディスク領域を確認します。

    sudo fdisk -l

    以下は結果のサンプルです。

    [testuser@ecshost ~]# sudo fdisk -l
    Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x000b1b45
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *        2048    83875364    41936658+  83  Linux
    WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
    
    Disk /dev/vdb: 35184.4 GB, 35184372088832 bytes, 68719476736 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: gpt
    Disk identifier: BCE92401-F427-45CC-8B0D-B30EDF279C2F
    
    #         Start          End    Size  Type            Name
     1         2048  10307921919    4.8T  Microsoft basic mnt
     2  10307921920  68719474687   27.2T  Microsoft basic test  
  5. blkid コマンドを実行して、UUID やファイルシステムタイプなど、新しいパーティションの属性を表示します。

    blkid

    以下は結果のサンプルです。

    [testuser@ecshost ~]# blkid
    /dev/vda1: UUID="ed95c595-4813-480e-****-85b1347842e8" TYPE="ext4"
    /dev/vdb1: UUID="21e91bbc-7bca-4c08-****-88d5b3a2303d" TYPE="ext4" PARTLABEL="mnt" PARTUUID="576235e0-5e04-4b76-****-741cbc7e98cb"
    /dev/vdb2: UUID="a7dcde59-8f0f-4193-****-362a27192fb1" TYPE="xfs" PARTLABEL="test" PARTUUID="464a9fa9-3933-4365-****-c42de62d2864"  
  6. 新しいパーティションをマウントします。

    sudo mount /dev/vdb2 /mnt

オプション 5: raw デバイスのファイルシステムを拡張する

パーティションのない raw データディスク上にファイルシステムを作成した場合は、次の手順に従ってファイルシステムを拡張します。

  1. 次のコマンドを実行して、ストレージデバイスのファイルシステムタイプを確認します。

    df -Th

    次の出力は、/dev/vdb デバイスのファイルシステムが xfs であることを示しています。

    [testuser@ecshost ~]# df -Th
    Filesystem     Type      Size  Used Avail Use% Mounted on
    devtmpfs       devtmpfs  434M     0  434M   0% /dev
    tmpfs          tmpfs     446M     0  446M   0% /dev/shm
    tmpfs          tmpfs     446M  524K  446M   1% /run
    tmpfs          tmpfs     446M     0  446M   0% /sys/fs/cgroup
    /dev/vda1      ext4       20G  2.5G   17G  14% /
    tmpfs          tmpfs      90M     0   90M   0% /run/user/0
    /dev/vdb       xfs        20G   53M   20G   1% /mnt
  2. タイプに基づいてファイルシステムを拡張します。

    • xfs ファイルシステム

      xfs_growfs コマンドを実行してファイルシステムを拡張します。

      sudo xfs_growfs /mnt

      このコマンドでは、/mnt はファイルシステムのマウントポイントです。

      説明

      xfs_growfs の新しいバージョンでは、xfs_growfs /mnt のように、マウントポイントで拡張するデバイスを識別します。xfs_growfs --help を実行して、xfs_growfs のさまざまなバージョンの使用法を確認できます。

    • ext* および btrfs ファイルシステム

      1. マウント情報を確認します。

        mount | grep "/dev/vdb"
      2. データディスクをアンマウントします。

        sudo umount /dev/vdb
      3. 操作結果を表示できます。

        mount | grep "/dev/vdb"

        以下は結果のサンプルです。

        [testuser@ecshost ~]# mount | grep "/dev/vdb"
        /dev/vdb on /mnt type ext4 (rw,relatime,data=ordered)
        [testuser@ecshost ~]# sudo umount /dev/vdb
        [testuser@ecshost ~]# mount | grep "/dev/vdb"
      4. ファイルシステムを拡張します。

        • ext* ファイルシステム: resize2fs コマンドを実行してファイルシステムを拡張します。

          sudo resize2fs /dev/vdb
        • btrfs ファイルシステム: btrfs コマンドを実行してファイルシステムを拡張します。

          sudo btrfs filesystem resize max /mnt

          このコマンドでは、/mnt はファイルシステムのマウントポイントです。

      5. データディスクを再マウントします。

        sudo mount /dev/vdb /mnt
  3. df -Th コマンドを実行して、ファイルシステムが拡張されたことを確認します。

    df -Th

    次の出力に示すようにファイルシステムの容量が増加した場合、拡張は成功です。

    [testuser@ecshost ~]# df -Th
    Filesystem     Type      Size  Used Avail Use% Mounted on
    devtmpfs       devtmpfs  434M     0  434M   0% /dev
    tmpfs          tmpfs     446M     0  446M   0% /dev/shm
    tmpfs          tmpfs     446M  524K  446M   1% /run
    tmpfs          tmpfs     446M     0  446M   0% /sys/fs/cgroup
    /dev/vda1      ext4       20G  2.5G   17G  14% /
    tmpfs          tmpfs      90M     0   90M   0% /run/user/0
    /dev/vdb       xfs        30G   63M   30G   1% /mnt