“お名前.com”のVPSで、私が利用しているプランではデフォルトの基本ディスクの容量が20GBしかなく、ディスク容量が足りなくなりました。基本ディスクの容量を20GBから40GBに増やし、論理ボリュームとファイルシステムを拡張した際の手順をメモ書きしました。(OSはCentOS6.9)
※参考情報
・VPS 活用ガイド ディスク構成の変更
・VPS 活用ガイド ファイルシステム容量拡張(基本ディスク)
※目次をクリックすると目次の下部にコンテンツが表示されます。
作業全体の注意点
●コントロールパネルでディスク構成を変更する際
・作業前にVPSを停止する必要がある。
・取得済みのスナップショットが削除されてしまう。
→作業前にバックアップを取得することが推奨されているが、スナップショットを利用することが出来ないので、別の手段でバックアップを実施する必要がある。
・”基本ディスク”の容量を増やし、”追加ディスク”の容量を減らす場合、減らす側のディスクは初期化(全データ削除)されてしまう。
●ファイルシステムの拡張
・作業の途中でOS再起動の手順がある
・作業前にVPSを停止する必要がある。
・取得済みのスナップショットが削除されてしまう。
→作業前にバックアップを取得することが推奨されているが、スナップショットを利用することが出来ないので、別の手段でバックアップを実施する必要がある。
・”基本ディスク”の容量を増やし、”追加ディスク”の容量を減らす場合、減らす側のディスクは初期化(全データ削除)されてしまう。
●ファイルシステムの拡張
・作業の途中でOS再起動の手順がある
コントロールパネルで基本ディスクの容量を増やす
※物理ボリューム、ボリュームグループ、論理ボリューム、ファイルシステムについては以下の記事も参照。
・LinuxのLVMの概要と表示コマンド
・CentOSでボリュームグループ、論理ボリューム作成、ファイルシステム作成、マウント設定、物理ボリュームを追加する手順
・CentOSで論理ボリューム、ext4ファイルシステムを拡張
〇確認例
vda:基本ディスク、20GB
vda1:/boot、500MB
vda2:LVM、19.5GB
LVM_root:/、18GB
LVM_SWAP:1.5GB
vdb:追加ディスク、180GB
①コントロールパネルにログイン
→”VM設定”のタブをクリック
→”ディスク構成変更”領域を表示し、注意書き等を確認する。
②VPSをシャットダウン
③”カスタム”をチェックし、基本ディスクと追加ディスクの割り当てを変更
④”決定”をクリック
⑤VPSを起動
〇確認例
・LinuxのLVMの概要と表示コマンド
・CentOSでボリュームグループ、論理ボリューム作成、ファイルシステム作成、マウント設定、物理ボリュームを追加する手順
・CentOSで論理ボリューム、ext4ファイルシステムを拡張
(1)現状のディスク構成を確認
〇確認例
vda:基本ディスク、20GB
vda1:/boot、500MB
vda2:LVM、19.5GB
LVM_root:/、18GB
LVM_SWAP:1.5GB
vdb:追加ディスク、180GB
# lsblk -l NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 252:0 0 20G 0 disk vda1 252:1 0 500M 0 part /boot vda2 252:2 0 19.5G 0 part VolGroup-lv_root (dm-0) 253:0 0 17.6G 0 lvm / VolGroup-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP] vdb 252:16 0 180G 0 disk /data sr0 11:0 1 1024M 0 rom # df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root ext4 18G 15G 1.4G 92% / tmpfs tmpfs 939M 228K 939M 1% /dev/shm /dev/vda1 ext4 477M 144M 308M 32% /boot /dev/vdb ext4 178G 2.5G 166G 2% /data # cfdisk /dev/vda cfdisk (util-linux-ng 2.17.2) Disk Drive: /dev/vda Size: 21474836480 bytes, 21.4 GB Heads: 16 Sectors per Track: 63 Cylinders: 41610 Name Flags Part Type FS Type [Label] Size (MB) ------------------------------------------------------------------------------ Pri/Log Free Space 1.05* vda1 Boot Primary Linux ext3 524.29* vda2 Primary Linux LVM 20949.50* # cfdisk /dev/vdb cfdisk (util-linux-ng 2.17.2) Disk Drive: /dev/vdb Size: 193273528320 bytes, 193.2 GB Heads: 16 Sectors per Track: 63 Cylinders: 374491 Name Flags Part Type FS Type [Label] Size (MB) ------------------------------------------------------------------------------ Pri/Log Free Space 193273.53*
(2)コントロールパネルでディスク構成変更
①コントロールパネルにログイン
→”VM設定”のタブをクリック
→”ディスク構成変更”領域を表示し、注意書き等を確認する。
②VPSをシャットダウン
③”カスタム”をチェックし、基本ディスクと追加ディスクの割り当てを変更
④”決定”をクリック
⑤VPSを起動
(3)変更後の確認
〇確認例
# lsblk -l NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 252:0 0 40G 0 disk vda1 252:1 0 500M 0 part /boot vda2 252:2 0 19.5G 0 part VolGroup-lv_root (dm-0) 253:0 0 17.6G 0 lvm / VolGroup-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP] vdb 252:16 0 160G 0 disk # df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root ext4 18G 15G 1.4G 92% / tmpfs tmpfs 939M 0 939M 0% /dev/shm /dev/vda1 ext4 477M 144M 308M 32% /boot # cfdisk /dev/vda cfdisk (util-linux-ng 2.17.2) Disk Drive: /dev/vda Size: 42949672960 bytes, 42.9 GB Heads: 16 Sectors per Track: 63 Cylinders: 83220 Name Flags Part Type FS Type [Label] Size (MB) ------------------------------------------------------------------------------ Pri/Log Free Space 1.05* vda1 Boot Primary Linux ext3 524.29* vda2 Primary Linux LVM 20949.50* Pri/Log Free Space 21474.84*
ファイルシステム容量拡張
以下、TeraTermなどでSSHでログインし、作業を行う。
①以下を入力
cfdisk /dev/vda
②一番下の追加したディスク領域である”Free Space”の行を選択
③”New”を選択し、エンター
④”Logical”を選択し、エンター
⑤”Size”を聞かれるので、数値を入力してエンター
→”Name”欄にvda5などが表示される
⑥”Type”を選択し、エンター
⑦”filesystem type”を聞かれるので”8E”(Linux LVM)を入力してエンター
→”Part Type”欄が”Logical”、”FS Type”が”Linux LVM”に変更される。
⑧”Write”を選択し、エンター
→以下のように表示される。”yes”を入力してエンター。
Write partition table to disk (this might destroy data)
Are you sure you want to write the partition table to disk? (yes or no):
Warning!! This may destroy data on your disk!
⑨”Quit”を選択し、エンター
⑩OSを再起動
#shutdown -r now
“lv_root”という論理ボリュームの容量が現状は約18GBとなっているので、この論理ボリュームに追加したディスク領域20GBを割り当てて拡張します。
論理ボリュームは、”ボリュームグループ”と呼ばれるディスク領域のプールから領域を割り当てられ、”ボリュームグループ”は物理ボリュームから構成されています。
論理ボリュームを以下の手順で拡張します。
①上記(1)で作成したパーティションから物理ボリュームを作成
②上記物理ボリュームをボリュームグループに追加
③容量が増えたボリュームグループを使って論理ボリュームを拡張
1)現状の論理ボリュームの構成を確認
(1)cfdiskツールを使ってパーティションを作成
①以下を入力
cfdisk /dev/vda
②一番下の追加したディスク領域である”Free Space”の行を選択
③”New”を選択し、エンター
④”Logical”を選択し、エンター
⑤”Size”を聞かれるので、数値を入力してエンター
→”Name”欄にvda5などが表示される
⑥”Type”を選択し、エンター
⑦”filesystem type”を聞かれるので”8E”(Linux LVM)を入力してエンター
→”Part Type”欄が”Logical”、”FS Type”が”Linux LVM”に変更される。
⑧”Write”を選択し、エンター
→以下のように表示される。”yes”を入力してエンター。
Write partition table to disk (this might destroy data)
Are you sure you want to write the partition table to disk? (yes or no):
Warning!! This may destroy data on your disk!
⑨”Quit”を選択し、エンター
⑩OSを再起動
#shutdown -r now
(2)論理ボリューム(LV)の領域を拡張
“lv_root”という論理ボリュームの容量が現状は約18GBとなっているので、この論理ボリュームに追加したディスク領域20GBを割り当てて拡張します。
論理ボリュームは、”ボリュームグループ”と呼ばれるディスク領域のプールから領域を割り当てられ、”ボリュームグループ”は物理ボリュームから構成されています。
論理ボリュームを以下の手順で拡張します。
①上記(1)で作成したパーティションから物理ボリュームを作成
②上記物理ボリュームをボリュームグループに追加
③容量が増えたボリュームグループを使って論理ボリュームを拡張
1)現状の論理ボリュームの構成を確認
# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert lv_root VolGroup -wi-ao---- 17.54g lv_swap VolGroup -wi-ao---- 1.97g
“lv_root”の論理ボリュームは、”VolGroup”というボリュームグループから形成されています。
2)論理ボリュームを拡張
①(1)で作成したパーティションで物理ボリュームを作成
# pvcreate /dev/vda5 Physical volume "/dev/vda5" successfully created
②”VolGroup”というボリュームグループに上記で作成した物理ボリュームを追加
# vgextend VolGroup /dev/vda5 Volume group "VolGroup" successfully extended
③”lv_root”の論理ボリュームの領域を拡張
# lvextend -l +100%FREE /dev/VolGroup/lv_root Size of logical volume VolGroup/lv_root changed from 17.54 GiB (4490 extents) to 37.54 GiB (9609 extents). Logical volume lv_root successfully resized.
3)ファイルシステムを拡張
①ファイルシステムを確認
# mount
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
“lv_root”論理ボリュームのファイルシステムはext4です。
②ファイルシステムを拡張
resize2fsを使って拡張、縮小ができます。縮小はアンマウントしないとできないようですが、拡張はマウントしたままの状態でできます。
# resize2fs /dev/VolGroup/lv_root resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/VolGroup/lv_root is mounted on /; on-line resizing required old desc_blocks = 2, new_desc_blocks = 3 Performing an on-line resize of /dev/VolGroup/lv_root to 9839616 (4k) blocks. The filesystem on /dev/VolGroup/lv_root is now 9839616 blocks long.
③容量が増えていることを確認
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 37G 15G 21G 43% / tmpfs 939M 0 939M 0% /dev/shm /dev/vda1 477M 144M 308M 32% /boot