GCE, GKEでディスク容量を拡張したらパーティション設定でやることまとめ




本記事ではGCEインスタンスの容量の増やし方を解説します。

GKEで使用しているGCEインスタンスのディスク容量アップデート

GCEのインスタンスに追加したディスクの容量を後からアップデートした場合、それだけでは容量が増えないので、パーティションの設定をする必要があります。

こういう情報があまりネットになくハマってしまったので残しておきたいと思います。

まずはGKEのPodにアクセスし、割り当てられた容量の確認をします。

Podに割り当てられたディスクのみ表示しています。この500GBのディスク容量を1000GBに変更します。

/ # df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/sdb                495.0G    1.0G    4945G  0.2% /root/data

ディスク容量の変更

ディスク容量はGCPのコンソールにあるGCE > ディスクから簡単に変更できます。変更が完了した後にPodにアクセスして確認しても500GBのままです。

これはインスタンスに設定されたパーティションサイズを変更することで増やすことができます。

次にGCEインスタンスにsshで接続し、ディスクの設定を確認します。この時タイムアウトで接続できないときはフィアウォール ルールの設定を確認してください。

ファイアウォール ルールは、インスタンスに対する受信トラフィックまたは送信トラフィックを制御します。デフォルトでは、ネットワーク外部からの受信トラフィックはブロックされます

フィアウォール ルールの設定

sshはport22に対して接続するのでport22を設定しているルールの詳細をみます。

接続できないときはだいたいここの設定で弾かれていることがあります。

例えば、ソースフィルタが自分のIPから接続できないようになっていたりするので追加してみてください。

GCEインスタンスへのssh

まずログインします。

$ gcloud auth login

次にインスタンス一覧を取得します。

$ gcloud compute instances list
NAME                                                 ZONE               MACHINE_TYPE                  PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP     STATUS
xxxxxx  asia-northeast1-c  custom (4 vCPU, 8.00 GiB)               xx.xx.xx.xx    xx.xx.xx.xx   RUNNING

取得できたインスタンス名を使ってsshを行います。

$ gcloud compute ssh INSTANCE_NAME --zone asia-northeast1-c

接続できない場合はもう一度ファイアウォールの設定を見直してみてください。

GCEインスタンスのディスク設定の確認

GCEインスタンスにsshで接続できたら下記コマンドでパーティションごとの容量と使用料を確認できます。

追加したディスクがここに表示されていないこともあるみたいでここら辺がよくわかってないです。。。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       1.2G  466M  755M  39% /
devtmpfs         35G     0   35G   0% /dev
tmpfs            35G     0   35G   0% /dev/shm
tmpfs            35G  660K   35G   1% /run
tmpfs            35G     0   35G   0% /sys/fs/cgroup
tmpfs           256K     0  256K   0% /mnt/disks
tmpfs            35G     0   35G   0% /tmp
/dev/sda8        12M   28K   12M   1% /usr/share/oem
/dev/sda1        95G  2.9G   92G   4% /mnt/stateful_partition
tmpfs           1.0M  128K  896K  13% /var/lib/cloud
overlayfs       1.0M  164K  860K  17% /etc

インスタンスから現在利用できるデバイスを確認するのにlsblkコマンドを使用します。

lsblk」(list block devices)は、現在利用できるブロックデバイスを一覧表示するコマンドです。

各ブロックデバイスをツリー状に表示するので、パーティションの状態を視覚的に把握でき、ストレージの構成やデバイス番号を確認したいときに役立ちます。

【 lsblk 】コマンド――ブロックデバイスを一覧表示する

kubernetes(GKE)のコンテナ用に1GBのディスクがついることを確認できます。

$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb       8:16   0 1000G  0 disk /home/kubernetes/containerized_mounter/rootfs/v
sda       8:0    0  100G  0 disk
├─sda4    8:4    0   16M  0 part
├─sda2    8:2    0   16M  0 part
├─sda9    8:9    0  512B  0 part
├─sda12   8:12   0   32M  0 part
├─sda7    8:7    0  512B  0 part
├─sda10   8:10   0  512B  0 part
├─sda5    8:5    0    2G  0 part
├─sda3    8:3    0    2G  0 part
├─sda1    8:1      95.9G  0 part /mnt/stateful_partition
├─sda8    8:8        16M  0 part /usr/share/oem
├─sda11   8:11        8M  0 part
└─sda6    8:6       512B  0 part

ディスクは1000GBになっていることが確認できます。

このディスクに対してresize2fsコマンドでパーティションサイズを変更します。

$ sudo resize2fs /dev/sdb
resize2fs 1.43.6 (29-Aug-2017)
Filesystem at /dev/sdb is mounted on /var/lib/xxxxx
old_desc_blocks = 63, new_desc_blocks = 125
The filesystem on /dev/sdb is now 262144000 (4k) blocks long.

これでPodにアクセスしてもう一度dfコマンドで確認すると1000GBに増えていることが確認できます。

# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/sdb                983.3G    1G    982.3G  0.1% /root/data

 

The following two tabs change content below.

髙妻智一

2013年CyberAgent新卒入社 スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。 2018年仮想通貨のスマホウォレットを提供するGinco Incにブロックチェーンエンジニアとして入社。






よく読まれている関連記事はこちら




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です