SlideShare a Scribd company logo
仮想マシンの動的プロビジョニング&
   複雑なネットワーク構築




               Kazuhisa Hara
                           1
Agenda



 アジェンダ

 1. 仮想マシン提供自動化/管理するシステム
    を組むには?

 1. 複雑なネットワークを構築する



                      2
Virtualization…?


おさらい
   – そもそもサーバ仮想化とは?
      • 1台のサーバコンピュータを、あたかも複数台のコンピュータである
        かのように論理的に分割し、それぞれに別のOSやアプリケーション
        ソフトを動作させる事
                                   Linux


         Windows         Windows

                                           Solaris




                   仮想化


                                                     3
Virtualization Products

主なサーバ仮想化製品
   – VMWare
      • 市場を牽引
      • vSphere(ESX)
   – Hyper-V
      • Microsoft Windows2008
      • Windows 2008R2(Windows7相当)で Hyper-V2.0が搭載予定
   – Xen
      •   Citrix XenServer
      •   Oracle VM
      •   Sun xVM
      •   OSS Xen.org
   – KVM
      • RedHat
   – Other
      • Solalis LDoms
      • openVZ etc…                                   4
Main




       今回のメインはXenです。




                       5
Story




        Story


                6
Delusion

仮想化を使ってプライベートクラウドな環境を構築したいね
  – もっと言ってしまえば、AmazonEC2みたいなの




                                7
For example

Why ?
    – 例えば…
       • 社内で新しいプロジェクトが走り出した!
       • 検証/開発用にサーバが必要
       • 物理的にサーバを発注したら最低数日、決済とか
         色々考えると最悪数週間掛かることも…




                                  8
Model answers



     仮想サーバのプールがあれば、数分~数時
         間で簡単に提供できるよ

                 コスト下がるよ!

          仮想化いいよ!仮想化しよう!!




                仮想化かわいいよ仮想化

                              9
It tend to do…




      ここまでありがちな話



                   10
Problem

課題
  – もちろん簡単に仮想マシンを払いだす仕組みが必要
     • 1個ずつ作成するのは非効率
          – 例え作れても管理が大変
             » 自動化できるものは自動化しよう



管理
     • 特にOSS仮想化ソリューションはここが弱い
          –   ロール管理
          –   統合的な管理
          –   容易なアクセス
          –   ユーザアクション直結のソリューション
          –   その他その他…              11
Necessary

課題をクリアする為には?

    – 仮想マシン提供自動化/管理するシステムがまず必要
       • 使えるものは使う
       • ないなら作る


    – ある程度狭い範囲とはいえ、アクセス権を配慮した
      ネットワーク構築が不可欠
       • 『ネットワークの仮想化』とかどうなのよ
       • 仮想マシンのネットワークは、どうなっているのか?




                                    12
Will

自動化できるポータルが欲しい
                                      ポータル


               利用者
         所属       ▼      利用者メールアドレス



              利用期間           リソース確認

          2009 ▼ 年 05 ▼ 月 20 ▼ 日        -      2009 ▼ 年 05 ▼ 月 30 ▼

                                                                        日



            必要リソース
                OS           台数       メモリ       ディスク       利用テンプレート

          CentOS5.3      ▼   2    台   1000 M      10   G   WebServer   選択

                    ▼             台   1000 M      10   G               選択

                         ▼        台   1000 M      10   G               選択


              申請


       ※プロビジョニング完了後に利用者/管理者にメール通知
         (利用期間、アカウント名、中間サーバIPアドレス、ゲストOSのIPアドレス等)
                                                                            13
Topic:1




          今日のお話し
            その1




                   14
Means

何を使えば作れる?
   – Xen、KVMのツールはコマンドラインでも叩ける
   – xmlでゲストマシンの情報を定義
        • Webサーバの裏でShellexecさせる?
          – それなら言語は特に問わない。Perl, PHP, Ruby ,Java…
          – でもShellexecは正直美しくない
          – 何よりホストマシンとWebサーバの切り分けが出来ない



実は標準ライブラリがある!
   – libvirt
        • これを使って自動プロビジョニング/管理ツールを作る

                                              15
libvirt

