GCPのVMインスタンスのディスク拡張

2020.1.16 (木)

GCEのVMインスタンスのHDD容量を拡張する際の手順です。何かとHDDの容量が不足して、いつもこの作業やることになる。
公式ドキュメントはこちら。
ゾーン永続ディスクのサイズ変更

VMインスタンスのディスク拡張

まずはディスクを拡張したいVMインスタンスを確認しておきます。GCPのコンソール上で操作します。GCEのディスクのメニューに移動します。

  1. ディスクに移動して、該当のディスクをクリックします。
  2. 詳細ページの上部にある編集ボタンをおして編集ページに移動。
  3. サイズを変更の項目で現行のサイズよりも大きいサイズに変更します。変更したら保存。

コンソールの操作はここまででOK。ディスクをサイズ変更したら、VMインスタンスにログインして、オペレーティング システムが追加の容量にアクセスできるように、ファイルシステムをサイズ変更する必要があります。
ファイルシステムをサイズ変更する

ファイルシステムをサイズ変更する

ディスクを拡張した対象のVMインスタンスにログインします。以下rootで操作します。
ディスクの状況を確認します。この状態ではまだ100%使用量の状態が続いています。

$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         5.7G     0  5.7G    0% /dev
tmpfs            5.7G  4.0K  5.7G    1% /dev/shm
tmpfs            5.7G  8.4M  5.7G    1% /run
tmpfs            5.7G     0  5.7G    0% /sys/fs/cgroup
/dev/sda1        100G  100G   20K  100% /
tmpfs            1.2G     0  1.2G    0% /run/user/1000

パーテーションの確認をします。
100GBのパーテーションに対して200GBのディスクが割り当てられているのがわかります。ここで行う操作は100GBのパーテーションを200GBに拡張するという作業です。

$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk
└─sda1   8:1    0  100G  0 part /

ディスクパーティションの拡張ツールをインストールします。これは一般的なツールではなくてGCPのVMインスタンス専用のパッケージっぽです。

# yum -y install cloud-utils-growpart

インストールが完了したら、以下のコマンドで拡張するのですが、その前にロケールを英語にしないとエラーになります。

# locale
LANG=ja_JP.UTF-8
...省略
# export LANG="en_US.UTF-8"
# growpart /dev/sda 1
CHANGED: partition=1 start=2048 old: size=209710462 end=209712510 new: size=629135482,end=629137530
# export LANG="ja_JP.UTF-8"

VMインスタンスの再起動をします。これやらないと反映されない。