Elastic Compute Service (ECS) コンソールでディスク容量を拡張してLinuxインスタンスのディスクのサイズを変更した後、新しいディスク容量を有効にするには、インスタンスオペレーティングシステムのディスク上のパーティションとファイルシステムを拡張する必要があります。 Linuxオペレーティングシステムの初期バージョンでは、growpartなどのツールを使用して、オンラインでディスク上のパーティションやファイルシステムを拡張することはできません。 この場合、インスタンスオペレーティングシステムのパーティションとファイルシステムをオフラインで拡張する必要があります。 マウント状態のディスクはオンラインであり、マウント状態のディスクはオフラインです。 このトピックでは、Linuxインスタンスのデータディスク上のパーティションとファイルシステムをオフラインで拡張する方法について説明します。
前提条件
Linuxインスタンスのデータディスク用にスナップショットが作成され、データがバックアップされます。
偶発的な操作によるデータの損失を防ぐため、スナップショットを作成してデータをバックアップすることを推奨します。 詳細については、「ディスクのスナップショットの作成」をご参照ください。
Linuxインスタンスのデータディスクは、ECSコンソールで初期化および拡張されます。
詳細については、「データディスクの初期化」および「手順1: ディスクのサイズを変更して容量を拡張する」をご参照ください。
ECS インスタンスに接続します。
接続方法の詳細については、「接続方法の概要」をご参照ください。
背景情報
このトピックの例では、次の設定を持つインスタンスが使用されています。
オペレーティングシステム: Alibaba Cloud Linux 2.1903 LTS 64ビットパブリックイメージ
データディスク: ウルトラディスク
データディスクのデバイス名: /dev/vdb
データディスクの実際のオペレーティングシステムとデバイス名に基づいて、コマンドまたはパラメーター設定を変更します。
mount
コマンドを実行してファイルシステムをマウントするときは、ビジネス要件に基づいてパラメーターを設定し、ファイルシステムのデータセキュリティとパフォーマンスを確保します。 詳細については、「mountコマンドを実行してext4ファイルシステムをマウントする」をご参照ください。
データディスクのパーティション形式とファイルシステムの種類を確認する
次のコマンドを実行して、データディスクのパーティション形式を確認します。
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
説明データディスクがパーティション分割されていない場合、コマンド出力にはパーティション情報は含まれません。
次のコマンドを実行して、データディスク上の既存のパーティションのファイルシステムタイプを確認します。
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/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パーティションを拡張して追加のディスク容量を消費するには、次の操作を実行します。
パーティションテーブルを変更します。
次のコマンドを実行して、パーティション情報を表示し、既存のパーティションの開始セクタ (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
データディスクのマウントパスを表示し、パスに基づいてパーティションをアンマウントしてから、パーティションがアンマウントされていることを確認します。
次のコマンドを実行して、マウント情報を表示します。
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と入力して、プライマリパーティションタイプを選択します。
<Partition number> を入力して、パーティション番号を選択します。 この例では、パーティション番号として1が選択されている。
新しいパーティションの開始セクタと終了セクタを指定します。
警告新しいパーティションの開始セクタの値は、削除されたパーティションの開始セクタの値と同じでなければならず、新しいパーティションの終了セクタの値は、削除されたパーティションの終了セクタの値よりも大きくなければならない。 それ以外の場合、extend操作は失敗します。
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リポジトリのURLを変更します。 詳細については、「CentOS 6ソースアドレスの変更」をご参照ください。sudo yum install -y parted
コマンドを実行し、Partedツールをインストールします。 次に、partprobe /dev/vdbコマンドを再実行します。sudo partx -u /dev/vdb1
次のコマンドを実行して、パーティションテーブルが期待どおりに変更されているかどうかを確認します。
sudo lsblk /dev/vdb
次のコマンドを実行して、拡張パーティションのファイルシステムを確認し、ファイルシステムがクリーン状態であることを確認します。
sudo e2fsck -f /dev/vdb1
説明コマンドの出力でファイルシステムがclean状態であることが示されていない場合は、
sudo e2fsck -n /dev/vdb1
コマンドを実行してファイルシステムを確認します。
ファイルシステムを拡張します。
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パーティションを作成するには、次の操作を実行します。
次のコマンドを実行して、パーティションを作成します。
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.
次のコマンドを実行して、パーティションを表示します。
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
ファイルシステムを作成します。
Ext4ファイルシステムを作成するには、次のコマンドを実行します。
sudo mkfs.ext4 /dev/vdb2
XFSファイルシステムを作成するには、次のコマンドを実行します。
sudo mkfs.xfs -f /dev/vdb2
BTRFSファイルシステムを作成するには、次のコマンドを実行します。
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パーティションを拡張して追加のディスク容量を消費するには、次の操作を実行します。
データディスクのマウントパスを表示し、パスに基づいて既存のパーティションをマウント解除してから、パーティションがマウント解除されていることを確認します。 この例では、/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"
Partedツールを使用して、GPTパーティションにディスク容量を割り当てます。
次のコマンドを実行して、Partedツールを起動します。
sudo parted /dev/vdb
Partedツールの使用手順を表示するには、helpコマンドを実行します。
次のコマンドを実行して、パーティション情報を表示します。 次に、パーティション番号とパーティションの開始セクタを記録します。
print
修正 /無視 /キャンセル?
または修正 /無視?
メッセージが表示されます。Fixを入力します。この例では、パーティションのサイズは1 TiBであり、パーティション番号 (
number
の値) は1
であり、開始セクタ (start
の値) は1049kB
である。次のコマンドを実行して、パーティションを削除します。
rm <Partition number>
この例では、パーティション数は
1
です。 次のコマンドを実行して、パーティションを削除します。rm 1
次のコマンドを実行して、プライマリパーティションを再作成します。
mkpart primary <Start sector of the original partition> <Percentage of capacity to be allocated>
この例では、元のパーティションのStart値は
1049kB
で、パーティションはディスク容量の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) 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
新しいパーティションでファイルシステムを拡張し、パーティションをマウントします。
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パーティションが作成されます。
次のコマンドを実行して、データディスク上のパーティションに関する情報を表示します。
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
Partedツールを使用してパーティションを作成し、パーティションにディスク容量を割り当てます。
次のコマンドを実行して、Partedツールを起動します。
sudo parted /dev/vdb
次のコマンドを実行して、割り当て可能なディスク容量を表示します。 既存のパーティションの開始セクタ (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
次のコマンドを実行してパーティションを作成し、パーティションの開始セクタと容量を指定します。
mkpart <Partition name> <Start sector> <Percentage of capacity to be allocated>
この例では、testという名前の /dev/vdb2パーティションが作成されます。 新しいパーティションの開始セクタは、既存のパーティションの終了セクタである。 データディスク上のすべての追加のディスク容量が新しいパーティションに割り当てられます。
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/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
次のコマンドを実行して、パーティション容量の変更を表示します。
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
次のコマンドを実行して、パーティション上のファイルシステムの種類を表示します。
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ディスクのファイルシステムを拡張する
データディスクがファイルシステムを持つがパーティションを持たない生のディスクである場合は、次の操作を実行してファイルシステムを拡張します。
次のコマンドを実行して、ファイルシステムのタイプを表示します。
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ファイルシステムの場合は、次のxfs_growfsコマンドを実行してファイルシステムを拡張します。
sudo xfs_growfs /mnt
上記のコマンドでは、
/mnt
はファイルシステムのマウントポイントです。説明xfs_growfsの新しいバージョンには、引数としてマウントポイントが必要です。 例:
xfs_growfs /mnt
ファイルシステムを拡張するには、ファイルシステムのマウントポイントを指定してxfs_growfsコマンドを実行します。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/vdb
BTRFSファイルシステムの場合は、次のbtrfsコマンドを実行してファイルシステムを拡張します。
sudo btrfs filesystem resize max /mnt
上記のコマンドでは、
/mnt
はファイルシステムのマウントポイントです。
次のコマンドを実行して、ディスクをマウントポイントにマウントします。
sudo mount /dev/vdb /mnt
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