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

:手順 2: パーティションとファイルシステムを拡張する

最終更新日:Aug 12, 2025

ディスクの容量を拡張した後、パーティションとファイルシステムも拡張する必要があります。 このプロセスは、新しく追加された容量を既存のパーティションとファイルシステムに割り当て、オペレーティングシステムが追加の領域を使用できるようにします。 このトピックでは、RDS Custom インスタンスのディスクのパーティションとファイルシステムを拡張する方法について説明します。

前提条件

  • RDS Custom インスタンスは、次の要件を満たしています。

    • ステータスは [実行中] です。

    • オペレーティングシステムは Alibaba Cloud Linux 2/3、CentOS 7 以降、Debian 11 以降、または Ubuntu 14 以降です。

  • ディスクは、次の要件を満たしています。

    • ステータスは [使用中] です。

    • システムディスクの使用率は 100% 未満です。

      重要

      拡張を確実に成功させるために、インスタンスにログインし、df -h コマンドを実行して、ルートパーティションの使用率が 100% 未満であることを確認してください。

  • ディスク容量を拡張しましたが、パーティションとファイルシステムはまだ拡張していません。

注意事項

強くお勧めしますが、ディスクを拡張する前に、ディスクのスナップショットを作成してデータをバックアップしてください。

説明

パーティションとファイルシステムの拡張ではデータが失われることはありません。 ただし、誤操作によるデータ損失を防ぐために、スナップショットを作成してディスクデータをバックアップすることをお勧めします。

手順

手順 1: 拡張するディスクの情報を表示し、拡張手順を確認する

  1. RDS Custom インスタンスに接続します

  2. 次のコマンドを実行して、拡張するディスクの名前とそのパーティション情報を表示します。

    sudo fdisk -lu

    image

    1. ディスクがパーティション分割されているかどうかを確認します。 上の図では、インスタンスには 3 つのディスクがあります。システムディスク /dev/nvme0n1 と 2 つのデータディスク /dev/nvme1n1 と /dev/nvme2n1 です。 データディスクを例として使用します。

      • データディスク /dev/nvme1n1パーティション分割されています。/dev/nvme1n1p1 パーティションがあります。

      • データディスク /dev/nvme2n1パーティション分割されていません (raw デバイスです)

    2. ディスクのパーティションタイプを決定します。 Disklabel type フィールドは、パーティションタイプを示します。 値 gpt は GUID パーティションテーブル (GPT) を示し、値 dos はマスターブートレコード (MBR) を示します。 この例では、ディスクは GPT パーティションタイプを使用しています。

  3. 次のコマンドを実行して、拡張するディスクのファイルシステム情報を取得します。

    • パーティション分割されていないディスクの場合

      sudo file -s /dev/raw_device_name
    • パーティション分割されたディスクの場合

      sudo file -s /dev/partition_name

    /dev/nvme1n1p1 パーティションを例に説明します。 次のコマンドを実行します。

    sudo file -s /dev/nvme1n1p1
    • 次の結果が返された場合、/dev/nvme1n1p1 パーティションのファイルシステムは ext4 です。

      /dev/nvme1n1p1: Linux rev 1.0 ext4 filesystem data, UUID=342527ce-**** (needs journal recovery) (extents) (64bit) (large files) (huge files)
    • /dev/nvme1n1p1: data が返された場合、パーティションにはファイルシステムがありません。

  4. 実行する拡張手順を確認します。

手順 2: パーティションを拡張する

