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

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

最終更新日:Aug 29, 2024

Elastic Compute Service (ECS) コンソールでディスク容量を拡張してLinuxインスタンスのディスクのサイズを変更した後、新しいディスク容量を有効にするには、インスタンスオペレーティングシステムのディスク上のパーティションとファイルシステムを拡張する必要があります。 Linuxオペレーティングシステムの初期バージョンでは、growpartなどのツールを使用して、オンラインでディスク上のパーティションやファイルシステムを拡張することはできません。 この場合、インスタンスオペレーティングシステムのパーティションとファイルシステムをオフラインで拡張する必要があります。 マウント状態のディスクはオンラインであり、マウント状態のディスクはオフラインです。 このトピックでは、Linuxインスタンスのデータディスク上のパーティションとファイルシステムをオフラインで拡張する方法について説明します。

前提条件

  1. Linuxインスタンスのデータディスク用にスナップショットが作成され、データがバックアップされます。

    偶発的な操作によるデータの損失を防ぐため、スナップショットを作成してデータをバックアップすることを推奨します。 詳細については、「ディスクのスナップショットの作成」をご参照ください。

  2. Linuxインスタンスのデータディスクは、ECSコンソールで初期化および拡張されます。

    詳細については、「データディスクの初期化」および「手順1: ディスクのサイズを変更して容量を拡張する」をご参照ください。

  3. ECS インスタンスに接続します。

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

背景情報

このトピックの例では、次の設定を持つインスタンスが使用されています。

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

  • データディスク: ウルトラディスク

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

データディスクの実際のオペレーティングシステムとデバイス名に基づいて、コマンドまたはパラメーター設定を変更します。

説明

mountコマンドを実行してファイルシステムをマウントするときは、ビジネス要件に基づいてパラメーターを設定し、ファイルシステムのデータセキュリティとパフォーマンスを確保します。 詳細については、「mountコマンドを実行してext4ファイルシステムをマウントする」をご参照ください。

データディスクのパーティション形式とファイルシステムの種類を確認する

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

    sudo fdisk -lu /dev/vdb

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

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

    • Systemパラメーターの値がGPTの場合、データディスクは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は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

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

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

シナリオ

Extendメソッド

データディスクにはパーティションとファイルシステムがあります。

データディスクは、パーティションまたはファイルシステムを持たない新しいディスクです。

ECSコンソールで容量を拡張してデータディスクのサイズを変更した後、「Linuxインスタンスでサイズが2 TiBを超えないデータディスクを初期化する」または「サイズが2 TiBを超えるデータディスクを初期化する」で説明されている操作を実行します。

データディスクは、ファイルシステムを持つパーティション分割されていない生のディスクです。

ECSコンソールで容量を拡張してデータディスクのサイズを変更したら、「方法5: rawディスクのファイルシステムを拡張する」で説明されている操作を実行します。

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

データディスクをインスタンスに接続した後、このトピックで説明する操作を実行して、データディスク上のパーティションとファイルシステムを拡張します。

説明
  • データディスクにMBRパーティションがある場合、ディスクのサイズを2 TiB以上に変更することはできません。 データの損失を防ぐために、サイズが2 TiBを超えるディスクを作成し、ディスク上にGPTパーティションを作成してフォーマットしてから、MBRパーティションから新しいディスクのGPTパーティションにデータをコピーすることをお勧めします。 詳細については、「サイズが2 TiBを超えるデータディスクの初期化」をご参照ください。

  • サイズ変更またはフォーマットツールで問題が発生してデータディスクのサイズを変更できない場合は、ツールを新しいバージョンにアップグレードするか、ツールを再インストールできます。

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

説明

データの損失を防ぐために、インスタンスにマウントされているパーティションとファイルシステムを拡張しないことをお勧めします。 インスタンスにマウントされているパーティションを拡張する場合は、umountコマンドを実行してパーティションをアンマウントし、パーティションを拡張し、パーティションが期待どおりに機能するまで待機してから、mountコマンドを実行してパーティションを再マウントします。 Linuxインスタンスのカーネルバージョンに基づいて操作を実行します。

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

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

