KUSANAGI for AWSでは、AWSの仕様上、標準で30GBの仮想ディスクが提供され、以下の画像のように30GB以上のEBSを作成した場合は拡張作業を行う必要があります。
このエントリでは、KUSANAGI for AWSにおける、ルートディスクの拡張方法についてご紹介します。


# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 29G 2.2G 27G 8% /
■前提条件
・root権限での操作が可能なこと
・再起動が1度可能なこと(オンラインでの増量も可能)
以下の環境を想定して記述しています。容量やコマンドは適宜読み替えてください。
・KUSANAGI for AWS 7.8.2
・EBS 100GBにて作成
必要に応じて、スナップショット作成によるバックアップの作成をお勧めします。
■拡張されたディスクにパーティーションを作成する
EBSの30GBより後ろは空の状態で提供されているので、ユーザによりパーティーションを別途作成して使用する事になります。
まずはここにLinux LVM形式のパーティーションを作成します。
# fdisk /dev/xvda Welcome to fdisk (util-linux 2.23.2). Command (m for help): p Disk /dev/xvda: 107.4 GB, 107374182400 bytes, 209715200 sector ←100GBのEBSが認識されている 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: 0x0006a1f5 Device Boot Start End Blocks Id System /dev/xvda1 * 2048 1026047 512000 83 Linux /dev/xvda2 1026048 60817407 29895680 8e Linux LVM Command (m for help): n ←新規パーティーションを作成 Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): p ←プライマリパーティーションを作成 Partition number (3,4, default 3): 3 ←3番目のパーティーションを作成 First sector (60817408-209715199, default 60817408): ←エンターキーを押下 Using default value 60817408 Last sector, +sectors or +size{K,M,G} (60817408-209715199, default 209715199): ←エンターキーを押下 Using default value 209715199 Partition 3 of type Linux and of size 71 GiB is set ←残容量である70GBのパーティーションが作成される Command (m for help): t ←パーティーションのタイプを変更する Hex code (type L to list all codes): 8e ←Linux LVMを意味する'8e'を押下する Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): w ←書き込みを行う The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks.
次に、新しいパーティーションを認識させる為、partprobeコマンドを実行するか、再起動を行います。
ここではpartprobeコマンドにより/dev/xvda3を認識させます。
# partprobe
以下のように、新しいパーティーション「/dev/xvda3」が認識されれば問題ありません。
# ls -lah /dev/xvda* brw-rw---- 1 root disk 252, 2 May 10 02:43 /dev/xvda3
■ルートボリュームにパーティーションを追加して、ディスクを拡張する
LVMを操作し、ルートボリュームに容量を追加します。
以下の通りに操作を行います。
# pvcreate /dev/xvda3 Physical volume "/dev/xvda3" successfully created # vgextend centos /dev/xvda3 Volume group "centos" successfully extended # lvextend -l +100%FREE /dev/centos/root Size of logical volume centos/root changed from 28.51 GiB (7298 extents) to 99.50 GiB (25473 extents). Logical volume root successfully resized. # xfs_growfs / meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=1868288 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 data = bsize=4096 blocks=7473152, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal bsize=4096 blocks=3649, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 7473152 to 26084352 さいごに、dfを実行し、容量が増えて使えるようになっている事を確認します # df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 100G 2.2G 98G 3% /
■おわりに
ディスク操作を伴うので、本番サイトでいきなり実行するにはリスキーな作業となります。一度リハーサルを行うか、バックアップを取得した上で作業を行うことを推奨します。
■お詫び(2016/06/04)
当初、手順に「# xfs_growfs /dev/mapper/scentos-root」と記載しておりましたが、「# xfs_growfs /」の間違いでした。失礼しました。
コメント
コメント一覧 (3)
30Gのkusanagiインスタンスのボリュームからスナップショットを作成し、スナップショットから60Gボリュームを作成してパーテーションの拡張を行ってみました。
解説いただいた通りに進んだのですが、最後の xfs_growfs /dev/mapper/scentos-root で
xfs_growfs: /dev/mapper/scentos-root is not a mounted XFS filesystem
となってしまいました。何が原因か分かりますでしょうか。
# pvcreate /dev/xvda3
Physical volume "/dev/xvda3" successfully created
# vgextend centos /dev/xvda3
Volume group "centos" successfully extended
# lvextend -l +100%FREE /dev/centos/root
Size of logical volume centos/root changed from 28.51 GiB (7298 extents) to 59.50 GiB (15233 extents).
Logical volume root successfully resized.
# xfs_growfs /dev/mapper/scentos-root
xfs_growfs: /dev/mapper/scentos-root is not a mounted XFS filesystem
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 29G 2.7G 26G 10% /
devtmpfs 487M 0 487M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 6.5M 490M 2% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/xvda1 497M 224M 273M 46% /boot
tmpfs 100M 0 100M 0% /run/user/1000
「xfs_growfs /dev/mapper/scentos-root 」ではなく、
「xfs_growfs /」が正解のコマンドでした。
前者ではマウントされていないボリュームを拡張するコマンドでした。
「xfs_growfs /」で最後の拡張ができました。
コメントする