このトピックでは、growpart ツールと resize2fs ツールを使用して、Linux システムディスクのパーティションとファイルシステムのサイズを変更する方法について説明します。
始める前に
システムディスクのパーティションとファイルシステムのサイズを変更する前に、次の要件が満たされていることをご確認ください。
- growpart または xfsprogs ツールは、オペレーティングシステムに基づいてインストールされます。
注 フォーマットツールのエラーが原因でパーティションのサイズ変更に失敗した場合、ツールを再インストールします。
- インスタンスのカーネルバージョンが
uname-a
コマンドの実行などによって確認されます。
- カーネル 3.6.0 以降の詳細については、「カーネル 3.6.0 以降のインスタンスの手順」をご参照ください。
- 3.6.0 以前のカーネルの詳細については、「カーネル 3.6.0 以前のインスタンスの手順」をご参照ください。 インスタンスが CentOS 6、Debian 7、または SUSE Linux Enterprise Server 11 SP4 などの Linux
ディストリビューションを実行している場合、コンソールまたは API 操作の実行のいずれかでインスタンスを再起動し、パーティションのサイズを変更できます。
このタスクについて
このトピックでの手順は、次のパーティションおよびファイルシステムフォーマットのシステムディスクに適用されます。
- パーティション形式:MBR 、 GPT
- ファイルシステム形式:ext *、XFS、Btrfs
カーネル 3.6.0 以降のインスタンスの手順
このセクションでは、CentOS 7 を実行しているインスタンスを例として使用して、システムディスクパーティションとファイルシステムのサイズを変更する方法を説明します。
fdisk -l
コマンドを実行し、現在のディスクサイズを確認します。
次の例は、
/dev/vda のディスクサイズが 100 GiB であることを示します。
[root@ecshost ~]# fdisk -l
Disk /dev/vda: 107.4 GB, 107374182400 bytes, 209715200 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: 0x000bad2b
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 83886046 41941999+ 83 Linux
df -h
コマンドを実行し、パーティションサイズとファイルシステムタイプを確認します。
次の例では、
/dev/vda1 パーティションサイズは 40 GiB、ファイルシステムタイプは ext4 です。
[root@ecshost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 869M 0 869M 0% /dev
tmpfs tmpfs 879M 0 879M 0% /dev/shm
tmpfs tmpfs 879M 460K 878M 1% /run
tmpfs tmpfs 879M 0 879M 0% /sys/fs/cgroup
/dev/vda1 ext4 40G 1.8G 36G 5% /
tmpfs tmpfs 176M 0 176M 0% /run/user/0
growpart <DeviceName> <PartionNumber>
コマンドを実行し、パーティションのサイズを変更します。
次の例では、最初のパーティション
/dev/vda1 システムディスクのサイズが変更されます。
[root@ecshost ~]# growpart /dev/vda 1
CHANGED: partition=1 start=2048 old: size=83883999 end=83886047 new: size=209713119 end=209715167
- ファイルシステムのサイズを変更します。
ファイルシステムタイプに基づいて、次のいずれかの方法を使用できます。
- ファイルシステムが ext3 や ext4 などの ext * の場合は、
resize2fs <PartitionName>
コマンドを実行します。
次の例では、
/dev/vda1 パーティションのサイズが変更されます。
[root@ecshost ~]# resize2fs /dev/vda1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 7
The filesystem on /dev/vda1 is now 26214139 blocks long.
- ファイルシステムが XFS の場合、
xfs_growfs <mountpoint>
コマンドを実行します。
次の例は、/dev/vda1 パーティションのサイズが変更されます。 /dev/vda1 のマウントポイントはルートディレクトリ / です。
[root@ecshost ~]# xfs_growfs /
meta-data=/dev/vda1 isize=512 agcount=13, agsize=1310656 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=15728379, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 15728379 to 20971259
注 xfs_growfs コマンドは、バージョンによって異なる場合があります。 xfs_growfs --help
を実行して、対応するコマンドを確認します。
df -h
コマンドを実行して、ディスクパーティションのサイズを確認します。
次の例では、
/dev/vda1 パーティションサイズは 100 GiB で、パーティションのサイズが変更されていることを示しています。
[root@ecshost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 869M 0 869M 0% /dev
tmpfs 879M 0 879M 0% /dev/shm
tmpfs 879M 492K 878M 1% /run
tmpfs 879M 0 879M 0% /sys/fs/cgroup
/dev/vda1 99G 1.8G 93G 2% /
tmpfs 176M 0 176M 0% /run/user/0
カーネル 3.6.0 以前のインスタンスの手順
このセクションでは、CentOS 6 を実行しているインスタンスを例として使用し、システムディスクパーティションとファイルシステムのサイズを変更する方法を説明します。
- dracut-modules-growroot ツールをインストールします。
[root@ecshost ~]# yum install -y dracut-modules-growroot
yum 以外のパッケージマネージャーを使用している場合、前途のコマンドの yum をパッケージマネージャーに基づいて変更します。
- 次のコマンドを実行して、既存の initramfs ファイルを上書きします。
[root@ecshost ~]# dracut -f
fdisk -l
コマンドを実行し、現在のディスクサイズを確認します。
次の例は、
/dev/vda1 ディスクサイズは 100 GiB です。
[root@ecshost ~]# fdisk -l
Disk /dev/vda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003a7b4
Device Boot Start End Blocks Id System
/dev/vda1 * 1 2611 20970496 83 Linux
df -h
コマンドを実行して、ディスクパーティションのサイズを確認します。
次の例では、
/dev/vda1 パーティションサイズは20 GiB です。
[root@ecshost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 7.8G 0 7.8G 0% /dev/shm
/dev/vda1 20G 1.1G 18G 6% /
growpart <DeviceName> <PartionNumber>
コマンドを実行して、パーティションのサイズを変更します。
次の例では、システムディスクの最初のパーティション
/dev/vda1 のサイズが変更されます。
[root@ecshost ~]# growpart /dev/vda 1
CHANGED: partition=1 start=2048 old: size=41940992 end=41943040 new: size=209710462,end=209712510
- コンソールまたは RebootInstance 操作の実行のいずれかでインスタンスを再起動します。 手順の詳細については、「インスタンスの再起動」、「RebootInstance」をご参照ください。
- インスタンスに接続します。
- ファイルシステムのサイズを変更します。
ファイルシステムタイプに基づいて、次のいずれかの方法を使用できます。
df -h
コマンドを実行して、ディスクパーティションのサイズを確認します。
次の例では、
/dev/vda1 パーティションサイズは 100 GiB で、パーティションのサイズが変更されていることを示しています。
[root@ecshost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 99G 1.1G 93G 2% /
tmpfs 7.8G 0 7.8G 0% /dev/shm