XenServerを極める(2)

第3回 XenServerのI/Oアーキテクチャ


シトリックス・システムズ・ジャパン株式会社
2008/9/9

XenServerではネットワークやストレージの構成でオープンソースXenやLinuxをうまく活用しながら、管理を大幅に簡素化している。本連載ではまず、XenServerのアーキテクチャを4回にわたり解説しているが、その3回目として、XenServerのI/Oアーキテクチャについて紹介する

 Citrix XenServerはオープンソースのXenをベースとしてハードウェアの上で直接動作するハイパーバイザ型の仮想化ソフトウェアである。今回は、XenServerのアーキテクチャ解説の3回目として、Citrix XenServerのI/Oアーキテクチャについて紹介する。

 XenServerのI/Oアーキテクチャ

 これまでのXenハイパーバイザの説明で、I/Oについては簡単に触れたが、今回はXenServerにおける実装を詳しく説明する。

 ネットワーク、ディスクへのI/Oはすべてコントロールドメイン(Domain0)から行われる。ゲストOS(仮想マシンの中で動くOS)で使用されるドライバは、PV(準仮想化)デバイスドライバに置き換えられ、PVデバイスドライバがXenハイパーバイザを経由して、メモリポインタだけをコントロールドメインに伝える。コントロールドメインからはゲストOSのメモリを使用して直接I/Oを行うため、仮想化時のI/Oオーバヘッドを小さくすることができる。これが、I/Oに関する全体的な流れである。

 XenServerでは、ネットワークとディスクに対する管理はすべてコントロールドメインの中で行う。すなわち、ネットワークとディスクに対する制御およびXenServerで提供しているさまざまな機能はコントロールドメインで実装しており、それらは標準のLinuxの機能を使用している。以下では、ネットワーク、ストレージがXenServer上でどのような機能を提供しているのかを見ていく。

図1 XenServerのアーキテクチャ

 ネットワークの管理

 XenServerのインストールを行うと、物理NICに対してレイヤ2スイッチと同等の機能を持ったネットワークが自動的に作成される。このネットワークは、コントロールドメインにおいてはLinuxの標準機能であるブリッジとして定義される。XenServerでは、このブリッジは「xenbr*」という識別名で、コントロールドメインの中で管理される。

 仮想マシンでは、仮想マシンで使用する仮想ネットワークカード(仮想NIC)を定義するが、仮想NICをどのネットワーク(ブリッジ)に接続するかによって、物理セグメントが決定される。このとき、コントロールドメインの中では仮想NICに対応した仮想インターフェイス(VIF)が作成されており、仮想インターフェイスとブリッジが関連付けられることにより、物理セグメントに仮想NICからパケットが送出される。これらの機能はLinuxの標準機能を使用して実装されており、/etc/sysconfig/network-scriptsで管理されている。しかし、実際には利用者がコントロールドメインの中を直接設定することはない。

[root@xenserver2 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:1E:0B:BC:74:20
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1


eth1 Link encap:Ethernet HWaddr 00:1B:21:0F:91:8D
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1

vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1

xenbr0 Link encap:Ethernet HWaddr 00:1E:0B:BC:74:20
inet addr:192.168.0.151 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

xenbr1 Link encap:Ethernet HWaddr 00:1B:21:0F:91:8D
inet addr:192.168.0.161 Bcast:192.168.0.255 Mask:255.255.255.0
画面1 コントロールドメインからifconfigのコマンドを投入した表示画面

 このXenServerの構成では、物理NICが2枚(eth0とeth1)あり、それぞれに対してブリッジであるネットワークが2つ(xenbr0とxenbr1)作られている。仮想マシンが使用する仮想NIC(VIF)は1つだけ定義されている。上記の構成を図式化すると、以下のようになる。

図2 画面1の設定に対応する構成

画面2 上はXenCenterでのネットワーク(ブリッジ)の設定画面。下はNICの設定画面

 
1/3

Index
第3回 XenServerのI/Oアーキテクチャ
Page1
XenServerのI/Oアーキテクチャ
ネットワークの管理(1)
  Page2
ネットワークの管理(2)
  Page3
ストレージ管理

Server & Storage フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Server & Storage 記事ランキング

本日 月間