カスタムインストールのCentOS7 (x86_64)をインストールしたサーバでさくらのVPS 1Gプランから2Gプランにスケールアップ後、ディスク拡張にて既存のパーティションサイズを拡張する方法について記載します。
なお、さくらのVPSの公式サイトにある手順ではスケールアップ前がMBR方式だった場合にGPT方式へ変更になるため、そのままだとブートできなくなります。そのため、今回紹介する方法は、MBRのままディスクの拡張を行う方法です。
さくらのVPS スケールアップ後のディスク拡張
スケールアップで増加した100GB(トータル200GB)を利用できるようにする操作がディスク拡張です。
現状の確認
ブロックデバイスの一覧表示
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 200G 0 disk
├─vda1 252:1 0 500M 0 part /boot
└─vda2 252:2 0 88.1G 0 part
├─system-usr 253:0 0 10.5G 0 lvm /usr
├─system-swap 253:1 0 4.2G 0 lvm [SWAP]
├─system-root 253:2 0 10.5G 0 lvm /
├─system-var 253:3 0 10.5G 0 lvm /var
├─system-home_mailuser 253:4 0 5.2G 0 lvm /home/mailuser
├─system-home 253:5 0 41.2G 0 lvm /home
└─system-var_lib_mysql 253:6 0 6G 0 lvm /var/lib/mysql
- MBRパーティションテーブルです
- GRUB2によりブートローダーはLBA0に書き込まれています。
- /bootにstage2およびカーネルイメージが格納されています。
- /dev/vda2はLVMです。
パーティション変更に使用できる標準的なツール
- fdisk
- parted
[aside type=”warning”]gdiskなどGPT用のツールは書き込み処理後にGPT方式に変換されるのでここでは使用しません。[/aside]
ディスク拡張の手順
/dev/vdaに対して操作します。
- LiveDVDで起動
- ディスクパーティションの確認
- パーティションの拡張(/dev/vda2)
- LVMの拡張
LiveDVDで起動
起動方法は以下の記事をご覧ください。
[getpost id=”13374″]
LiveDVDを準備しておくと後々いろいろと便利というのが理由です。
通常のレスキューモードで起動しても問題ありません。
ディスクパーティションの確認
$ fdisk -l /dev/vda
Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 1026047 512000 500MB 83 Linux
/dev/vda2 1026048 185788415 184762367 88.1G 8e Linux LVM
パーティションの拡張(/dev/vda2)
$ fdisk /dev/vda
Command (m for help):d
Partition number (1,2, default 2):2
Partition 2 has been deleted.
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):*Enter*
Using default response p.
Partition number (2-4, default 2):*Enter*
First sector (1026048-419430366, default 1026048):*Enter*
Using default value 1026048
Last sector, +sectors or +size{K,M,G,T,P} (1026048-419430366, default 419430366):*Enter*
Using default value 419430366
Command (m for help): t
Partition number (1,2, default 2): *Enter*
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): w
The partition table has been altered!
- パーティションサイズの拡張は/dev/vda2を削除します。
- 同じ開始セクターを指定して新しく作成しなおします。
- このとき終了セクターはサイズ拡張後の終了セクターを指定します。
- パーティションタイプを8E00(LVM)にします。
LVMの拡張
/dev/vda2のPVを拡張できればよいので以下を実行
$ pvresize /dev/vda2
Physical volume "/dev/vda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
VGで使用可能なPV数が増加しているはずですので、今後、圧迫してきたらそのLVパーティションを拡張すればよいだけです。(LVMの通常運用)
以上でパーティションテーブルがMBRの場合のスケールアップによるディスク拡張が完了です。
BIOSブートでパーティションテーブルがMBR方式のままであるなら問題ありませんが、GPT方式の場合は、「BIOS Boot Partition:EF02」の作成が必要になります。
なおブートローダーの再インストールが必要になるでしょう。
さくらのVPS 2Gプランの標準OSインストールの場合です。
- /dev/vda1がBIOS Boot Partitionです。
gdisk -l /dev/vda
Number | Start (sector) | End (sector) | Size | Code | Name |
---|---|---|---|---|---|
1 | 2048 | 4095 | 1024.0 KiB | EF02 | BIOS |
2 | 4096 | 1028095 | 500.0 MiB | 8300 | Linux |
3 | 1028096 | 9416703 | 4.0 GiB | 8200 | Linux |
4 | 9416704 | 419427711 | 195.5 GiB | 8300 | Linux |
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 200G 0 disk
├─vda1 253:1 0 1M 0 part
├─vda2 253:2 0 500M 0 part /boot
├─vda3 253:3 0 4G 0 part [SWAP]
└─vda4 253:4 0 195.5G 0 part /