Xen徹底解説??
Linux女子部 第一回勉強会
「Xen/KVM勉強会」 with 仮想化友の会 (2011/2/XX)
株式会社SRA ネットワーク・サービス本部
ネットワークシステム構築部 長谷川 猛 (@hasegaw) Special Thanks: LPI-JAPAN & ニフティ株式会社
ぷろふぃ~る
• 氏名
– 長谷川 猛(HASEGAWA Takeshi) 所属
株式会社SRA
ネットワークシステムサービス本部 ネットワーク運用・構築部
現在は提案支援業務にかかわる 興味分野
おもにLinuxや仮想化技術を得意とする雑食系システ ムエンジニア
おもな著書
Webサイトの記事など
エンジニアなら知っておきたい仮想マシンのしくみ http://gihyo.jp/dev/serial/01/vm_work/
Linux女子が
Xen徹底入門を 第二版読むメリット
• 仮想化の知識は今日の仕事に役立つ
• 運用でも構築でも、クラウドサービスの利用でも
• クラウドの基礎技術として重要
• 他の仮想化技術への応用も可能
• IBM zSeriesの仮想化の仕組みと酷似
• Xenの知識はLinux KVMにも通ずる
• 表紙がちょっとスイーツ
• なぜかXen徹底入門の表紙は食べ物路線
• 著者紹介ページがまさかの「○ンカツ」リスト
今日の目標
Xenに関する最低限の知識、
オペレーションを知ろう
• Xenが動作している状態で何ができるかを
中心に紹介
• (インストール等は解説しません)
アジェンダ
仮想マシンの概要について知ろう!
Xenの基本操作を理解しよう!
Xenを使うための最低限の設定を知ろう!
本日の内容は、LPIC304のXen関連問題に対応
する内容で構成しています。
仮想マシンって何ぞや
Xenの仕組みを知ろう
Xenを動かしてみよう
最低限覚えるXenの設定項目
まとめ
仮想マシンってなに
• ソフトウェアによって仮想的に構築されたコンピュータ。
• 仮想化技術における仮想マシンは、OSが動作する実際の コンピュータをソフトウェアによって仮想的に構築したもので ある。
• 1台のコンピュータを複数の仮想マシンに分割することで、 複数の利用者が同時に利用したり、異なるOSを並列に実 行させたりすることができる。
http://e-
words.jp/w/E4BBAEE683B3E3839EE382B7E383B3.html
(IT用語辞典, 仮想マシン)より引用
仮想マシンを図にすると
システム仮想マシン
ゲストOSが実行できる、ソフトウェア的な
コンピュータ
ハードウェア ハードウェア
ゲストOS ゲストOS
ゲスト
仮想マシン, VM
ゲスト上のプロセス ゲスト上のプロセス
ハイパーバイザ 仮想マシンモニタ (VMM)
ハイパーバイザ
ハイパーバイザ
ゲストOS ゲストOS
ゲスト上のプロセス ゲスト上のプロセス
Xen Xen
Linux + KVM
Linux + KVM
仮想マシンって何ぞや
Xenの仕組みを知ろう
Xenを動かしてみよう
最低限覚えるXenの設定項目
まとめ
Xen利用時のイメージ
• Xenハイパーバイザーがハードウェア上で実行される
• Xen起動時、ドメイン0があわせて起動される
• システム起動後、ドメインUやHVMドメインを起動で
きる
ゲスト上のプロセス ゲスト上のプロセス ゲスト上のプロセス
ゲスト上のプロセス ゲスト上のプロセスゲスト上のプロセス ドメインU
ドメインU ドメイン0(管理OS)
ドメイン0(管理OS) HVMドメインHVMドメイン
Xen ハイパーバイザ
Xen ハイパーバイザ
ハードウェア ハードウェア
完全仮想化と準仮想化 (1)
完全仮想化
• 物理マシン(実機)と同じOSカーネルが使える
• 仮想化対応ハードウェアが必要(Xen/KVMの場合)
• Intel VTもしくはAMD-V
準仮想化
• 仮想化対応ハードウェアは不要だが、代わりに
• 専用のOSカーネルが必要
• 代表的な実装→XenのPVドメイン
• 最近のトレンド的には、消えゆく方向
完全仮想化と準仮想化 (2)
エンジニアなら知っておきたい仮想マシンのしくみ「第1回 仮想マシンことはじめ」より引用 http://gihyo.jp/dev/serial/01/vm_work/0001
ドメイン
Xenの世界における「仮想マシン」の呼びかた。
ドメイン0:
– Xenと同時に起動される特権ドメイン(管理OS)のこと – ハイパーバイザーの管理が可能
• ドメインU:
– 準仮想化を使ったドメインのこと。
• HVMドメイン:
– 完全仮想化を使ったドメインのこと。 – HVM … Hareware Virtual Machine – ドメインUに含まれている場合もある
仮想マシンって何ぞや
Xenの仕組みを知ろう
Xenを動かしてみよう
最低限覚えるXenの設定項目
まとめ
Xenのコマンド
以下のxmコマンドを覚えておこう!
• xm create ドメインの作成(実行開始)
• xm console ドメインにコンソール接続
• xm shutdown ドメインをシャットダウン
• xm destroy ドメインを強制停止
• xm list ドメインの一覧を表示
• Xm top Xen版topコマンド(xentop)
ドメインを構成するもの
ドメイン定義ファイル
仮想マシンのディスクイメージ
(ファイルだったりブロックデバイスだったり)
(準仮想化の場合は以下のファイルも)
ドメインで実行するOSカーネル
OSカーネルが必要とする初期RAMディスク
ドメイン定義ファイルの例
# cat /etc/xen/vm240
• name = "vm240”
• memory = 1024
• vcpus = 1
• builder = "hvm"
• kernel = "/usr/lib/xen/boot/hvmloader”
• device_model = "/usr/lib64/xen/bin/qemu-dm”
• disk = [ "phy:/dev/pool0/vm240,hda,w", ]
• vif = [ “bridge=xenbr0,script=vif-bridge" ]
• serial = "pty”
• ※いろいろ省略(もっと設定あります!)
ドメインの新規作成
Virt-manager(仮想マシンマネージャー) GUIベースで仮想マシンを作成できる
Virt-install
コマンドラインで仮想マシンを作成できる
上記のツールを使わずにインストール
– debootstrap等を駆使し環境構築。大変!
何処かからダウンロードしてくる、etc...
仮想マシンマネージャー
仮想マシンって何ぞや
Xenの仕組みを知ろう
Xenを動かしてみよう
最低限覚えるXenの設定項目
まとめ
xend
Xenハイパーバイザの管理用デーモン
設定ファイル: /etc/xen/xend-config.sxp
おもな設定項目
• ネットワークの設定
• Xendへのアクセス権
ブリッジ接続とNAT接続
ブリッジ接続 NAT接続
エンジニアなら知っておきたい仮想マシンのしくみ
「第3回 Debian GNU/Linux 6.0で試すKVM」より引用 http://gihyo.jp/dev/serial/01/vm_work/0003
/etc/xen/xend-config.sxp
# cat xend-config.sxp | grep -v '^#’ | uniq (xend-unix-server yes)
• (xend-unix-path /var/lib/xend/xend-socket)
• (xend-relocation-hosts-allow
'^localhost$ ^localhost¥¥.localdomain$’)
• (network-script network-bridge)
• (vif-script vif-bridge)
• (dom0-min-mem 256)
• (dom0-cpus 0)
• (vncpasswd ’’)
• (keymap 'en-us')