こんにちは、2z(Twitter: @2zn01 )です。
Google Compute Engine(GCE)で運用しているLinux CentOS7サーバのディスクサイズが結構いっぱいになってきたので、停止せずにオンラインでディスクサイズ拡張をしてみます。
今回は 100GB から 200GB に拡張してみました。
GCEのコンソール上でディスクサイズを変更
まずはGoogle Compute Engine(GCE)のウェブのコンソール上でディスクサイズを変更します。
(画面のスクリーンショットについては、今回は省かせて頂きます)
これだけでは稼働中のサーバにディスクサイズは反映されませんので、月にLinuxサーバ上で作業していきます。
※ここで事前にスナップショットを取っておきます。
Linuxサーバでディスクサイズを反映
環境はLinuxのCentOS7です。
サーバにログインし、ディスクのサイズを確認します。
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 100G 83G 18G 83% / devtmpfs 3.6G 0 3.6G 0% /dev tmpfs 3.6G 0 3.6G 0% /dev/shm tmpfs 3.6G 369M 3.3G 11% /run tmpfs 3.6G 0 3.6G 0% /sys/fs/cgroup tmpfs 732M 0 732M 0% /run/user/1000 tmpfs 732M 0 732M 0% /run/user/0
ディスクのサイズが設定した値 200GBになっていることを確認します。
$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk └─sda1 8:1 0 200G 0 part /
そして、パーティションサイズを拡大します。
$ sudo growpart /dev/sda 1
しかし、ディスクサイズを反映しようとすると、エラーが。。。
$ sudo resize2fs /dev/sda1 resize2fs 1.42.9 (28-Dec-2013) resize2fs: Bad magic number in super-block while trying to open /dev/sda1 Couldn't find valid filesystem superblock.
こちらについて調べてみると、CentOS7からデフォルトになっているXFSではresize2fsは利用できないみたいです。。
そこで、XFSでは resize2fs の代わりに xfs_growfs を使えばいいみたいです!
$ sudo xfs_growfs /dev/sda1 meta-data=/dev/sda1 isize=512 agcount=41, agsize=655296 blks = sectsz=4096 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=26213807, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=2560, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 26213807 to 52427871
無事、ディスクサイズを拡張することに成功しました。
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 200G 83G 118G 42% / devtmpfs 3.6G 0 3.6G 0% /dev tmpfs 3.6G 0 3.6G 0% /dev/shm tmpfs 3.6G 369M 3.3G 11% /run tmpfs 3.6G 0 3.6G 0% /sys/fs/cgroup tmpfs 732M 0 732M 0% /run/user/1000 tmpfs 732M 0 732M 0% /run/user/0
以上です。
この記事が少しでもお役に立ちましたら、本ブログの読者登録やTwitter: @2zn01をフォローして頂くと更新の励みになります!
よろしくお願いします!