一部の古い Linux オペレーティングシステムは、growpart などのツールを使用したオンラインでのディスク拡張をサポートしていません。このような場合は、ディスクをオフラインで拡張する必要があります。ディスクはマウントされている場合はオンライン、アンマウントされている場合はオフラインと見なされます。このトピックでは、Linux データディスクをオフラインで拡張する方法について説明します。
前提条件
データをバックアップするためのスナップショットを作成済みであること。
操作エラーによるデータ損失を防ぐため、続行する前にスナップショットを作成してデータをバックアップしてください。詳細については、「スナップショットの作成」をご参照ください。
コンソールでデータディスクを初期化し、その容量を拡張済みであること。
詳細については、「データディスクの初期化 (Linux)」および「ディスクの拡張」をご参照ください。
ECS インスタンスに接続済みであること。
接続方法の詳細については、「接続方法の概要」をご参照ください。
背景情報
このトピックの例では、次の構成が使用されています。
ECS インスタンスのオペレーティングシステム: Alibaba Cloud Linux 2.1903 LTS 64 ビットパブリックイメージ
データディスク: Ultra ディスク
データディスクのデバイス名: /dev/vdb。
お使いのオペレーティングシステムとデータディスクのデバイス名がこの例と異なる場合は、必要に応じてコマンドまたはパラメーターを調整してください。
ファイルシステムをマウントするために mount コマンドを使用する場合、データのセキュリティとパフォーマンスの要件に適したマウントパラメーターを選択してください。詳細については、「ext4 ファイルシステムのマウントパラメーターの説明」をご参照ください。
パーティションテーブル形式とファイルシステムの確認
次のコマンドを実行して、データディスクのパーティションテーブル形式を確認します。
sudo fdisk -lu /dev/vdbこの例では、データディスクには /dev/vdb1 という 1 つのパーティションがあります。
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説明データディスクがパーティション分割されていない場合、パーティション情報は返されません。
次のコマンドを実行して、既存のパーティションのファイルシステムタイプを確認します。
blkid /dev/vdb1この例では、/dev/vdb1 のファイルシステムは ext4 です。
[testuser@ecshost ~]# blkid /dev/vdb1 /dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"説明データディスクがパーティション分割されていない場合、またはパーティション分割されていてもファイルシステムがない場合は、情報は返されません。
次のコマンドを実行して、ファイルシステムの状態を確認します。
ext* ファイルシステム:
sudo e2fsck -n /dev/vdb1xfs ファイルシステム:
sudo xfs_repair -n /dev/vdb1btrfs ファイルシステム:
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 パーティションの拡張に使用される場合は、インスタンスで次の手順に従って拡張を完了します。
パーティションテーブルを変更します。
次のコマンドを実行してパーティション情報を表示します。古いパーティションの開始セクターと終了セクターの場所を記録します。
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次のコマンドを実行して、データディスクのマウントパスを表示し、パーティションをアンマウントします。
マウント情報を表示します。
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"fdisk ツールを使用して古いパーティションを削除します。
警告古いパーティションを削除するときにエラーが発生した場合、パーティション内のデータが失われる可能性があります。データベース内のユーザーデータなどの重要なデータがある場合は、続行する前にバックアップを作成してデータ損失を防いでください。
sudo fdisk -u /dev/vdbを実行してデータディスクをパーティション分割します。p を入力してパーティションテーブルを表示します。
d を入力してパーティションを削除します。
p を入力してパーティションが削除されたことを確認します。
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.fdisk コマンドを使用して新しいパーティションを作成します。
sudo fdisk -u /dev/vdbを実行してデータディスクをパーティション分割します。p を入力してパーティションテーブルを表示します。
n を入力して新しいパーティションを作成します。
p を入力してプライマリパーティションタイプを選択します。
<パーティション番号> を入力してパーティション番号を選択します。この例では 1 を使用します。
新しいパーティションの開始位置と終了位置を設定します。
警告新しいパーティションの開始場所は、古いパーティションと同じでなければなりません。終了場所は、古いパーティションの終了場所より大きくなければなりません。そうしないと、拡張は失敗します。
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.次のいずれかのコマンドを実行して、カーネルにパーティションテーブルを再読み込みさせます。
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次のコマンドを実行して、パーティションテーブルが更新されていることを確認します。
sudo lsblk /dev/vdb次のコマンドを再度実行してファイルシステムを確認します。パーティションが拡張された後、ファイルシステムの状態が clean であることを確認します。
sudo e2fsck -f /dev/vdb1説明ファイルシステムの状態が clean でない場合は、
sudo e2fsck -n /dev/vdb1を実行してファイルシステムを確認できます。
ファイルシステムを拡張します。
ext3 や ext4 などの ext* ファイルシステムの場合は、次のコマンドを実行してファイルシステムのサイズを変更し、パーティションをマウントします。
ext* ファイルシステムのサイズを変更します。
sudo resize2fs /dev/vdb1パーティションを /mnt にマウントします。
sudo mount /dev/vdb1 /mntxfs ファイルシステムの場合は、次のコマンドを実行してパーティションをマウントし、ファイルシステムのサイズを変更します。
パーティションを /mnt にマウントします。
sudo mount /dev/vdb1 /mntxfs ファイルシステムのサイズを変更します。
sudo xfs_growfs /mnt説明xfs_growfs の新しいバージョンでは、
xfs_growfs /mntのように、マウントポイントで拡張するデバイスを識別します。xfs_growfs --helpを実行して、xfs_growfs のさまざまなバージョンの使用法を確認できます。btrfs ファイルシステムの場合は、次のコマンドを実行してパーティションをマウントし、ファイルシステムのサイズを変更します。
パーティションを /mnt にマウントします。
sudo mount /dev/vdb1 /mntbtrfs ファイルシステムのサイズを変更します。
sudo btrfs filesystem resize max /mnt
オプション 2: 新しい MBR パーティションを追加してフォーマットする
新しい領域を使用して新しい MBR パーティションを追加する場合は、インスタンスで次の手順を実行します。
次のコマンドを実行して、新しいパーティションを作成します。
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.次のコマンドを実行して、新しいパーティションを確認します。
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次のコマンドを実行して、ファイルシステムを作成します。
ext4 ファイルシステムを作成します。
sudo mkfs.ext4 /dev/vdb2xfs ファイルシステムを作成します。
sudo mkfs.xfs -f /dev/vdb2btrfs ファイルシステムを作成します。
sudo mkfs.btrfs /dev/vdb2
次のコマンドを実行して、ファイルシステム情報を確認します。
blkid /dev/vdb2以下は出力のサンプルです。
[testuser@ecshost ~]# blkid /dev/vdb2 /dev/vdb2: UUID="e3f336dc-d534-4fdd-****-b6ff1a55bdbb" TYPE="ext4"次のコマンドを実行して、新しいパーティションをマウントします。
sudo mount /dev/vdb2 /mnt次のコマンドを実行して、データディスクの領域と使用状況を確認します。
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 パーティションを拡張するには、インスタンスで次の手順に従います。
データディスクのマウントパスを表示し、そのすべてのパーティションをアンマウントします。
マウント情報を表示します。
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"Parted ツールを使用して、既存の GPT パーティションを拡張します。
次のコマンドを実行して Parted ツールを起動します。
sudo parted /dev/vdbParted ツールの使用方法に関する説明を表示するには、
helpコマンドを実行します。次のコマンドを実行してパーティション情報を表示します。既存のパーティションの番号と開始セクターの値を記録します。
printFix/Ignore/Cancel?とFix/Ignore?のプロンプトが表示された場合は、両方に応答して Fix と入力します。この例では、既存のパーティションサイズは 1 TiB、パーティション番号 (
Numberの値) は1、開始セクター (Startの値) は1049kBです。
次のコマンドを実行して、既存のパーティションを削除します。
rm <パーティション番号>この例では、既存のパーティションのパーティション番号は
1です。したがって、コマンドは次のようになります。rm 1次のコマンドを実行して、プライマリパーティションを再作成します。
mkpart primary <元のパーティションの開始セクター> <容量割り当て率>この例では、元のパーティションの開始セクターは
1049kBです。終了セクターは 100% に設定され、合計容量 3 TiB がこのパーティションに割り当てられます。したがって、コマンドは次のようになります。mkpart primary 1049kB 100%次のコマンドを実行して、新しいパーティションが作成されたことを確認します。
print次の図に示すように、新しい GPT パーティションは依然としてパーティション 1 であり、その容量は現在 3 TiB です。

