サン仮想化アプライアンスのご紹介 : やっぱり Sun がスキ! やっぱり Sun がスキ!

やっぱり Sun がスキ!

http://blogs.sun.com/yappri/date/20080626 2008年 6月 26日 木曜日

サン仮想化アプライアンスのご紹介

今までこのブログでは Solaris 10 の仮想化機能であるコンテナ(ゾーン)の ご紹介を何回かしてきましたが、 最近弊社では、この Solaris 10 コンテナ機能にサーバ及びストレージを 組み合わた仮想化環境を実現するソリューションを 発表しました。

サン仮想化アプライアンスのイメージキャラクタの「Viking Duke」です (可愛いので載せてみました)。


全体像はサンの仮想化アプライアンス公式ページ(http://jp.sun.com/vikingzone/) に任せるとして、本ブログでは 仮想化ソリューションを使用した時に実現可能なことを、具体例でご紹介させて 頂きます。

まずは Solaris 10 コンテナの利点のおさらいです。
  • 仮想化機能が Solaris 10 標準なので無償!
  • ゾーンがサーバ間で移動可能!
  • ゾーンのリソース割り振り変更が非常に簡単!
上記利点を「あらかじめ仮想化の基本的なフレームが作成された状態」でご提供 するのが、この仮想化アプライアンスのメリットです。今まで仮想化を どのように利用してよいのかお困りでなかなか手を出すことのできなかった お客様に最適です。

仮想化アプライアンスで実現可能な具体例

具体例を Flash でご紹介します。
この Flash は実際にコマンドを実行した経過時間を体感できます。 もちろん構成によっては必ずこのスピードで動作 するを保証するものではありませんが、これ位のスピードで動作する 環境の例もあるということで、ご参考にして頂ければ幸いです。

Flash の中では、どのような内容が実行されているか 解りやすくするために まとめたスクリプトを使ってます。

各スクリプトの内容は以下になります。
zone_display.sh
	ゾーンの構成内容を表示する
detach.sh 
	ゾーンのデタッチ	
map.sh
	ストレージ側のマッピングを変更
attach.sh
	ゾーンのアタッチ
fss-share.sh
	FSS(Fair Share Scheduling)を使用してゾーン内の
	CPU リソース配分を変更
capped-memory.sh  
	ゾーン内のメモリリソース配分を変更

具体例 1 : Zone のサーバ間移動

具体例 2 : Zone CPU リソース変更

* 注: 上記のサンプルスクリプト中では、zonecfg を使用しているため、変更を反映するために Reboot が必要となっています。 別の prctl コマンドを使うスクリプトを作成すると、オンラインでゾーンの CPU リソース 変更を反映することが可能です。

具体例 3 : Zone メモリシェア数変更

* 注: 上記のサンプルスクリプト中では、zonecfg を使用しているため、変更を反映するために Reboot が必要となっています。 別の prctl コマンドを使うスクリプトを作成すると、オンラインでゾーンのスワップのサイズは 変更可能です。(現時点では、ゾーンの物理メモリのサイズはオンラインで変更することは 出来ません。)


Flash をご覧頂くとお解り頂けるとおり、非常に簡単にサーバ間で ゾーンの移動/サーバ内のリソースの変更を行うことが可能です。

リソースの変更は簡単ですし、 サーバに障害があったときは手動で切り替えるような運用で問題ない システムには、お勧めのソリューションです。あらかじめ仮想化の基本的な フレームが作成された状態で提供されるこのソリューションで、仮想化の第一歩を 踏み出してみませんか?

ご興味がわいた方は是非以下のページにアクセスしてみてください。

サンの仮想化アプライアンス : 公式ページ
http://jp.sun.com/vikingzone/

おまけ - コマンド内容

スクリプトが何を行っているのかもう少し細かくしてみました。 ご興味のある方はご覧下さい。
  • zone_display.sh
    # zoneadm list -vc
    # zonecfg -z <ゾーン名> export 
    の内容を見やすく表示
    


  • detache.sh
    # zoneadm -z $arg1 detach
      ($arg1 = ゾーン名)
    
    参考過去記事 Zone 新機能・その3 -Migration-

  • attach.sh
    # zoneadm -z $arg1 attach
      ($arg1 = ゾーン名)
    
    参考過去記事 Zone 新機能・その3 -Migration-

  • fss-share.sh
    # zonecfg -z $arg1 set cpu-shares=$arg2
      ($arg1 = ゾーン名, $arg2 = CPU シェア)
    


  • capped-memory.sh
    # zonecfg -z $arg1
    で以下の設定
    remove capped-memory
    add capped-memory
    set physical=$arg2
    set swap=$arg3
    end
    verify
    commit
    exit
      ($arg1 = ゾーン名 , $arg2 = 物理メモリ, $arg3 = スワップ )
    
    参考過去記事 Solaris コンテナに対するメモリ制限方法

投稿されたコメント:

コメント
  • HTML文法 不許可