ディスクがパーティション分割されていないが、ファイルシステムがある場合は、パーティションを拡張する必要はありません。 手順 3: ファイルシステムを拡張するを直接実行できます。

  1. 次のコマンドを実行して、パーティションを拡張します。 この例では、/dev/nvme1n1p1 パーティションを使用します。 /dev/nvme1n1 はディスク名で、1p1 内)はパーティション番号です。 ディスク名とパーティション番号の間にはスペースが必要です。 コマンド内のディスク名とパーティション番号を実際の値に置き換えてください。

    Alibaba Cloud Linux 2/3、CentOS 7 以降

    • GPT パーティション ( gdisk ツールが必要です。)

      type growpart || sudo yum install -y cloud-utils-growpart
      sudo yum update cloud-utils-growpart
      type sgdisk || sudo yum install -y gdisk
      sudo LC_ALL=en_US.UTF-8 growpart /dev/nvme1n1 1 
    • MBR パーティション

      type growpart || sudo yum install -y cloud-utils-growpart
      sudo yum update cloud-utils-growpart
      sudo LC_ALL=en_US.UTF-8 growpart /dev/nvme1n1 1

    Debian 11 以降、Ubuntu 14 以降

    • GPT パーティション ( gdisk ツールが必要です。)

      sudo apt-get update
      sudo apt-get install -y cloud-guest-utils
      type sgdisk || sudo apt-get install -y gdisk
      sudo LC_ALL=en_US.UTF-8 growpart /dev/nvme1n1 1
    • MBR パーティション

      sudo apt-get update
      sudo apt-get install -y cloud-guest-utils
      sudo LC_ALL=en_US.UTF-8 growpart /dev/nvme1n1 1
    重要
    • NVMe ディスクの場合、/dev/nvme1n1p1 パーティションを例に説明します。 /dev/nvme1n1 はディスク名で、1p1 内)はパーティション番号です。 ディスク名とパーティション番号の間にはスペースが必要です。 パーティションを拡張するには、growpart /dev/nvme1n1 1 コマンドを実行します。

    • 仮想ディスクの場合、/dev/vdb1 パーティションを例に説明します。 /dev/vdb はディスク名で、1 はパーティション番号です。 ディスク名とパーティション番号の間にはスペースが必要です。 拡張コマンドは growpart /dev/vdb 1 です。

    • LC_ALL=en_US.UTF-8 は、中国語オペレーティングシステムの文字コードとの互換性を確保するための環境変数設定です。

    • ディスクに複数の連続したパーティションがある場合、最後のパーティションのみを拡張できます。 たとえば、データディスク /dev/nvme3n1 には、/dev/nvme3n1p1/dev/nvme3n1p2/dev/nvme3n1p3 の 3 つのパーティションがあります。 最後のパーティション /dev/nvme3n1p3 のみ拡張できます。 データディスクのパーティションを拡張するには、growpart /dev/nvme3n1 3 コマンドを実行します。

    • 拡張するディスクパーティションが MBR パーティションテーブルの拡張パーティションである場合 (パーティション番号は通常 5 以上です)、論理パーティションを拡張する前に拡張パーティションを拡張する必要があります。 たとえば、/dev/nvme1n1p1 (プライマリパーティション)、/dev/nvme1n1p2 (拡張パーティション)、/dev/nvme1n1p5 (論理パーティション) の 3 つのパーティションがある場合、growpart /dev/nvme1n1 2 を実行してから、growpart /dev/nvme1n1 5 を実行してパーティションを拡張する必要があります。

    CHANGED を含むメッセージが返された場合、パーティションは拡張されています。

    CHANGED: partition=1 start=2048 old: size=41938944 end=41940991 new: size=52426719 end=52428766
  2. 次のコマンドを実行して、パーティションが拡張されたかどうかを確認します。

    sudo fdisk -lu

    /dev/nvme1n1p1 パーティションの拡張を例に説明します。 /dev/nvme1n1p1 パーティションの容量が /dev/nvme1n1 ディスクの容量と同じであれば、パーティションは正常に拡張されています。

    image

手順 3: ファイルシステムを拡張する

  1. 次のコマンドを実行して、拡張するデバイスのマウントディレクトリを取得します。

    df -Th

    image

    Type の値はファイルシステムタイプです。 Mounted on の値は、パーティションのマウントディレクトリです。 次に例を示します。

    • /dev/nvme2n1 ディスクのファイルシステムは ext4 で、マウントディレクトリは /tmp です。

    • /dev/nvme1n1p1 パーティションのファイルシステムは ext4 で、マウントディレクトリは /mnt です。

    説明

    [ファイルシステム] の値が nvme2n1 などのディスク名の場合、デスティネーションディスクはパーティション分割されておらず、raw デバイスです。 値が /dev/nvme1n1p1 などのパーティション名の場合、デスティネーションディスクはパーティション分割されています。

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

    ext* (ext2、ext3、ext4 など) ファイルシステム

    • /dev/nvme2n1 ディスクなどのパーティション分割されていないディスクの場合。

      sudo resize2fs /dev/nvme2n1
    • たとえば、/dev/nvme1n1p1 はディスクパーティションです。

      sudo resize2fs /dev/nvme1n1p1

    xfs ファイルシステム

    マウントディレクトリが/mnt である xfs ファイルシステムの拡張を例に説明します。 必要に応じて、コマンド内のマウントディレクトリを置き換えてください。

    • Alibaba Cloud Linux 2/3、CentOS 7 以降

      type xfs_growfs || sudo yum install -y xfsprogs
      sudo xfs_growfs /mnt
    • Debian 11 以降、Ubuntu 14 以降

      type xfs_growfs || sudo apt-get install -y xfsprogs
      sudo xfs_growfs /mnt

    btrfs ファイルシステム

    マウントディレクトリが/mnt である btrfs ファイルシステムの拡張を例に説明します。 必要に応じて、コマンド内のマウントディレクトリを置き換えてください。

    sudo btrfs filesystem resize max /mnt
  3. df -Th コマンドを実行して、拡張が成功したかどうかを確認します。

    たとえば、/dev/nvme1n1p1 パーティションを含むディスクが 25 GiB に拡張されています。 ファイルシステムが拡張されると、その容量も 25 GiB になります。

    説明

    ファイルシステムは特定量のストレージ容量を占有するため、ファイルシステムの空き容量は、拡張されたディスクの合計容量よりわずかに小さくなる場合があります。

よくある質問

