growpartによるさくらVPSのパーティション拡張
今回は、さくらVPSのディスク容量を拡張した際に必要になる、パーティションとファイルシステムの拡張について紹介します。
目次
環境
- さくらVPS
- CentOS Linux 7
状態の確認
パーティションを拡張する前にVPSのディスク容量とファイルシステムを確認します。
ディスク容量の確認
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 50G 0 disk
├─vda1 253:1 0 1M 0 part
├─vda2 253:2 0 500M 0 part /boot
├─vda3 253:3 0 4G 0 part
└─vda4 253:4 0 25G 0 part /
lsblk(listblock)は現在接続中のブロックデバイスをリスト表示するコマンドです。
上記の場合、ディスクvdaには50Gの容量があるのに対し、パーティションの総容量が30G程しか無いのが確認できます。
ファイルシステムの確認
df -Th
ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
devtmpfs devtmpfs 485M 0 485M 0% /dev
tmpfs tmpfs 496M 0 496M 0% /dev/shm
tmpfs tmpfs 496M 6.7M 489M 2% /run
tmpfs tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda4 xfs 25G 7.3G 18G 29% /
/dev/vda2 xfs 497M 153M 345M 31% /boot
tmpfs tmpfs 100M 0 100M 0% /run/user/0
tmpfs tmpfs 100M 0 100M 0% /run/user/1000
df(diskfree)はディスクの空き容量を確認するコマンドになります。
オプションに-Tを入力することでファイルシステムのタイプ表示、-hを入力することでサイズの表示を通常はブロック数で表示されるのをバイト表示に切り替えることができます。
ここで重要になるのは拡張したいパーティションのタイプ表記になります。
さくらVPSの場合、Typeがxfsの場合とext4の場合があり、後で使用するファイルシステムの拡張コマンドに違いがあるので、確認しておいた方が良いでしょう。
パーティション拡張作業
状態の確認が終わったらパーティション拡張の作業に入っていきます。
gdiskとgrowpartコマンドのインストール
yum -y install gdisk cloud-utils-growpart
gdiskとgrowpartコマンドをインストールします。
gdiskはGPT形式のパーティションの追加や削除を行うために必要なコマンドになります。
今回は直接使用しませんが、growpartコマンドの動作に必要になる為インストールしておきます。
growpartはパーティション拡張に必要になる、パーティションの削除と再作成を自動で行ってもらえるコマンドになります。fdisk等でも行える作業にはなりますが、失敗した場合パーティションが破損し、VPSが起動しなくなることもあるので、個人的にはgrowpartコマンドを使って作業をすることを推奨します。
パーティションの拡張
growpart --dry-run /dev/vda 4
CHANGE: partition=4 start=61845504 old: size=8388608 end=70234112 new: size=43012062 end=104857566
growpart /dev/vda 4
CHANGE: partition=4 start=61845504 old: size=8388608 end=70234112 new: size=43012062 end=104857566
拡張したいパーティションに対してgrowpartコマンドを実行します。
–dry-runオプションを追加することでエラーチェックが出来るので、エラーが発生しないことを確認してからコマンドを実行すると良いでしょう。
尚、NOCHANGE: disk=<disk> partition=<partition>: size=<size>, it cannot be grownというような表示が出た場合、sgdisk -s <disk>等のコマンドでパーティションのソートを行えば正常に拡張できるようになるかと思います。
ファイルシステムのリサイズ
xfs_growfs /dev/vda4
meta-data=/dev/vda4 isize=512 agcount=4, agsize=1638400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=6553600, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=3200, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
パーティションを拡張した後はファイルシステムのリサイズをする必要があります。
ファイルシステムをリサイズするコマンドはdf -Thコマンドで確認出来るタイプ欄によって異なり、xfs形式の場合はxfs_growfsコマンドを使うことになります。仮にファイルシステムがext4形式だった場合はresize2fxというコマンドを使うことになるので注意してください。
状態の再確認
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 50G 0 disk
├─vda1 253:1 0 1M 0 part
├─vda2 253:2 0 500M 0 part /boot
├─vda3 253:3 0 4G 0 part
└─vda4 253:4 0 45.5G 0 part /
df -Th
ファイルシス タイプ サイズ 使用 残り 使用% マウント位置
devtmpfs devtmpfs 485M 0 485M 0% /dev
tmpfs tmpfs 496M 0 496M 0% /dev/shm
tmpfs tmpfs 496M 6.7M 489M 2% /run
tmpfs tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda4 xfs 46G 7.3G 39G 16% /
/dev/vda2 xfs 497M 153M 345M 31% /boot
tmpfs tmpfs 100M 0 100M 0% /run/user/0
tmpfs tmpfs 100M 0 100M 0% /run/user/1000
lsblkとdf -Thを再び入力してディスクの状態を確認すると、/dev/vda4のパーティションサイズが拡張されているのが確認できます。
growpartを使用すると再起動や細かい設定も必要なく、簡単にパーティション拡張が行なえますので、さくらVPSのディスク容量を大きくした際にはgrowpartコマンドを使用してパーティション拡張を行ってみてはいかがでしょうか。
このカテゴリの最新記事
2024.07.16
2024.08.07
2024.08.22
2024.02.15