さくらのVPSでスケールアップでパーテーション拡張

さくらのVPSを使っていると、サーバーのスペックやストレージが足りなくなり[スケールアップ](https://vps.sakura.ad.jp/feature/scaleup.html)が必要なことがあると思います。

過去に[追加ストレージNFS](https://manual.sakura.ad.jp/vps/support/technical/nfs.html)は何度か増設していますが、システム上単一ディレクトリ上の容量が拡大し、NFSでの対応はプログラム改修が大幅に必要なことから、スケールアップをやってみました。

# スケールアップのやり方

[ここに支払い、さくらインターネットのコントロールパネルでやることは書いてあります。](https://manual.sakura.ad.jp/vps/server/scaleup.html?_gl=1*121ha56*_ga*MjAxNzE2ODY1OS4xNjEyMjc4NTM3*_ga_N2E9PZM04C*MTYzMzY2MTY0MC4zNS4xLjE2MzM2NjE5NjMuNjA.&_ga=2.58928228.870145949.1633621715-2017168659.1612278537)

特に不足はありませんでした。


# ディスク拡張について


>スケールアップを行うとCPUコア数とメモリは自動的に増加いたしますが、ディスクについてはお客様で拡張する必要があります。ディスク拡張の方法はお客様ごとに異なりますが、標準OSのディスク拡張は以下のマニュアルをご確認ください。

[CentOS7のマニュアル](https://manual.sakura.ad.jp/vps/server/disk-expansion/centos7.html)

ふむふむ...
あれ...パーテーション別じゃNFSと使い勝手変わらないじゃん...ありゃま

と思って検索をしたところ、以下の手法で既存のパーテーションを簡単に拡張できました。
途中まで(パーティションをソートする)まではさくらのマニュアルと同じです。


```
# rpm -q gdisk   #必要に応じてインストール
package gdisk is not installed
# yum -y install gdisk
gdisk -l /dev/vda
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/vda: 838860800 sectors, 400.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): ******
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 419430366
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            4095   1024.0 KiB  EF02  BIOS boot partition
   2            4096         1028095   500.0 MiB   0700  Microsoft basic data
   3         1028096         9416703   4.0 GiB     8200  Linux swap
   4         9416704       419430366   195.5 GiB   0700  Microsoft basic data

# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1  1024M  0 rom  
vda    253:0    0   400G  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 /

```
この時点で、400GBに拡張されてるけど、OSの認識は200GBということがわかります。
そこで以下のコマンドを押すと、OSの認識が拡張されます。

```
# sgdisk -s /dev/vda
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
# gdisk -l /dev/vda
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/vda: 838860800 sectors, 400.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): *****
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 838860766
Partitions will be aligned on 2048-sector boundaries
Total free space is 419432414 sectors (200.0 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            4095   1024.0 KiB  EF02  BIOS boot partition
   2            4096         1028095   500.0 MiB   0700  Microsoft basic data
   3         1028096         9416703   4.0 GiB     8200  Linux swap
   4         9416704       419430366   195.5 GiB   0700  Microsoft basic data

```

ここまではさくらのマニュアルと同じです。
ここから、growpartコマンドを使って既存パーテーションを拡張します。
参考：[https://manual.sakura.ad.jp/cloud/storage/modifydisk/resize-partition.html](https://manual.sakura.ad.jp/cloud/storage/modifydisk/resize-partition.html)
さくらのクラウドのマニュアルです。VPS側でもこれつけておいてくれればよいのに...

```
# yum install cloud-utils-growpart
# growpart /dev/vda 4
CHANGED: partition=4 start=9416704 old: size=410013663 end=419430367 new: size=829444062 end=838860766
# reboot
# df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/vda4        396G  190G  206G   48% /
/dev/vda2        497M  210M  288M   43% /boot
```
無事、396GBに拡張できました。
なお、私はkusanagiを使っているので「kusanagi configure」コマンドを投げて、もともとがHDD200GBだったのが、SSD400GBなどいくつか構成が変わっているので最適化をこの後実施しています。