Wind River Blog Network 翻訳版
本サイトでは、Wind River Blog Networkの一部を翻訳し公開しております。

August 9, 2017

新しいOpenStack Live Migration機能をよくご存じですか?


投稿者:Ron Breault

OpenStackに接してから5年以上経ち、Live Migration機能にはすっかり慣れてしまったと言っていいでしょう。するべきことを行うだけですが、それを巧みに処理します。しかし、あらためて考えてみると、OpenStack Live Migrationは実にすごい機能です。特に、最近加えられたさまざまな改善点を考え合わせると、まさにそうです。詳しくはこの先を読んでください。

どうしてLive Migrationをすごいと表現するのか。その理由は、機能を果たすために「人目に付かずに」行われるあらゆる処理と、Live Migrationで可能なことにあります。Horizonでマウスを数クリックするだけで、ある物理サーバで動作中の仮想マシン(VM)を、別の物理サーバに自動的に移動できます。「自動的」というと簡単そうですが、その実現には、それはたくさんの処理が行われています。まず、VMを稼働させた状態で、VMの静的、動的なすべてのメモリをコピーします。次に、VMの完全なネットワークインフラをコピーして、移動先ノード上に確立します。ローカルのブロックストレージ(使用している場合)を移動先ノードにコピーします。VMを一時的に停止させてから、VMを再開して、プロセスが完了します。VMのサイズによって、マイグレーション全体の間隔は、秒単位から分単位になります。

Live Migrationで可能になることは、常時稼働の本番環境クラウドの運用に重要な、ありとあらゆることです。Live Migrationにより、ホストしている仮想サーバをオフラインにすることなく、物理サーバをグレースフルに電源オフにして、アップグレードできます。同様に、稼働しているVMを一切停止することなく、重要なホスト用セキュリティアップデートやバグ修正プログラムを、サーバ全体に配信、展開することが可能です。たとえば、ウインドリバーの仮想化ソフトウェア製品Titanium Cloudに搭載されたインサービスアップグレード機能を使用すると、クラウドインフラ全体のバージョンアップを、ライブかつ本番稼働中に実施できます。それを部分的に支えているのは、Live Migrationです。

先頃OpenStack Innovation Centerから、「High Availability of Live Migration(Live Migrationの高可用性)」と題したレポートが発表されました。面白い読み物となっており、OpenStackのLive Migration機能について同センターが実施した、徹底的な調査とテストが詳しく解説されています。ぜひ全文を読んでいただきたいところですが、概要のなかで、次の一文が重要であると感じました。「結論として、Live Migrationが機能することを証明することができた」。先に私に相談してくれれば、ずいぶん手間を省いてあげられたのにと思います。Titanium Cloudは、何年間もLive Migrationを問題なく利用してきました。標準のOpenStackディストリビューションでは、解決すべき些少な問題がまだありますが、Titanium CloudはLive Migrationを完全に使いこなしています。ウインドリバーはさらなる改善を目指して、変更をアップストリームしてきました。中立的な第三者機関のテストで検証されたように、Titanium Cloudは150ミリ秒未満のVMダウンタイムで、Live Migrationを実行できます。この数字に近い商用の実装は聞いたことがありません。

最新リリースのTitanium Cloudには、OpenStackのアップストリーム作業とウインドリバーのアップデートの両方が搭載されており、Live Migrationはこれまで以上に強化されています。以下に、特に注目に値すると思われる改善点を2つ挙げます。

パフォーマンスの向上:ウインドリバーの最新版Titanium Cloudでは、ウインドリバーのテストによると、Live Migrationのスループットが大幅に向上しています。ウインドリバーのラボでは、以前のバージョンより5倍のスループット向上が見られました。このような変化は、大きなVMでは大きな違いを生み、Live Migrationの間隔が大幅に短縮されます。マイグレーションの時間が短くなると、メンテナンス作業のタイミングを詰めて計画できます。オペレータがLive Migrationの終了を待つ時間が短くなります。

Auto-Convergence(自動収束):新しいAuto-Convergence機能は、特に優れたイノベーションです。VMによっては、大量のメモリ書き込み処理が原因で、マイグレーションに長時間かかる場合があります。OpenStackがVMの「ダーティな」メモリの内容を移動元から移動先にコピーできる速度と同じ速度で、VMがメモリを再び「ダーティ」にすることが可能です。そうなると、OpenStackはぎりぎり間に合うか、場合によっては、追いつけなくなることがあります。VMがメモリへの書き込みでビジー状態になってしまいます。新しいAuto-Converge機能は、ページをあまり速くダーティにできないように、VM上の仮想CPUをインテリジェントに減速させることで、この状況を変えます。メモリの書き込みが遅くなるので、Live Migrationは停止状態に陥ることなく進行し、VMに先行することができます。実に気が利いています。この機能はオプションなので、この機能を使いたくないVMがあれば、機能を無効にできます。柔軟性は大切です。

他にも興味深い変更点があります。例を挙げると、Live Migrationの最大間隔を動的に更新できる機能(他のVMより常に移行に時間がかかるVMがあります。この機能はタイムアウトの回避に有効です)や、Live Migrationのスループットと推定ダウンタイムを定期的にログする機能のほか、既定の最大タイムアウトが800秒から180秒に短縮されました。

これらの変更がすべて反映された、最新版Titanium Cloudで実行されるLive Migrationは、これまでで最高のものになっています。クラウドを使って重要インフラを管理する場合、Live Migrationは欠かせない機能です。Titanium Cloudを使用していないなら、Live Migrationの最大限のパフォーマンスを引き出せていません。最寄りのウインドリバー営業担当にお問い合わせいただくか、ウインドリバーのサイトにアクセスして、Titanium CloudとウインドリバーのLive Migrationのパフォーマンスについて、詳細をご確認ください。