さくらのVPSでディスク容量拡張(CentOS7)

#さくらのVPSでディスク容量を拡張するためスケールアップ
　さくらのVPSは長い間使用していますが意外と安定しており、某社VPSと違い勝手に再起動されたりトラブルは今までありません。今回ファイルのやりとりに使用しているVPSサーバーのディスク容量が逼迫してきました。

　確認してみると、以下のようにルートのパーティションが98%の使用率で、急を要します。

```
# df
ファイルシス   1K-ブロック     使用  使用可 使用% マウント位置
devtmpfs           1012996        0 1012996    0% /dev
tmpfs              1023368        0 1023368    0% /dev/shm
tmpfs              1023368     8704 1014664    1% /run
tmpfs              1023368        0 1023368    0% /sys/fs/cgroup
/dev/vda4         98558068 91482564 2051832   98% /
/dev/vda2           487652   130147  327809   29% /boot
tmpfs               204676        0  204676    0% /run/user/0
#
```

　OS環境は、VPSの標準でインストールされていたCentOS7でした。

　さくらのVPSはいつの間にかVPSをスケールアップできるようになり、さらに初期変更費用を増額することでディスク容量を倍増させることができるようになりました。

#ドキュメントを確認するも・・・
　ディスク容量を拡大できるということは、使用しているパーティションを拡大できるということを期待しています。
　公式のドキュメントを確認してみました。

　[さくらのVPS ディスク拡張手順 (標準OS CentOS7.2)](https://vps-news.sakura.ad.jp/scaleup/disk-expansion_centos7/)

 読み解くと「ディスクの容量を拡大できるけど、拡大した分はパーテションを作成して使ってね」とのこと。でもこれだと後々困りそう。AWSではディスク容量の拡大分をパーティション拡張できると、公式マニュアルで説明されてるし、実際に何度も経験があるのに。(何でもAWSと比較しちゃいけないですが)
　バックアップを取った上で、パーティションの拡大に挑戦(!)します。うまくいかなければバックアップを戻せばいいし。

#プランの変更
　現在100GBディスクのプランなので、倍の200GBになるよう、さくらのVPSの管理画面でスケールアップの申し込みからプラン選択します。プラン変更を確定させるには、VPSサーバーの停止が必要です。
　数分後、管理画面からVPSサーバーの起動を行い、シェルログインして確認します。dfコマンドでは変わらないものの、fdiskコマンドでは確かにディスク容量が200GBに変更されたのを確認できます。

```
# fdisk -l
Disk /dev/vda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x00000000
デバイス ブート      始点        終点     ブロック   Id  システム
/dev/vda1               1   209715199   104857599+  ee  GPT
#
```
#パーティションの拡張
　ディスクの容量が拡張されたのを確認したら、パーティションの拡張です。
 AWSでは標準でインストールされていた、growpartコマンドをインストールします。念の為、gdiskもインストールしておきます。

```
# yum -y install cloud-utils-growpart gdisk
```
　パーティションの拡張を行います(ドキドキ)。前述のdfコマンドの結果から、デバイスvdaの４番めを指定します。

```
# growpart /dev/vda 4
CHANGED: partition=4 start=9416704 old: size=200295808 end=209712512 new: size=410013662 end=419430366
#
```
　ドキドキしたわりには、エラーも出ず、即完了です。fdiskで確認してみます。

```
# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Disk /dev/vda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: gpt
Disk identifier: D53C0ED9-670F-4703-95AF-25D1AE1381C5
#         Start          End    Size  Type            Name
 1         2048         4095      1M  BIOS boot       BIOS
 2         4096      1028095    500M  Microsoft basic Microsoft
 3      1028096      9416703      4G  Linux swap      Linux
 4      9416704    419430365  195.5G  Microsoft basic Microsoft
#
```
　gdiskをインストールしたので、fdiskの表示が変わってパーティションが４つ表示されています。４番めのパーティションが195.5GB(約200GB)になっています。「Microsoft Basic」という表示が気になりますが、さくらの公式ドキュメントでもこの表記だったので問題ないのでしょう。

　パーティションは拡張されましたが、ファイルシステムは変更されていないので、ファイルシステムをパーティションにリサイズします。 

```
# resize2fs /dev/vda4
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vda4 is mounted on /; on-line resizing required
old_desc_blocks = 6, new_desc_blocks = 13
The filesystem on /dev/vda4 is now 51251707 blocks long.
#
```
　これもすんなり終了。dfコマンドで確認してみます。

```
# df
ファイルシス   1K-ブロック     使用    使用可 使用% マウント位置
devtmpfs           1012996        0   1012996    0% /dev
tmpfs              1023368        0   1023368    0% /dev/shm
tmpfs              1023368     8704   1014664    1% /run
tmpfs              1023368        0   1023368    0% /sys/fs/cgroup
/dev/vda4        201822972 91482928 101127008   48% /
/dev/vda2           487652   130147    327809   29% /boot
tmpfs               204676        0    204676    0% /run/user/0
#
```
 ルートパーティションの使用率が、98%から48%に低減しています。

　念の為再起動もしてみましたが、特に問題ありませんでした。正式にパーティション拡張をサポート対応してもらいたいですが、それまでは自己責任で対応しましょう！