前回の【GCP】Google Cloud Platformを使ってサーバを管理しように続いて、今回は「ストレージの拡張」を動的に変更する方法を解説するよ
※動的=動かしているサービスを停止しない状態
大変!ちょうどwebサイトのストレージが足りなくなっちゃった!!
どうしたらいいの?教えてください。
落ち着いて!
結構、簡単にできるから解説するね。
真似して試してみてね。
よろしくお願いします!
ストレージが不足してきた、そんな時に!
WEBサイトを運営していると、投稿などでいろいろなコンテンツを扱います。そのため運営しているサーバのストレージは気になるところ!GCP上で運営しているサイトにそんな不安が出てきたときには、参考にしてください。
VMインスタンスを見ていたら、気づいたらストレージが枯渇!?
VMインスタンスの使用状況を確認できるようになったところで、運用していくうちにVMインスタンスの性能が不足(例えばストレージが枯渇)していることに気づいたら、どうしますか?
そういう場合にはVMインスタンスの設定を変更することでストレージを拡張できます。ここでは、ストレージの拡張の方法について解説していきます。
ディスク容量がいっぱいになりそうです。どうしましょう。
動作しながらディスク容量をUPしてみよう!
これから行う2つの設定によりディスク容量を変更します。
1)VMインスタンスに割り当てているディスクの容量をUP
2)VMインスタンス内のLinuxOSに容量UPを反映する
まずはVMインスタンスの詳細画面に移動します。
次に上部の「編集」ボタンを選択します。
VMインスタンスの編集画面が表示されます。
ストレージの設定は以下の項目で変更できます。
既存のディスクの容量については、「ディスク」画面にて設定を変更できます。
「ディスク」を選択すると、ディスク画面が表示されます。今使用しているディスクの一覧が表示されます。
VMインスタンスに記載されたデバイス名のリンクを選択します。
「デバイス名」を選択すると、ディスクの管理画面が表示されます。
さらに「編集」ボタンを選択すると、ディスクのサイズを変更できます。
ここまでVMインスタンスに割り当てているディスクの容量をUPを行いました。
続いて、2番目のLinuxOS設定方法について解説していきます。
LinuxOSの設定を変更する
GCPのVMインスタンスでストレージ設定を変更するだけでは、実際の容量は反映されません。
VMインスタンスを再起動する方法もありますが、LinuxOS側で設定を変更することで、動作したままディスク容量を変更することができます。
次にLinuxOSの設定を変更する方法を解説します。
SSHでVMインスタンス内のLinuxOSにアクセス
まず、VMインスタンス内のLinuxOSにアクセスします。
VMインスタンスの一覧画面から、「SSH」ボタンを選択します
ボタンを選択すると「コンソール」が表示されます。
この画面でLinuxOSのコマンド(命令)を使用して、ストレージの設定を変更していきます。
次からコマンドの説明を行います。
コマンド部分は赤字で表示します。
dfコマンドを使ってディスクの容量を確認する
まずは、現在の空き容量を確認します。空き容量の確認には「dfコマンド」を使用します。
拡張前のため、現在(容量増加前)の数字が表示されます。
$df -Th
コマンド結果の一例)
55%:5.0GB使用していることがわかります。
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 485M 0 485M 0% /dev
tmpfs tmpfs 99M 11M 89M 11% /run
/dev/sda1 ext4 9.7G 5.0G 4.2G 55% /
tmpfs tmpfs 494M 0 494M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 494M 0 494M 0% /sys/fs/cgroup
/dev/sda15 vfat 124M 5.9M 118M 5% /boot/efi
tmpfs tmpfs 99M 0 99M 0% /run/user/1000
通常だとストレージは「/dev/sda」で始まるところに割り当てられています。
現在の使用率(上記の例だと55%使用していること)がわかります。
次にストレージの拡張を行っていきます。
partedコマンドを使ってディスクの容量を拡張する
ストレージの拡張には、「partedコマンド」を使用します。
partedコマンドは対話型なので「partedコマンド」を実行すると、詳細なコマンドを求められます。
以下のように進めます。
1) print free :空き容量を確認します。
2) resizepart [Number ] :ディスクを拡張します。
3) print free :念のため設定の反映を確認します。
4) quit :partedコマンドを終了します。
partedコマンドを開始します。
$sudo parted /dev/sda
partedコマンド内で詳細コマンドを設定します。
(parted) p free [print free]
Model: Google PersistentDisk (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
17.4kB 1049kB 1031kB Free Space
14 1049kB 4194kB 3146kB bios_grub
15 4194kB 134MB 130MB fat16 boot, esp
1 134MB 10.7GB 10.6GB ext4
10.7GB 20.7GB 10GB FreeSpace
★「FreeSpace」としてVMインスタンスの設定で追加した容量が空き容量として表示されます。
今回Number 1 を変更します。
(parted) resizepart 1
END? [10.7GB]? -> 例)20.7GB
★FreeSpaceのENDを指定します。するとNumber 1が20.7GBまで拡張されます
(parted) p free
1 134MB 20.7GB 20.6GB ext4
★再度空き容量を確認すると、容量が増加していることを確認できます。
partedコマンドを終了します。
(parted)quit
次は、パーティションの拡張を行います。
resize2fsコマンドを使ってパーティションを拡張する
パーティションの拡張には、「resize2fsコマンド」を使用します。
$resize2fs /dev/sda1
これでは、LinuxOSの拡張は完了です。
まとめ
サービスを開始するとサーバを止められないから、動的に変えられるのは助かるね。
使う機会がないとよいのだけれど、とても勉強になったよ。
早速、サイトを更新してみるね
GCPのVMインスタンスのストレージは動的に変更することができる
1)まずVMインスタンスのディスク設定を変更する
2)VMインスタンス内のLinuxOSのディスク設定を変更する
質問などあれば気軽に書き込んでくださいね♪