次のコマンドを実行して 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.次のコマンドを実行して、ファイルシステムの一貫性を確認します。
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パーティション上のファイルシステムのサイズを変更し、パーティションを再マウントします。
ext* ファイルシステム (ext3 や ext4 など):
次のコマンドを実行して、パーティション上の ext* ファイルシステムのサイズを変更します。
sudo resize2fs /dev/vdb1次のコマンドを実行して、パーティションを再マウントします。
sudo mount /dev/vdb1 /mntxfs ファイルシステム:
次のコマンドを実行して、パーティションを再マウントします。
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 という名前の新しいパーティションが作成されます。
次のコマンドを実行して、データディスク上の既存のパーティションに関する情報を表示します。
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 mntParted ユーティリティを使用して、新しいパーティションを作成し、領域を割り当てます。
次のコマンドを実行して Parted ユーティリティを起動します。
sudo parted /dev/vdbprint コマンドを実行して、現在のパーティションレイアウトを表示します。既存のパーティションの終了位置をメモします。
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次のコマンドを実行して、開始セクターと割り当てサイズを設定します。
mkpart <パーティション名> <開始セクター> <容量割り当て率>この例では、"test" というラベルの付いた /dev/vdb2 という名前の新しいパーティションを作成します。パーティションは 5278 GB (前のパーティションの直後) から始まり、ディスクの最後まで拡張されます。
mkpart test 5278GB 100%次のコマンドを実行して、容量 (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次のコマンドを実行して Parted ユーティリティを終了します。
quit
新しいパーティションにファイルシステムを作成します。
ext4 ファイルシステムを作成します。
sudo mkfs.ext4 /dev/vdb2ext3 ファイルシステムを作成します。
sudo mkfs.ext3 /dev/vdb2XFS ファイルシステムを作成します。
sudo mkfs.xfs -f /dev/vdb2btrfs ファイルシステムを作成します。
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次のコマンドを実行して、マウントされたファイルシステムのディスク領域を確認します。
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 testblkid コマンドを実行して、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"新しいパーティションをマウントします。
sudo mount /dev/vdb2 /mnt
オプション 5: raw デバイスのファイルシステムを拡張する
パーティションのない raw データディスク上にファイルシステムを作成した場合は、次の手順に従ってファイルシステムを拡張します。
次のコマンドを実行して、ストレージデバイスのファイルシステムタイプを確認します。
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タイプに基づいてファイルシステムを拡張します。
xfs ファイルシステム
xfs_growfs コマンドを実行してファイルシステムを拡張します。
sudo xfs_growfs /mntこのコマンドでは、
/mntはファイルシステムのマウントポイントです。説明xfs_growfs の新しいバージョンでは、
xfs_growfs /mntのように、マウントポイントで拡張するデバイスを識別します。xfs_growfs --helpを実行して、xfs_growfs のさまざまなバージョンの使用法を確認できます。ext* および btrfs ファイルシステム
マウント情報を確認します。
mount | grep "/dev/vdb"データディスクをアンマウントします。
sudo umount /dev/vdb操作結果を表示できます。
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"ファイルシステムを拡張します。
ext* ファイルシステム: resize2fs コマンドを実行してファイルシステムを拡張します。
sudo resize2fs /dev/vdbbtrfs ファイルシステム: btrfs コマンドを実行してファイルシステムを拡張します。
sudo btrfs filesystem resize max /mntこのコマンドでは、
/mntはファイルシステムのマウントポイントです。
データディスクを再マウントします。
sudo mount /dev/vdb /mnt
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