hypervisor-configuration

Hypervisor Configuration

ハイパーバイザの設定

Eucalyptus deploys instances (i.e., virtual machines) on a hypervisor. Eucalyptus can use either xen or kvm hypervisors. To interact with them, Eucalyptus employs libvirt virtualization API. The best choice for the hypervisor depends on its support for your hardware, on the support for the hypervisor in your OS (some distros support KVM better, some support Xen better), as well as personal preferences.
Eucalyptusはインスタンス(仮想マシン)をノード・コントローラが動作するマシンのハイパーバイザ上に構成します。EucalyptusではXenkvmが使用できます。Xen, kvmと連携するために、Eucalyptusではlibvirt APIを使用します。どのハイパーバイザを使用した方がよいかは、使用するマシンのハードウェア、ディストリビューションがどのハイパーバイザを利用できるかによって変わります。(いくつかのディストリビューションではKVMの方がよりよくサポートされていますし、Xenをよりよくサポートするディストリビューションもあります)

Another consideration is support for Eucalyptus features in the hypervisor. Because Eucalyptus uses features that only recently have been added to hypervisors, some combinations of hypervisor and kernel do not function as intended. The most common problem we encounter has to do with support for attaching and removing block devices. On some kernels, for example, you may see a lot of WARN_ON messages in the logs (similar to kernel oops), with KVM you will not be able to specify the exact device block (it will be chosen by the system), and on some hypervisor-kernel combinations EBS will not work at all (e.g., Debian "squeeze" with 2.6.30-2-amd64 kernel and KVM v88).
また、Eucalyptusではどのハイパーバイザを使うかによって利用できる機能にも差が出てきます。Eucalyptusで最近追加された機能は比較的最近ハイパーバイザに追加された機能を利用するように実装されており、カーネルとハイパーバイザの組み合わせによっては意図通りに動きません。最もよく出てくる問題は、ブロックデバイスの接続・切断に関する問題です。例えばいくつかのカーネルは、カーネルパニックに類似するようなWARN_ONメッセージが大量にログに出力されたり、KVMでは正しくブロックデバイスを解釈できません。またいくつかのカーネル・ハイパーバイザの組み合わせ(例えば、Debian "squeeze"で、2.6.30-2-amd64カーネルを使用し、KVM v88を使用している場合)ではEBSは動作しません。

Running a test VM with hypervisor tools

テスト用のVMを動作させる

First of all, before even installing Eucalyptus, install a hypervisor of your choice and, based on the hypervisor's documentation, try to construct and run a test VM from the command line.(If you cannot run a VM outside Eucalyptus, you will not be able to run any VMs through Eucalyptus.)
Eucalyptusをインストールする前に、どのハイパーバイザを動かすかを選び、インストールします。テスト用のVMを作成し、実行できることを確認します。(ハイパーバイザの上でVMが動かなければ、Euclayptusを使ってインスタンスを動作させることもできません)

Running a Xen VM usually involves creating a configuration file and passing it to the xm create command. Running a KVM VM usually involves invoking kvm with many parameters on the command-line.
XenでVMを動作させるためには設定ファイルを作成し、xm create コマンドに引き渡します。KVMでVMを動作させるためにはkvmコマンドに多くのパラメータを指定して実行します。

If the hypervisor doesn't work out of the box on your distro, you may want to experiment with options. For Xen, the options are specified in:/etc/xend/xend-config.sxpWe had good luck with these:
もしディストリビューションに標準で含まれるハイパーバイザが動かない場合は、いくつか設定を変更するとうまくいくかもしれません。Xenの場合は/etc/xend/xend-config.sxpに以下のような変更を行います。

(xend-http-server yes)
(xend-unix-server yes)
(xend-unix-path /var/lib/xend/xend-socket)
(xend-address localhost)
(network-script network-bridge)
(vif-script vif-bridge)
(dom0-min-mem 196)
(dom0-cpus 0)
(vncpasswd '')

Running a test VM with libvirt's virsh

virshを使ってテスト用の仮想マシン(VM)を実行する

Since Eucalyptus interacts with hypervisors through libvirt, it is also a good idea to ensure that libvirt is set up properly, particularly for user "eucalyptus". A way to do so is to try
Eucalyptusはlibvirtライブラリを使用してハイパーバイザを制御します。従ってEucalyptusを実行する前に、libvirtが"eucalyptus"ユーザアカウントで正しく動作することを確認することをお勧めします。確認するためには以下のコマンドを実行します。

virsh list

as the "eucalyptus" user (root usually can always connect). If that fails, the solutions are distribution-specific: for example, on some Debian-based distros, the user "eucalyptus" needs to be in the group libvirt or libvirtd.
上記のコマンドは"eucalyptus"ユーザアカウントで実行してください。rootアカウントでは常に成功してしまい、libvirtライブラリが正しく設定されていることを確認できません。"eucalyptus"ユーザアカウントでの実行が失敗する場合、原因はディストリビューションによって異なります。例えばDebian系のディストリビューションでは"eucalyptus"ユーザアカウントはlibvirtもしくはlibvirtdユーザグループに属していなければなりません。

On distros using PolicyKit?, you may want to ensure that in
PolicyKit?を使用しているディストリビューションでは、/etc/PolicyKit?/PolicyKit?.confファイルに以下のような変更を行います。

/etc/PolicyKit/PolicyKit.conf

there is something like

<config version="0.1">
<match action="org.libvirt.unix.manage">
   <match user="eucalyptus">
      <return result="yes"/>
   </match>
</match>
</config>

As the last resort, you may want to look into
/etc/libvirt/libvirtd.confに正しい設定が行われていることも確認してください。

/etc/libvirt/libvirtd.conf

and keep an eye on logs in
また/var/log/libvirtの出力もあわせて確認してください。

/var/log/libvirt

戻る:初回設定(1.6)

進む:Eucalyptusのバックアップ(1.6)


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-04-11 (日) 12:30:29 (3525d)