growpart 関連の問題

  • 質問 1: growpart コマンドを実行してパーティションを拡張すると、unexpected output in sfdisk --version [sfdisk, from util-linux 2.23.2] エラーメッセージが報告されます。

    原因: 中国語オペレーティングシステムでは、en_US.UTF-8 以外の文字コードタイプが使用されています。

    解決策:

    • locale コマンドを実行して、RDS Custom インスタンスの文字コードタイプを確認し、en_US.UTF-8 以外の文字コードタイプを en_US.UTF-8 に切り替えます。

      • 次のコマンドを実行して、文字コードタイプを切り替えます。

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

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

    重要

    文字コードを切り替えてパーティションを正常に拡張した後、必要に応じて元の文字コードタイプに戻すことをお勧めします。

  • 質問 2: growpart コマンドを実行してパーティションを拡張すると、unexpected output in sfdisk --version [sfdisk (util-linux-ng 2.17.2)] エラーメッセージが報告されます。

    原因: fdisk のバージョンが growpart のバージョンと互換性がありません。

    解決策: growpart のバージョンを 0.27 にダウングレードしてみてください。 問題が解決しない場合は、Linux データディスクのパーティションとファイルシステムを拡張するを参照して、パーティションを拡張してください。

  • 質問 3: growpart コマンドを実行してパーティションを拡張すると、FAILED: unable to determine partition type エラーメッセージが報告されます。

    原因: ディスクは raw デバイスであり、パーティション分割されていません。 raw デバイスのパーティションを拡張する必要はありません。 ファイルシステムを直接拡張できます。

    解決策: 手順 3: ファイルシステムを拡張するを直接実行します。

  • 質問 4: growpart コマンドを実行してパーティションを拡張すると、WARNING: MBR/dos partitioned disk is larger than 2TB. Additional space will go unused. エラーメッセージが報告されます。

    原因: MBR パーティションタイプは、2 TiB を超えるディスクをサポートしていません。

    解決策: パーティションタイプを MBR から GPT に変換してから、パーティションを拡張します。 詳細については、「MBR パーティションを GPT パーティションに変換する」をご参照ください。

  • 質問 5: growpart コマンドを実行してパーティションを拡張すると、mkdir: cannot create directory ... No space left on device エラーメッセージが報告されます。

    原因: ディスク容量が不足しているため、growpart コマンドは一時フォルダを作成できません。

    解決策: ディスク容量を拡張します

  • 質問 7: デバイス名が /dev/mapper で始まるパーティションを拡張できません。

    原因: /dev/mapper で始まるデバイス名は、ディスクパーティションが Logical Volume Manager (LVM) によって管理されていることを示します。

    解決策: LVM を使用して論理ボリュームを拡張してから、ファイルシステムを拡張する必要があります。 詳細については、「LVM を使用して論理ボリュームを拡張する」をご参照ください。

  • 質問 8: growpart コマンドを実行してパーティションを拡張すると、NOCHANGE: partition 1 could only be grown by 2015 [fudge=2048] エラーメッセージが報告されます。

    原因: パーティション拡張に使用できる空き容量がありません。 この問題は通常、コンソールでディスクをオフラインで拡張した後、コンソールまたは OpenAPI を使用してインスタンスを再起動しないために発生します。 その結果、ディスク拡張は有効になりません。

    解決策: ディスクをオフラインで拡張した後、インスタンスを再起動してディスク拡張を有効にする必要があります。 詳細については、「インスタンスを再起動する」をご参照ください。

resize2fs 関連の問題

  • 質問 1: resize2fs コマンドを実行してファイルシステムを拡張すると、Couldn't find valid filesystem superblock. または open: Is a directory while opening /mnt エラーメッセージが報告されます。

    原因: resize2fs を使用してファイルシステムを拡張する場合、ディスクデバイス名またはマウントディレクトリではなく、ディスクパーティション名を指定する必要があります。

    解決策: ファイルシステムを拡張するときは、正しいパーティション名を指定します。

  • 質問 2: resize2fs コマンドを実行してファイルシステムを拡張すると、The filesystem is already ... blocks long. Nothing to do! エラーメッセージが報告されます。

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

    解決策:

    • growpart を使用してパーティションを拡張する手順を正常に実行したかどうかを確認します。 そうでない場合は、growpart コマンドを実行してパーティションを拡張します。

    • growpart コマンドを実行し、CHANGED メッセージが返されたにもかかわらず、resize2fs コマンドを実行するとエラーが発生する場合は、オペレーティングシステムのバージョンが古く、システムパーティションテーブルをオンラインで更新できないことが原因である可能性があります。 この場合、reboot コマンドを実行してインスタンスを再起動してから、resize2fs コマンドを再度実行します。

  • 質問 3: resize2fs コマンドを実行してファイルシステムを拡張すると、resize2fs: Permission denied to resize filesystem エラーメッセージが報告されます。

    原因: ファイルシステムに不整合があるため、ファイルシステムの拡張が失敗する可能性があります。

    解決策:

    • dmesg -T | grep fs コマンドを実行します。 There are errors in the filesystem などのメッセージが返された場合、ファイルシステムに不整合があります。

    • ディスクデータをバックアップします。 詳細については、「スナップショットを作成する」をご参照ください。

    • e2fsck コマンドを使用してファイルシステムを修復してみてください。 e2fsck コマンドの使用方法については、マニュアルを参照してください。

関連情報

RDS Custom の概要