libvirt
    – 平たく言うと、仮想化ホスト(≒ハイパーバイ
      ザ)とやり取りが出来るAPIライブラリ

    – 沢山の仮想マシンに対応
          • Xen, QEMU, KVM, openVZ, VirtualBox etc…


    – 言語バインディング
          • C, C#, Python, Java, Perl, Ruby etc…
          • 標準APIはCとPython


    – セキュリティ認証
                                                      16
          • SSH, TSL & X.509, SASL & kerberos
Range

libvirtで出来る範囲
    – ホスト(Dom-0)の情報取得
    – ゲスト一覧
    – ゲストの操作
        • 作る、消す、編集する、などなど
    – ネットワークの操作
    – ストレージの操作

    – virt-managerはこのライブラリを使っている
    – virshコマンドもこのライブラリを使っている

                                   17
virt-manager

virt-manager
    – 確かに便利だけど、かゆいところに手が届かない
    – VirtualCenterほどの機能はまだない




                                18
libvirt’s Version

バージョンによってできる事がすごく左右される
   – リモートホストを管理をするなら、0.4.x以上が必須
      • 最新は現在0.6.4
      • RHEL5.3は0.3.3, SLES11は0.4.6


   – ローカルマシンの管理だけなら0.4以下でも何とかなる
      • 接続の問題
      • リモートの場合、SSHやTSL等で認証(ここの実装具合)




                                       19
libvirt xen driver(local)

libvirt xenドライバ(ローカル)


      C, C#, Python, Java, Perl, Ruby etc…



                      libvirt



      xend           xenstored      hypervisor



                                                 20
libvirt xen driver(remote)

libvirt xenドライバ(リモート)
                                                 SSH, SASL…

      C, C#, Python, Java, Perl, Ruby etc…

                      libvirt




                      libvirt

      xend           xenstored      hypervisor
                                                        21
Sample

 libvirt Python API Bindings


import libvirt