既存のMBRパーティションを拡張して追加のディスク容量を消費するには、次の操作を実行します。

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

    1. 次のコマンドを実行して、パーティション情報を表示し、既存のパーティションの開始セクタ (startパラメーターの値) と終了セクタ (endパラメーターの値) を記録します。

      sudo fdisk -lu /dev/vdb

      この例では、/dev/vdb1パーティションが使用されています。 パーティションのStartの値は2048、Endの値は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. <Partition number> を入力して、パーティション番号を選択します。 この例では、パーティション番号として1が選択されている。

      6. 新しいパーティションの開始セクタと終了セクタを指定します。

        警告

        新しいパーティションの開始セクタの値は、削除されたパーティションの開始セクタの値と同じでなければならず、新しいパーティションの終了セクタの値は、削除されたパーティションの終了セクタの値よりも大きくなければならない。 それ以外の場合、extend操作は失敗します。

      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リポジトリのURLを変更します。 詳細については、「CentOS 6ソースアドレスの変更」をご参照ください。 sudo yum install -y partedコマンドを実行し、Partedツールをインストールします。 次に、partprobe /dev/vdbコマンドを再実行します。

      sudo partx -u /dev/vdb1
    6. 次のコマンドを実行して、パーティションテーブルが期待どおりに変更されているかどうかを確認します。

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

      sudo e2fsck -f /dev/vdb1
      説明

      コマンドの出力でファイルシステムがclean状態であることが示されていない場合は、sudo e2fsck -n /dev/vdb1コマンドを実行してファイルシステムを確認します。

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

    • Ext3ファイルシステムやExt4ファイルシステムなどのExtファイルシステムの場合、次のコマンドを順番に実行して、ファイルシステムを拡張し、パーティションを再マウントします。

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

      sudo resize2fs /dev/vdb1

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

      sudo mount /dev/vdb1 /mnt
    • XFSファイルシステムの場合は、次のコマンドを順番に実行してパーティションを再マウントし、ファイルシステムを拡張します。

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

      sudo mount /dev/vdb1 /mnt

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

      sudo xfs_growfs /mnt

      説明

      xfs_growfsの新しいバージョンには、引数としてマウントポイントが必要です。 例: xfs_growfs /mnt ファイルシステムを拡張するには、ファイルシステムのマウントポイントを指定してxfs_growfsコマンドを実行します。 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

    次のサンプルコードでは、パーティションの作成方法の例を示します。 この例では、/dev/vdb2という名前の20 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 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
    └─vd└─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. データディスクのマウントパスを表示し、パスに基づいて既存のパーティションをマウント解除してから、パーティションがマウント解除されていることを確認します。 この例では、/dev/vdb1パーティションが使用されています。

    次のコマンドを実行して、マウント情報を表示します。

    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を入力します。

      この例では、パーティションのサイズは1 TiBであり、パーティション番号 (numberの値) は1であり、開始セクタ (startの値) は1049kBである。

      resize-gpt-start

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

      rm <Partition number>

      この例では、パーティション数は1です。 次のコマンドを実行して、パーティションを削除します。

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

      mkpart primary <Start sector of the original partition> <Percentage of capacity to be allocated>

      この例では、元のパーティションのStart値は1049kBで、パーティションはディスク容量の3 TiBすべてを消費するように拡張されています。 次のコマンドを実行して、プライマリパーティションを作成します。

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

      print

      以下のようなコマンド出力が返されます。 コマンド出力では、新しいGPTパーティションのパーティション番号は1であり、パーティションの容量は3 TiBに増加されます。

      GPT分区结果

    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)
    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/67108864 files (0.0% non-contiguous), 4265369/268434944 blocks
  4. 新しいパーティションでファイルシステムを拡張し、パーティションをマウントします。

    • Ext3またはExt4ファイルシステムなどのExtファイルシステム:

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

      sudo resize2fs /dev/vdb1

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

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

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

      sudo mount /dev/vdb1 /mnt

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

      sudo xfs_growfs /mnt
      説明

      xfs_growfsの新しいバージョンには、引数としてマウントポイントが必要です。 例: xfs_growfs /mnt ファイルシステムを拡張するには、ファイルシステムのマウントポイントを指定してxfs_growfsコマンドを実行します。 xfs_growfs -- helpコマンドを実行して、異なるバージョンのxfs_growfsの使用方法を確認できます。

    • BTRFSファイルシステム

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

      sudo mount /dev/vdb1 /mnt

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

      sudo btrfs filesystem resize max /mnt

方法4: GPTパーティションの作成とフォーマット

追加のディスク容量を消費するGPTパーティションを作成するには、次の操作を実行します。 この例では、32 TiBデータディスクが使用されます。 ディスクには4.8 TiB /dev/vdb1パーティションがあり、新しい /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. 次のコマンドを実行して、割り当て可能なディスク容量を表示します。 既存のパーティションの開始セクタ (startの値) 、終了セクタ (endの値) 、および容量 (Sizeの値) を記録します。

      print free

      この例では、/dev/vdb1のStart値は1049KB、End値は5278GB、Size値は5278GBです。

      (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 <Partition name> <Start sector> <Percentage of capacity to be allocated>

      この例では、testという名前の /dev/vdb2パーティションが作成されます。 新しいパーティションの開始セクタは、既存のパーティションの終了セクタである。 データディスク上のすべての追加のディスク容量が新しいパーティションに割り当てられます。

      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

    以下のようなコマンド出力が返されます。

    [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ディスクのファイルシステムを拡張する

データディスクがファイルシステムを持つがパーティションを持たない生のディスクである場合は、次の操作を実行してファイルシステムを拡張します。

  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ファイルシステムの場合は、次のxfs_growfsコマンドを実行してファイルシステムを拡張します。

      sudo xfs_growfs /mnt

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

      説明

      xfs_growfsの新しいバージョンには、引数としてマウントポイントが必要です。 例: xfs_growfs /mnt ファイルシステムを拡張するには、ファイルシステムのマウントポイントを指定してxfs_growfsコマンドを実行します。 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 -hコマンドを実行して、ファイルシステムが拡張されているかどうかを確認します。

    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