仮想化基盤にまつわるさまざまな課題に対して、新しいビジョンと技術で市場をリードしてきた仮想化専用ストレージ「Tintri VMstore」(以下、Tintri)。前回は、「スナップショット」の応用例の1つである「タイムトラベルリカバリー」を見てきました。今回は、タイムトラベルリカバリーを実現する技術を使って、仮想ディスクの中身をそっくり書き換えることができる「ディスクリフレッシュ」を紹介します。

プロフィール

碓氷 晃央(うすい てるお)
CIO。たびたび寒いおやじギャグを披露する。


天鳥 間仁阿(てんとり まにあ)
隣の部署のサービス運用担当。Tintriについてやけに詳しい。自称「スーパーTintriマン」。


開発・検証・本番、それぞれでインフラを整えると
予算が高くなる……

今年はSAPシステムの更改時期じゃのう…… 最近はクラウドも流行っているし、新しいデータベース技術も出てきているから、考えることが多いわい。まずはインフラ投資の削減が最優先課題なんじゃが、何かいいアイデアはないかのう……


インフラでお困りならTintriの出番で~す!!

おお、サービス運用担当の天鳥くん…… じゃなくてスーパーTintriマン! 今日はもう着替えているのかい! 君はいつも軽快でいいのう。その勢いで当社のインフラをチョー軽くしてくれる妙案はないかね。


それならおすすめはSAPのシステムランドスケープの数を減らすことっすね! 現在、開発環境、テスト(品質保証)環境、本番(プロダクション)環境は機器を分けていますよね。仮想化していてもサーバやデータは筐体を分けて保存しているはず。

そういうのをやめて、開発機、テスト機、本番機をTintri上に統合してしまうんです!

そんなことやっていいんかい!? 動作が遅くなったり、トラブったりするのとちゃうんかい!?


Tintriならできるんです! 性能問題や信頼性を気にする必要もありません。本番データを開発やテストに流用することも簡単にできるので工数削減にもつながります。そこでカギになるのが「ディスクリフレッシュ」なんです!

ディスクリフレッシュってどんな機能なの?

ディスクリフレッシュっていうのは、ディスクをリフレッシュする機能だな…… って、そのまんまやないかい! つまり、どういうことなんじゃ?


簡単に言えば、ディスクの内容をまるっと入れ替えることができる機能っす。ディスクリフレッシュをうまく使えば、開発機、テスト機、本番機で使っているデータを、スナップショット機能を使って簡単に切り分けることができるようになるんです。

図解すると、こんな感じ。この例では、開発機とテスト機を1つの環境でこなして、本番環境にデプロイしているイメージっす。

別仮想マシンのスナップショットから
vDisk単位でデータを高速に同期~SyncVM~

普通は、開発/テスト環境では、本番環境のデータをそのまま使うわけにはいきませんから、過去にスナップショットなどで取得しておいたデータを使って検証していきますよね。でも、本番環境は常にデータが新しく更新されるので、だんだん開発/テスト環境との違いが大きくなります。

違いが大きくなると、検証が十分にできなくなります。だから、また新しいスナップショットなどからデータを持ってきて同期することになります。ただ、これはデータが少なければいいですが、数GB、数TBになると、とても同期できません。まして筐体を分けていたら、コピーだけで数時間かかってしまいます。

そうじゃな。本番機と開発/テスト機で筐体を分けて運用している以上、そういう問題は常につきまとうわい。


でも、Tintriなら、同じ筐体のなかで、本番機と開発/テスト機を仮想マシンとして稼働させて、スナップショットを使って、データディスクだけまるっと切り替えられるんです! そう、これがディスクリフレ~ッシュ!!

ディスクリフレッシュは何が便利なの?

ということは、開発やテストで本番データが必要になったら、そのタイミングでデータディスクをリフレッ~シュすればいいわけじゃな。本番環境とちょくちょくデータを同期しているわけにはいかないから、それは便利だわい。


その通り! ポイントは必要なときにすぐにディスクを入れ替えられることです。本番機のスナップショットで取得した仮想ディスクの内容は、開発/テスト機VMの仮想ディスクの内容と瞬時に同期します。システムディスクの内容は変わらず、IPアドレスなどのシステム設定もそのままです。ユーザーから見ると、データディスクの中身だけがほかのディスクに入れ替わる感じっすね!

