概要
こんな感じでたまにストレージ機器がメンテナンスになる時があって
自分のどのインスタンスがちょっとしたI/O遅延の影響を受けるのか知りたい時に
usacloudというCLIツールを使って出来るだけささーっと調べられるようにする記事。
なんでこの記事を書いたのか
メンテナンスの告知には、
影響範囲 : さくらのクラウド 東京第1ゾーン SSDプランディスクの以下ストレージ
sac-tk1a-iscsi5-st11
sac-tk1a-iscsi5-st12
って感じでストレージ機器の名前が乗っているけど、自分のインスタンスがその機器に
関係あるのか無いのかインスタンスがたくさんあると調べるのが大変なので出来るだけ楽に調べたいと思った。
サーバが断するわけではないので、気にしなくてもいいんだけど、何だか気になるので知りたい。
前提
- usacloudは使える状態になっている
usacloudのリポジトリ: https://github.com/sacloud/usacloud
インストール方法などのドキュメント: https://docs.usacloud.jp/usacloud/installation/start_guide/ - さくらのクラウドのAPIキーは取得してusacloudに設定済み
APIキーの発行方法: https://manual.sakura.ad.jp/cloud/api/apikey.html - usacloud disk ls --zone=all って打つと以下みたいな表示になる serverの列とStorageの列にてどのインスタンスがどのストレージ機器に関係しているのかが見て取れる。
$ usacloud disk ls --zone=all
+------+--------------+----------------------+------+------------------------------------+------+------+------------+-----------------------+-----------------------+
| Zone | ID | Name | Tags | Server | Plan | Size | Connection | Storage | Description |
+------+--------------+----------------------+------+------------------------------------+------+------+------------+-----------------------+-----------------------+
| is1b | 112xxxxx6xxx | storage_dockerSRV | - | 11290xxxxx28(dockerSRV) | ssd | 20GB | virtio | sac-is1b-ssd20g-st201 | dockerSRVのストレージ |
| is1b | 11xxxx250563 | myvpn | - | 1131002xxxxx(myvpn) | ssd | 20GB | virtio | sac-is1b-ssd20g-st214 | - |
| is1b | 113200xxxxx6 | jupyter-notebook-srv | - | xxxxx0343404(jupyter-notebook-srv) | ssd | 20GB | virtio | sac-is1b-ssd20g-st211 | - |
| is1b | xxxxxxxxx115 | go-train | - | 11320xxxxx13(golang_django_train) | ssd | 20GB | virtio | sac-is1b-ssd20g-st02 | - |
+------+--------------+----------------------+------+------------------------------------+------+------+------------+-----------------------+-----------------------+
やってみる
メンテナンス告知からストレージ機器をコピペして一覧を作る
mainte_listというファイルを作ったとする。内容は以下。
$ cat mainte_list
sac-is1b-ssd20g-st201
sac-is1b-ssd20g-st214
usacloudとgrepで関係あるインスタンスを見つける
以下のコマンドを実行する。
$ usacloud disk ls --zone all | egrep -f mainte_list
すると、以下の感じでメンテ対象のストレージのレコードだけがgrepされるのでさっと分かる。
$ usacloud disk ls --zone all | egrep -f mainte_list
| is1b | 112xxxxx6xxx | storage_dockerSRV | - | 11290xxxxx28(dockerSRV) | ssd | 20GB | virtio | sac-is1b-ssd20g-st201 | dockerSRVのストレージ |
| is1b | 11xxxx250563 | myvpn | - | 1131002xxxxx(myvpn) | ssd | 20GB | virtio | sac-is1b-ssd20g-st214 | - |
$
おわり
何だか出力結果が野暮ったいけど、まあいいかな…