conn = libvirt.open(‘xen+ssh://root@remote.domain/’)

dom0 = conn.lookupByName("Domain-0")

print dom0.info()


                                                 22
Future



このlibvirtを使って開発していけば
          俺々仮想マシン管理ツールが作れます

  – ポイント
     • ゲストOSのテンプレートを用意する
         – 1らかインストールするのは面倒
         – 出来合いのものを用意してコピーするのが王道
            » (ライセンスには注意)


     • 出来れば共有ストレージは欲しい
         – マイグレーションやネットワーク構成を考えると必要になってくる
         – 最悪普通のサーバをiSCSI専用サーバに仕立て上げても良い


     • ある程度以上の規模(ゲスト10台以上、とか)を想定するならVLAN
                                    23
       を切れるSWが欲しいところ
Existing product


機能面で参考になるプロダクト
    – Karesansui
       • 日本製のWebベース仮想マシン管理ツール
          – CentOS5.3に対応
          – 自動プロビジョニングまではできない
          – libvirt使ってます
              » 独自に0.4系をパッケージングしている


    – Enomaly
       • 同じくWebベースの管理ツール
          – 対応ホストのバージョンが若干古い
              » Ubuntu8.0.4, CentOS5.2
          – libvirt0.4系を自前で入れる必要あり       24
etc…

他には
   – Oracle VM    (ちょっと毛色が違うけど)
       • Webベースの管理マネージャが秀逸
       • テンプレート管理/ストレージ/ネットワークの設定
       • システムとしては理想に近い
       • Oracle Enterprise Linuxが無償で使える
         – RHEL,CentOSも使える
         – 別にOracleDBを使わなくても、純粋に仮想化ソリューショ
           ンとして使える


   – Eucalyptus
       • まさにEC2を自前でもてるソリューション
         – ただし、まだ複数クラスタを持てないなど制約がある
                                       25
Topic:2




          今日のお話し
            その2




                   26
MultiNetwork


Xenで複雑なネットワークを構築してみる
    – Bonding
       • 「チーミング」とも言う
       • 複数のNICを1つのNICで束ねる
       • 主に信頼性の確保
    – TagVLAN
       • IEEE 802.1Qで標準規格化されている
       • LANのMACフレームにVLAN番号(タグを挿入)し、論
         理的にネットワークの切り離し/接続を行える
       • 複数のSWをまたがったVLANを設定できる
       • 物理的なポートの節約も出来る
                                    27
MultiNetwork



参考
    – 検証環境
       • CentOS5.3 x86-64
       • Xen 3.1.2-128.1.10.el5
          – Xen 3.2/3.3系ではネットワークの設定が若干異なる
          – 最新は3.4.x
          – 正直古い


          – SLES11だと Xen3.3系が使える
              » 設定方法が異なる
              » YaSTでごにょごにょ出来るので多少楽が出来る

                                            28
Bonding(Normal)

Bonding(普通の考え方)
     Application




                   マシン   - 物理的な配線
                         - 論理的な配線
                                    29
Bonding(Xen)

Bonding(Xenで使う場合)
    Domain-U




                xenbr0




                         pbond0
               bond0


                 Domain-0
                                  Xen環境ではbond0 にあたるインタ
                                   フェースは pbond0 に変更される
                                                         30
Merit


仮想化でBondingを使うメリット
   – 考え方は物理マシンで組むときと基本同じ
   – 冗長/信頼性
   – 勿論Domain-U内でBondingすることも出来る


   – xenbrの前でbondingを組むと…
        • Domain-Uは、自分のNICがbondingの線であることを知らない
          – つまり、極端な話modprobeする必要がない
          – 特殊なカーネルモジュールや設定が不要




                      なんか良く知らないけど、
                    ネットワークが冗長構成らしいです
                                            31
         Domain-U
TagVLAN(Normal)

TagVLAN(普通の考え方)


                  VLAN10   20   30




                                     VLAN10,
                                      VLAN20
                  VLAN10   20




                                           32
TagVLAN(Xen)

TagVLAN(Xenで繋ぐ場合)




Domain-Uはタグをまった
         く
  意識しないで繋げる

                    でも物理NICから
                    出るパケットには
                    タグがついている    33
TagVLAN(Xen)

TagVLAN(Xenで使う場合)
                                          eth0.10




                                 xenbr0
               eth0                       eth0.20
    Domain-U




                                 xenbr1

                                          eth0.30
                                 xenbr3




                      Domain-0
                                             仮想的に作り出し
                                             たVLANにブリッジ
                                             を割り振ってやる     34
Merit


仮想化でTagVLANを使うメリット
    –   考え方は物理マシンで組むときと基本同じ
    –   柔軟なネットワーク体系の構築
    –   使用者にVLANを意識させなくとも制御できる
    –   独立したネットワークを任意に増やすことが出来る

    – xenbrの前でTagVLANを組むと…
        • Dom-Uは、自分のNICがVLANの線であることを知らない
           – つまり、極端な話modprobeする必要がない
           – 特殊なカーネルモジュールや設定が不要


                       なんか良く知らないけど、
                    ネットワークがVLANになってるらしい
                            です
                                           35
         Domain-U
Demon's gate



課題
   – 管理/自動プロビジョニング環境開発で、一番
     の鬼門はネットワーク
      • DHCPで適当に払いだせる環境なら、まぁなんとか
         – ゲストOSのIP/ホスト名は、ゲストOSが立ち上がった後で
           しか編集できない
      • ゲストOSは雨の後のタケノコのように増えて行く…
      • そのうち追いきれなくなる


      • やっぱ管理が重要
         – ネットワーク体系を色々切り離そうとすると、物理NICが
           足りなくなってくる                 36
How should I do?

解決策の例
  – 決め打ちで凌ぐ
      • ゲストマシンを作り出すタイミングで、ゲストのMACアドを控えておく
      • 控えた値をDHCPサーバに送り、MAC縛りでDHCPを払い出す
         – ここまで頑張って自動化する


  – VLANを使って良しなに振り分ける
      • ただしVLANのトランクポート追加や変更はネットワークの再起動が必
        要なので、設計段階から気をつける
      • Domain-UレベルでのVLANはなるべくしない
          – 管理が更に煩雑になる


  – プラスアルファ:信頼性を求められるケースはBondingを使う
      • ただしBondingもDomain-Uレベルではしない
         – 問題があったときの切り分けが難しい

                                       37
brings it together.

まとめ

• 自動化を効率よく実現するために
   – libvirtを巧く使う
      • 段々成熟してきた
      • バージョンには十分注意
          – 何が出来る/出来ないかを理解する
   – もしくは既にあるものを流用する/hackする

• 動的プロビジョニングをするだけじゃ意味がない
   – 管理超重要
      • 自分が楽をするためにがんばる
   – ネットワーク
      • 悩みどころ
      • ポリシー次第
                               38
Thanks!!




           ご静聴ありがとうございました。

             質問等あれば是非どうぞ!




                             39

More Related Content

What's hot

OSC2012Kansai@Kyoto 自宅SAN友の会 - インフラエンジニアなら知っておきたい ストレージのはなし
OSC2012Kansai@Kyoto 自宅SAN友の会 - インフラエンジニアなら知っておきたい ストレージのはなしOSC2012Kansai@Kyoto 自宅SAN友の会 - インフラエンジニアなら知っておきたい ストレージのはなし
OSC2012Kansai@Kyoto 自宅SAN友の会 - インフラエンジニアなら知っておきたい ストレージのはなしSatoshi Shimazaki
 
Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!Etsuji Nakai
 
物理マシンをケチる技術
物理マシンをケチる技術物理マシンをケチる技術
物理マシンをケチる技術Satoshi KOBAYASHI
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)Satoshi Shimazaki
 