ユーザーと管理者はどういった操作が必要なんじゃ?


管理者の場合は、管理画面からディスクリフレッシュしたい仮想マシンを選択するだけです。仮想マシンのリストを右クリックすると「Syncronize - Refresh virtual disks...」という項目があるので、それを選択し、画面で設定していきます。

管理者が設定を適用したら、ユーザーは仮想マシンを再起動するだけでデータディスクのみが切り替わるんです。

それは簡単だわい! これでデータの移動やコピーの時間も発生しないんじゃな。何千万件もあるデータベースでも、TBクラスの容量があるディスクでも、一瞬でリフレ~ッシュ!


これは、データの参照先が変わるようなイメージっすね。実データをコピーしないので容量は増えません。重複排除も効いています。運用が劇的に変わるはずっす!

他社の機能と何が違うの?

さすがサービス担当! こういった機能は聞いたことがないんじゃが、他のストレージにも備わっているものなのかな?


はっきり言いましょう。これと同じ機能を持っている他のストレージはありません! 仮想ディスクを付け替えるといったことは技術的に可能だと思います。でも、なぜ仮想ディスクをリフレッシュするためには同一筐体内に性能や可用性のレベルの異なる仮想マシンを配置することが前提です。

それはそうじゃな。本番環境と開発/テスト環境が切り替わるから意味があるわけで。


そうっす。となると本番環境と開発/テスト環境を同居させても問題ないストレージは限られてきますよね。仮想マシンの状態を認識して、パフォーマンスを最適化していく必要があります。で、そんなことができるのはTintriだけってことです。

ディスクリフレッシュはどんなときに使うの?

ディスクリフレッシュは、データのリストアなどにも使えそうじゃが、一番いい使い方は、開発、テスト、本番といった環境でのディスクの切り替えじゃろうな。開発や運用のスタイルが大きく変わるわい。


「DevOps」って知ってますか? 開発と運用が連携して行う開発手法のことなんですが、うちの部署だと、インフラをコードのようにプログラムできるような環境を整えているんです。たとえば、開発用の仮想マシンが欲しかったら開発者が自分で調達して運用に渡すなどしています。運用側でもコードで管理して運用を自動化しています。

知っとるわい。すごーく先進的な取り組みだってことで、わしのところにも、よく講演や取材の依頼がくるわい。まだちゃんと喋れないけどな。


さすが碓氷さん! ディスクリフレッシュを使うと、SAPシステムのような基幹系システムでも、似たようなことができると思ってるんです!

ほう!! でも止まったりしたらまずいシステムがほとんどじゃぞ。


Tintriの自動QoSってご存知ですか? これがあるおかげです。

ほかの機能と合わせて使うといいことあるの?

自動QoSと組みあわせると、どんないいことがあるんじゃ?


SAPシステムのような止めちゃいけないシステムでも開発/テスト環境と、本番環境の同時稼働ができるってことっすよ。

ストレージI/O性能がよかったり、信頼性が高かったりすると、開発/テスト環境と本番環境を同居させてもいいように思ういますよね。でも、実際そんなことをしたら……

開発やテストで負荷がかかって本番環境が遅くなったりしたら、目も当てられんわい。


そうっすよね。でも、Tintriはそういう負荷を自動で認識して仮想マシンごとに自動でQoSを設定してくれるんす。だから、SAPシステムでも2システムランドスケープでいけますし、その構成にすると、ディスクリフレッシュを使ってDevOps的なこともできるようになるんです。

アプリケーション開発側で、好きなときに本番データにリフレッシュするってわけじゃな。なるほどなあ。


ディスクリフレッシュをうまく使っているユーザー事例は?

実際にディスクリフレッシュを使って、そういう取り組みをしている企業はおるんかい?


日本ではまだないですが、米国の先進企業では活用しているところがありますよ。たとえば、エンビジョン社では、複数の開発機を使っていて、本番機が持っているデータをスナップショットして、瞬時に開発機にリフレッシュして開発を進めているそうです。Tintriを使う前はたくさんのデータ量をクローンコピーするのに相当時間が掛かっていたそうですよ。

すごいな、天鳥くん。いっそ、君のシュッとした顔をわしの顔にリフレッシュしてくれんか!!


それは遠慮しときます! 忘却光線!


次回は、「Tintri Global Center Standard」について天鳥くんが熱く語ります!

[PR]提供:ティントリジャパン