はじめに
IBM CloudのVPCで作成したインスタンスのイメージをICOS(IBM Cloud Object Storage)にExportできるようになったのが2023年4月になります。
バックアップの運用等で検討される方もおられると思いますが、気になるのはその所要時間が、システム運用にマッチするかどうかと思います。
というわけで、以下のステップでどの程度時間がかかるのか計測してみました。
- 停止したインスタンス(サーバ)からイメージの作成
- 作成したイメージをICOSにExport
- ICOSのイメージをVPCのイメージにImport
- Importしたイメージからインスタンス(サーバ)の作成
こちらの計測時間はあくまで私が確認した実績値であり、IBM Cloudで保証された時間ではない点に注意してください。
1.停止したインスタンス(サーバ)からイメージの作成
利用したサーバ情報は以下になります。
- リージョン:東京
- プロファイル:2 vCPU | 4 GiB
- OS:Ubuntu Linux 22.04 LTS Jammy Jellyfish Minimal Install (amd64)
- Boot Volume:100GB
- Volume使用状況:7GBほどシステムで利用、90GB以上の空きがある状態
計測方法
サーバを停止した状態でAPIからイメージの作成を指示。APIからAcceptedの応答が得られた時間を開始時刻としています。
プログラムで5秒おきにイメージの一覧で作成中のイメージ情報を取得し、イメージのステータスが available
になったタイミングの時刻を終了時刻として計測しています。(イメージ作成中は pending
のステータスになります)
計測結果
イメージサイズは 19GB
になりました。
経過時間 | 経過秒数 | 容量(GB) | イメージ作成速度(MB/秒) | |
---|---|---|---|---|
1 | 0:21:54 | 1314 | 19 | 14.46 |
2 | 0:22:32 | 1352 | 19 | 14.05 |
3 | 0:20:04 | 1204 | 19 | 15.78 |
4 | 0:22:01 | 1321 | 19 | 14.38 |
5 | 0:22:23 | 1343 | 19 | 14.15 |
割とスピードは安定しているかと思いますが、この作業が一番時間がかかりますね。
2.作成したイメージをICOSにExport
利用したICOSの情報は以下になります。
- ロケーション:jp-tok (Regional)
- ストレージクラス:Standard
計測方法
APIからイメージのICOSへのExportを指示。APIからAcceptedの応答が得られた時間を開始時刻としています。
プログラムで5秒おきにICOSのオブジェクト一覧で、イメージのオブジェクトの Etag
情報が作成されたタイミングの時刻を終了時刻として計測しています。(Etag
ではオブジェクトのMd5ハッシュ値が格納されるため、全ての情報がICOS側に保存されたと判断できます)
計測結果
経過時間 | 経過秒数 | 容量(GB) | Export速度(MB/秒) | |
---|---|---|---|---|
1 | 0:00:36 | 36 | 19 | 527.78 |
2 | 0:00:34 | 34 | 19 | 558.82 |
3 | 0:00:34 | 34 | 19 | 558.82 |
4 | 0:00:33 | 33 | 19 | 575.76 |
5 | 0:00:35 | 35 | 19 | 542.86 |
めっちゃ早いですね。想像の10倍くらい早かったです。
3.ICOSのイメージをVPCのイメージにImport
計測方法
APIでICOSからイメージファイルのImportを指示。APIからAcceptedの応答が得られた時間を開始時刻としています。
プログラムで5秒おきにイメージの一覧で作成中のイメージ情報を取得し、イメージのステータスが available
になったタイミングの時刻を終了時刻として計測しています。(再掲:イメージ作成中は pending
のステータスになります)
計測結果
経過時間 | 経過秒数 | 容量(GB) | Import速度(MB/秒) | |
---|---|---|---|---|
1 | 0:12:11 | 731 | 19 | 25.99 |
2 | 0:14:53 | 893 | 19 | 21.28 |
3 | 0:14:20 | 860 | 19 | 22.09 |
4 | 0:14:12 | 852 | 19 | 22.30 |
5 | 0:14:57 | 897 | 19 | 21.18 |
ICOSにExportしたバックアップから復元という場合は、ここで一番時間がかかりそうな部分ですね。なお1ショット目が早いのは日本時間の夜中2時くらいに実施したものなので、その影響があるかもしれません。2~5ショットは平日日中に実施しました。
4.Importしたイメージからインスタンス(サーバ)の作成
作成するインスタンスの情報は以下です。元と同じです。
- リージョン:東京
- プロファイル:2 vCPU | 4 GiB
- OS:Ubuntu Linux 22.04 LTS Jammy Jellyfish Minimal Install (amd64)
- Boot Volume:100GB
計測方法
APIで先ほどICOSからImportしたイメージからインスタンス(サーバ)の作成を指示。APIからAcceptedの応答が得られた時間を開始時刻としています。
プログラムで1秒おきにインスタンスの一覧で作成中のインスタンス情報を取得し、インスタンスのステータスが running
になったタイミングの時刻を終了時刻として計測しています。(インスタンス作成中は starting
のステータスになります)
計測結果
経過時間 | 経過秒数 | |
---|---|---|
1 | 0:00:05 | 5 |
2 | 0:00:06 | 6 |
3 | 0:00:06 | 6 |
4 | 0:00:06 | 6 |
5 | 0:00:05 | 5 |
はやーい。
さすがVPC環境と言いたいくらいに早いですね。プログラムも最初は他と同じように5秒おきで動かしていましたが、あまりに早いので1秒おきに動作するようにしました。
余談
今回はインスタンスもICOSも同じ東京で行いましたが、例えばバックアップになるExport先は少しでも単価の安い海外のDCを利用するのも手ですよね。
というわけで、1ショットだけ、イメージをダラスのICOSにExport、またダラスのICOSから東京のVPCのイメージにImportしてみました。
イメージをダラスのICOSにExport
経過時間 | 経過秒数 | 容量(GB) | Export速度(MB/秒) | |
---|---|---|---|---|
1 | 0:04:04 | 244 | 19 | 77.87 |
Export速度で言うと、約1/8程度になりました。東京での時間と比べると遅い感はありますが、使えないわけではない時間にも思いますね。
ダラスのICOSからイメージをImport
経過時間 | 経過秒数 | 容量(GB) | Import速度(MB/秒) | |
---|---|---|---|---|
1 | 0:16:43 | 1003 | 19 | 18.94 |
こちらはExportほど大きな影響はなく、東京と比べて20%ほど遅くなっている、というところでしょうか?Exportは時間がかかりますが、ICOSに保管さえしてしまえば、ダラスからのインスタンスの再作成も、極端な時間差なく復元できるように思えます。
さいごに
いかがでしたでしょうか?実績値の紹介なので、何かを担保するわけではないですが、システム運用を検討する上で参考になりそうな情報を紹介させて頂きました。
サードパーティのバックアップツールはもちろん便利ですが、IBM Cloudで提供されている標準のツールもうまく利用して頂けたら幸いです。