Linux KVMではじめるカンタン仮想化入門
Linux KVMではじめるカンタン仮想化入門Linux KVMではじめるカンタン仮想化入門
Linux KVMではじめるカンタン仮想化入門VirtualTech Japan Inc.
 
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)Satoshi Shimazaki
 
Hyper vを理解する
Hyper vを理解するHyper vを理解する
Hyper vを理解するNaoki Abe
 
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)Kazuyuki Sato
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化Kumazaki Hiroki
 
TechEd2010_T2-401_EffectiveHyper-V
TechEd2010_T2-401_EffectiveHyper-VTechEd2010_T2-401_EffectiveHyper-V
TechEd2010_T2-401_EffectiveHyper-VKuninobu SaSaki
 
EthernetやCPUなどの話
EthernetやCPUなどの話EthernetやCPUなどの話
EthernetやCPUなどの話Takanori Sejima
 
Windows Azure の中でも動いている InfiniBand って何?
Windows Azure の中でも動いている InfiniBand って何?Windows Azure の中でも動いている InfiniBand って何?
Windows Azure の中でも動いている InfiniBand って何?Sunao Tomita
 
COMSTARでiSCSI - OpenSolaris勉強会 2011.08
COMSTARでiSCSI - OpenSolaris勉強会 2011.08COMSTARでiSCSI - OpenSolaris勉強会 2011.08
COMSTARでiSCSI - OpenSolaris勉強会 2011.08tokuhy
 
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティSaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティKuniyasu Suzaki
 
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3infinite_loop
 

What's hot (19)

OSC2012Kansai@Kyoto 自宅SAN友の会 - インフラエンジニアなら知っておきたい ストレージのはなし
OSC2012Kansai@Kyoto 自宅SAN友の会 - インフラエンジニアなら知っておきたい ストレージのはなしOSC2012Kansai@Kyoto 自宅SAN友の会 - インフラエンジニアなら知っておきたい ストレージのはなし
OSC2012Kansai@Kyoto 自宅SAN友の会 - インフラエンジニアなら知っておきたい ストレージのはなし
 
Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!Lxc で始めるケチケチ仮想化生活?!
Lxc で始めるケチケチ仮想化生活?!
 
物理マシンをケチる技術
物理マシンをケチる技術物理マシンをケチる技術
物理マシンをケチる技術
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)
 
Linux KVMではじめるカンタン仮想化入門
Linux KVMではじめるカンタン仮想化入門Linux KVMではじめるカンタン仮想化入門
Linux KVMではじめるカンタン仮想化入門
 
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
 
KVM+cgroup
KVM+cgroupKVM+cgroup
KVM+cgroup
 
LXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoyaLXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoya
 
XenServer Overview
XenServer OverviewXenServer Overview
XenServer Overview
 
Hyper vを理解する
Hyper vを理解するHyper vを理解する
Hyper vを理解する
 
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
「前回の COMSTAR ネタに刺激されてしまったので、オレも COMSTAR を使ってみた。」(仮)
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
TechEd2010_T2-401_EffectiveHyper-V
TechEd2010_T2-401_EffectiveHyper-VTechEd2010_T2-401_EffectiveHyper-V
TechEd2010_T2-401_EffectiveHyper-V
 
EthernetやCPUなどの話
EthernetやCPUなどの話EthernetやCPUなどの話
EthernetやCPUなどの話
 
