本記事では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)は、現在利用できるブロックデバイスを一覧表示するコマンドです。
各ブロックデバイスをツリー状に表示するので、パーティションの状態を視覚的に把握でき、ストレージの構成やデバイス番号を確認したいときに役立ちます。
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
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す