Windows Azure の中でも動いている InfiniBand って何?
Windows Azure の中でも動いている InfiniBand って何?Windows Azure の中でも動いている InfiniBand って何?
Windows Azure の中でも動いている InfiniBand って何?
 
COMSTARでiSCSI - OpenSolaris勉強会 2011.08
COMSTARでiSCSI - OpenSolaris勉強会 2011.08COMSTARでiSCSI - OpenSolaris勉強会 2011.08
COMSTARでiSCSI - OpenSolaris勉強会 2011.08
 
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティSaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
 
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
 

Similar to Osc2009 Do Xen Hara

N110 ws12概要 osamut_公開版
N110 ws12概要 osamut_公開版N110 ws12概要 osamut_公開版
N110 ws12概要 osamut_公開版Osamu Takazoe
 
20120609 cod ws2012概要
20120609 cod ws2012概要20120609 cod ws2012概要
20120609 cod ws2012概要Osamu Takazoe
 
Windows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめWindows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめSunao Tomita
 
20140927 azure pack_slideshare
20140927 azure pack_slideshare20140927 azure pack_slideshare
20140927 azure pack_slideshareOsamu Takazoe
 
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)axsh co., LTD.
 
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用Abe Junichiro
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用Shinya Okano
 
インフラエンジニアなら知っておきたいストレージのはなし@OSC 2012 Nagoya
インフラエンジニアなら知っておきたいストレージのはなし@OSC 2012 Nagoyaインフラエンジニアなら知っておきたいストレージのはなし@OSC 2012 Nagoya
インフラエンジニアなら知っておきたいストレージのはなし@OSC 2012 NagoyaSatoshi Shimazaki
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overviewirix_jp
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装Takuya ASADA
 
クラウド概略(プレゼン)
クラウド概略(プレゼン)クラウド概略(プレゼン)
クラウド概略(プレゼン)真乙 九龍
 
OpenStack with OpenFlow
OpenStack with OpenFlowOpenStack with OpenFlow
OpenStack with OpenFlowToshiki Tsuboi
 
SCUGJ第18回勉強会:よろしい、ならばVMMだ
SCUGJ第18回勉強会:よろしい、ならばVMMだSCUGJ第18回勉強会:よろしい、ならばVMMだ
SCUGJ第18回勉強会:よろしい、ならばVMMだwind06106
 
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~Masaomi Kudo
 
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!Etsuji Nakai
 
インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編
インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編
インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編Satoshi Shimazaki
 

Similar to Osc2009 Do Xen Hara (20)

N110 ws12概要 osamut_公開版
N110 ws12概要 osamut_公開版N110 ws12概要 osamut_公開版
N110 ws12概要 osamut_公開版
 
20120609 cod ws2012概要
20120609 cod ws2012概要20120609 cod ws2012概要
20120609 cod ws2012概要
 
Windows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめWindows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめ
 
20140927 azure pack_slideshare
20140927 azure pack_slideshare20140927 azure pack_slideshare
20140927 azure pack_slideshare
 
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
 
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
#cross2012 クラウドCROSS ニフティの中の人によるニフティクラウド活用
 
Xen Nic
Xen NicXen Nic
Xen Nic
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
 
インフラエンジニアなら知っておきたいストレージのはなし@OSC 2012 Nagoya
インフラエンジニアなら知っておきたいストレージのはなし@OSC 2012 Nagoyaインフラエンジニアなら知っておきたいストレージのはなし@OSC 2012 Nagoya
インフラエンジニアなら知っておきたいストレージのはなし@OSC 2012 Nagoya
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overview
 
OSvの概要と実装
OSvの概要と実装OSvの概要と実装
OSvの概要と実装
 
クラウド概略(プレゼン)
クラウド概略(プレゼン)クラウド概略(プレゼン)
クラウド概略(プレゼン)
 
クラウド入門
クラウド入門クラウド入門
クラウド入門
 
OpenStack with OpenFlow
OpenStack with OpenFlowOpenStack with OpenFlow
OpenStack with OpenFlow
 
SCUGJ第18回勉強会:よろしい、ならばVMMだ
SCUGJ第18回勉強会:よろしい、ならばVMMだSCUGJ第18回勉強会:よろしい、ならばVMMだ
SCUGJ第18回勉強会:よろしい、ならばVMMだ
 
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
VMwareユーザのためのdocker入門 ~Re:Virtualization Night #1~
 
第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...
第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...
第21回「Windows Server 2012 DeepDive!! Hyper-V と VDI を徹底解説」(2012/10/18 on しすなま!)...
 
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
 
インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編
インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編
インフラエンジニアなら知っておきたいストレージのはなし2012/Spring ストレージの基礎おさらい編
 
第3回「マイクロソフトの仮想化と、クラウドの今後」(2011/06/16 on しすなま!) ②IBM資料
第3回「マイクロソフトの仮想化と、クラウドの今後」(2011/06/16 on しすなま!) ②IBM資料第3回「マイクロソフトの仮想化と、クラウドの今後」(2011/06/16 on しすなま!) ②IBM資料
第3回「マイクロソフトの仮想化と、クラウドの今後」(2011/06/16 on しすなま!) ②IBM資料
 

Recently uploaded

YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)NTT DATA Technology & Innovation
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一瑛一 西口
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。iPride Co., Ltd.
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdfAyachika Kitazaki
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)keikoitakurag
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...atsushi061452
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルCRI Japan, Inc.
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizesatsushi061452
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptxyassun7010
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptxssuserbefd24
 

Recently uploaded (11)

YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 

Osc2009 Do Xen Hara

  • 1. 仮想マシンの動的プロビジョニング& 複雑なネットワーク構築 Kazuhisa Hara 1
  • 2. Agenda アジェンダ 1. 仮想マシン提供自動化/管理するシステム を組むには? 1. 複雑なネットワークを構築する 2
  • 3. Virtualization…? おさらい – そもそもサーバ仮想化とは? • 1台のサーバコンピュータを、あたかも複数台のコンピュータである かのように論理的に分割し、それぞれに別のOSやアプリケーション ソフトを動作させる事 Linux Windows Windows Solaris 仮想化 3
  • 4. Virtualization Products 主なサーバ仮想化製品 – VMWare • 市場を牽引 • vSphere(ESX) – Hyper-V • Microsoft Windows2008 • Windows 2008R2(Windows7相当)で Hyper-V2.0が搭載予定 – Xen • Citrix XenServer • Oracle VM • Sun xVM • OSS Xen.org – KVM • RedHat – Other • Solalis LDoms • openVZ etc… 4
  • 5. Main 今回のメインはXenです。 5
  • 6. Story Story 6
  • 8. For example Why ? – 例えば… • 社内で新しいプロジェクトが走り出した! • 検証/開発用にサーバが必要 • 物理的にサーバを発注したら最低数日、決済とか 色々考えると最悪数週間掛かることも… 8
  • 9. Model answers 仮想サーバのプールがあれば、数分~数時 間で簡単に提供できるよ コスト下がるよ! 仮想化いいよ!仮想化しよう!! 仮想化かわいいよ仮想化 9
  • 10. It tend to do… ここまでありがちな話 10
  • 11. Problem 課題 – もちろん簡単に仮想マシンを払いだす仕組みが必要 • 1個ずつ作成するのは非効率 – 例え作れても管理が大変 » 自動化できるものは自動化しよう 管理 • 特にOSS仮想化ソリューションはここが弱い – ロール管理 – 統合的な管理 – 容易なアクセス – ユーザアクション直結のソリューション – その他その他… 11
  • 12. Necessary 課題をクリアする為には? – 仮想マシン提供自動化/管理するシステムがまず必要 • 使えるものは使う • ないなら作る – ある程度狭い範囲とはいえ、アクセス権を配慮した ネットワーク構築が不可欠 • 『ネットワークの仮想化』とかどうなのよ • 仮想マシンのネットワークは、どうなっているのか? 12
  • 13. Will 自動化できるポータルが欲しい ポータル 利用者 所属  ▼ 利用者メールアドレス 利用期間 リソース確認 2009 ▼ 年 05 ▼ 月 20 ▼ 日 - 2009 ▼ 年 05 ▼ 月 30 ▼ 日 必要リソース OS 台数 メモリ ディスク 利用テンプレート CentOS5.3   ▼ 2 台 1000 M 10 G WebServer 選択       ▼ 台 1000 M 10 G 選択   ▼ 台 1000 M 10 G 選択 申請 ※プロビジョニング完了後に利用者/管理者にメール通知   (利用期間、アカウント名、中間サーバIPアドレス、ゲストOSのIPアドレス等) 13
  • 14. Topic:1 今日のお話し その1 14
  • 15. Means 何を使えば作れる? – Xen、KVMのツールはコマンドラインでも叩ける – xmlでゲストマシンの情報を定義 • Webサーバの裏でShellexecさせる? – それなら言語は特に問わない。Perl, PHP, Ruby ,Java… – でもShellexecは正直美しくない – 何よりホストマシンとWebサーバの切り分けが出来ない 実は標準ライブラリがある! – libvirt • これを使って自動プロビジョニング/管理ツールを作る 15
  • 16. libvirt libvirt – 平たく言うと、仮想化ホスト(≒ハイパーバイ ザ)とやり取りが出来るAPIライブラリ – 沢山の仮想マシンに対応 • Xen, QEMU, KVM, openVZ, VirtualBox etc… – 言語バインディング • C, C#, Python, Java, Perl, Ruby etc… • 標準APIはCとPython – セキュリティ認証 16 • SSH, TSL & X.509, SASL & kerberos
  • 17. Range libvirtで出来る範囲 – ホスト(Dom-0)の情報取得 – ゲスト一覧 – ゲストの操作 • 作る、消す、編集する、などなど – ネットワークの操作 – ストレージの操作 – virt-managerはこのライブラリを使っている – virshコマンドもこのライブラリを使っている 17
  • 18. virt-manager virt-manager – 確かに便利だけど、かゆいところに手が届かない – VirtualCenterほどの機能はまだない 18
  • 19. libvirt’s Version バージョンによってできる事がすごく左右される – リモートホストを管理をするなら、0.4.x以上が必須 • 最新は現在0.6.4 • RHEL5.3は0.3.3, SLES11は0.4.6 – ローカルマシンの管理だけなら0.4以下でも何とかなる • 接続の問題 • リモートの場合、SSHやTSL等で認証(ここの実装具合) 19
  • 20. libvirt xen driver(local) libvirt xenドライバ(ローカル) C, C#, Python, Java, Perl, Ruby etc… libvirt xend xenstored hypervisor 20
  • 21. libvirt xen driver(remote) libvirt xenドライバ(リモート) SSH, SASL… C, C#, Python, Java, Perl, Ruby etc… libvirt libvirt xend xenstored hypervisor 21
  • 22. Sample libvirt Python API Bindings import libvirt conn = libvirt.open(‘xen+ssh://root@remote.domain/’) dom0 = conn.lookupByName("Domain-0") print dom0.info() 22
  • 23. Future このlibvirtを使って開発していけば 俺々仮想マシン管理ツールが作れます – ポイント • ゲストOSのテンプレートを用意する – 1らかインストールするのは面倒 – 出来合いのものを用意してコピーするのが王道 » (ライセンスには注意) • 出来れば共有ストレージは欲しい – マイグレーションやネットワーク構成を考えると必要になってくる – 最悪普通のサーバをiSCSI専用サーバに仕立て上げても良い • ある程度以上の規模(ゲスト10台以上、とか)を想定するならVLAN 23 を切れるSWが欲しいところ
  • 24. Existing product 機能面で参考になるプロダクト – Karesansui • 日本製のWebベース仮想マシン管理ツール – CentOS5.3に対応 – 自動プロビジョニングまではできない – libvirt使ってます » 独自に0.4系をパッケージングしている – Enomaly • 同じくWebベースの管理ツール – 対応ホストのバージョンが若干古い » Ubuntu8.0.4, CentOS5.2 – libvirt0.4系を自前で入れる必要あり 24
  • 25. etc… 他には – Oracle VM (ちょっと毛色が違うけど) • Webベースの管理マネージャが秀逸 • テンプレート管理/ストレージ/ネットワークの設定 • システムとしては理想に近い • Oracle Enterprise Linuxが無償で使える – RHEL,CentOSも使える – 別にOracleDBを使わなくても、純粋に仮想化ソリューショ ンとして使える – Eucalyptus • まさにEC2を自前でもてるソリューション – ただし、まだ複数クラスタを持てないなど制約がある 25
  • 26. Topic:2 今日のお話し その2 26
  • 27. MultiNetwork Xenで複雑なネットワークを構築してみる – Bonding • 「チーミング」とも言う • 複数のNICを1つのNICで束ねる • 主に信頼性の確保 – TagVLAN • IEEE 802.1Qで標準規格化されている • LANのMACフレームにVLAN番号(タグを挿入)し、論 理的にネットワークの切り離し/接続を行える • 複数のSWをまたがったVLANを設定できる • 物理的なポートの節約も出来る 27
  • 28. MultiNetwork 参考 – 検証環境 • CentOS5.3 x86-64 • Xen 3.1.2-128.1.10.el5 – Xen 3.2/3.3系ではネットワークの設定が若干異なる – 最新は3.4.x – 正直古い – SLES11だと Xen3.3系が使える » 設定方法が異なる » YaSTでごにょごにょ出来るので多少楽が出来る 28
  • 29. Bonding(Normal) Bonding(普通の考え方) Application マシン - 物理的な配線 - 論理的な配線 29
  • 30. Bonding(Xen) Bonding(Xenで使う場合) Domain-U xenbr0 pbond0 bond0 Domain-0 Xen環境ではbond0 にあたるインタ フェースは pbond0 に変更される 30
  • 31. Merit 仮想化でBondingを使うメリット – 考え方は物理マシンで組むときと基本同じ – 冗長/信頼性 – 勿論Domain-U内でBondingすることも出来る – xenbrの前でbondingを組むと… • Domain-Uは、自分のNICがbondingの線であることを知らない – つまり、極端な話modprobeする必要がない – 特殊なカーネルモジュールや設定が不要 なんか良く知らないけど、 ネットワークが冗長構成らしいです 31 Domain-U
  • 32. TagVLAN(Normal) TagVLAN(普通の考え方) VLAN10 20 30 VLAN10, VLAN20 VLAN10 20 32
  • 33. TagVLAN(Xen) TagVLAN(Xenで繋ぐ場合) Domain-Uはタグをまった く 意識しないで繋げる でも物理NICから 出るパケットには タグがついている 33
  • 34. TagVLAN(Xen) TagVLAN(Xenで使う場合) eth0.10 xenbr0 eth0 eth0.20 Domain-U xenbr1 eth0.30 xenbr3 Domain-0 仮想的に作り出し たVLANにブリッジ を割り振ってやる 34
  • 35. Merit 仮想化でTagVLANを使うメリット – 考え方は物理マシンで組むときと基本同じ – 柔軟なネットワーク体系の構築 – 使用者にVLANを意識させなくとも制御できる – 独立したネットワークを任意に増やすことが出来る – xenbrの前でTagVLANを組むと… • Dom-Uは、自分のNICがVLANの線であることを知らない – つまり、極端な話modprobeする必要がない – 特殊なカーネルモジュールや設定が不要 なんか良く知らないけど、 ネットワークがVLANになってるらしい です 35 Domain-U
  • 36. Demon's gate 課題 – 管理/自動プロビジョニング環境開発で、一番 の鬼門はネットワーク • DHCPで適当に払いだせる環境なら、まぁなんとか – ゲストOSのIP/ホスト名は、ゲストOSが立ち上がった後で しか編集できない • ゲストOSは雨の後のタケノコのように増えて行く… • そのうち追いきれなくなる • やっぱ管理が重要 – ネットワーク体系を色々切り離そうとすると、物理NICが 足りなくなってくる 36
  • 37. How should I do? 解決策の例 – 決め打ちで凌ぐ • ゲストマシンを作り出すタイミングで、ゲストのMACアドを控えておく • 控えた値をDHCPサーバに送り、MAC縛りでDHCPを払い出す – ここまで頑張って自動化する – VLANを使って良しなに振り分ける • ただしVLANのトランクポート追加や変更はネットワークの再起動が必 要なので、設計段階から気をつける • Domain-UレベルでのVLANはなるべくしない – 管理が更に煩雑になる – プラスアルファ:信頼性を求められるケースはBondingを使う • ただしBondingもDomain-Uレベルではしない – 問題があったときの切り分けが難しい 37
  • 38. brings it together. まとめ • 自動化を効率よく実現するために – libvirtを巧く使う • 段々成熟してきた • バージョンには十分注意 – 何が出来る/出来ないかを理解する – もしくは既にあるものを流用する/hackする • 動的プロビジョニングをするだけじゃ意味がない – 管理超重要 • 自分が楽をするためにがんばる – ネットワーク • 悩みどころ • ポリシー次第 38
  • 39. Thanks!! ご静聴ありがとうございました。 質問等あれば是非どうぞ! 39