2009年10月29日木曜日

仮想化友の会 in OSC2009 Tokyo/Fall

10/30(金), 31(土)と開催される OSC2009 Tokyo/Fall に仮想化友の会として出展予定です。
最初私もセミナーコマ貰おうと思ってたけど、殿がスゲェたくさんスライド作ってたから(wじっと見守ることにします、、、


■ セミナー枠


2009-10-31 (土) 仮想化友の会 「濃ぃ~い話」(通称濃いバナ)
担当者 risa 登録日時 2009-09-30 14:28 (457 ヒット)

講師:平 初、他(調整中)
担当:仮想化友の会
対象者:仮想化を愛するすべての仮想人(かそんちゅ)

『仮想化インフラをプログラミングする libvirt 入門』(平 初)
Xen、KVM、QEMUなど様々な仮想化ソフトウェアを制御できる仕組み。それがlibvirtです。
このセッションでは、libvirt の仕組みと、簡単なサンプルを交えてご紹介します。

『Vnet - その概要と実例』(wakatono)
Vnetは、Xen 2.0で追加された仮想ネットワーク機能です。
ここでは、Vnetを構成する技術とその使い方、そして注意点について解説を行います。

http://www.ospn.jp/osc2009-fall/modules/eguide/event.php?eid=74 より転載





■ 展示



  • KVM (Kernel-mode Virtual Machine) を利用したデモを準備予定。
    今、自宅でデモ機が暴れてます、、、ふがふがふが


■ 物販ほか


『Xen徹底入門 第2版 発刊記念セール』

仮想化書籍してはVMware徹底入門の次に売れている(らしい)Xen徹底入門。
翔泳社ブースも出てるのに、空気読まずに刷りたてホヤホヤの第2版を一冊3,000円(17%OFF)で特別販売します。特別販売は今回っきりです(楽しいけど大変なので……)。購入予定の方はこの機会をお見逃しなく。

※ちなみに翔泳社ブースは10% OFFだとか。


なお、土曜日にはXen徹底入門 第2版の著者陣が総集合。書籍の内容について問い詰めたり、仮想化技術最前線の平さん&宮本さんにサインをおねだりするならチャンスです。


2009年10月27日火曜日

nographic

 仮想フレームバッファ(VFB)を利用するかどうかを指定します。フレームバッファが不要な場合は0 を指定します。

 本パラメータが有効となっている場合、仮想マシンマネージャ(virt-manager)や仮想マシンコンソール(virt-viewer)からグラフィックコンソールを利用できません(シリアルコンソールのみとなります)。


■ ドメイン


  • 準仮想化ドメイン(PV)

  • 完全仮想化ドメイン(HVM)


■ 書式

nographic=<n>


■ <n>の値の例


  • 0 …… 無効

  • 1 …… 有効


■ 例

nographic=1


■ 注意点


  • nographic=1 の場合のみ有効です。

  • 本情報はXen 3.4.0時点の内容です


■ 参考





paused

 ドメイン作成時にドメインの実行を開始せず、一時停止状態とします。

 デフォルトでは、ドメイン生成時(xm createコマンドなど)、作成されたドメインはその時点で実行を開始します。本パラメータを有効にすると、ドメイン作成後に実行を開始せず、最初から一時停止状態となります。


■ ドメイン


  • 準仮想化ドメイン(PV)

  • 完全仮想化ドメイン(HVM)


■ 書式

paused=<n>


■ <n>の値の例


  • 0 …… ドメイン作成時、実行を開始する

  • 1 …… ドメイン作成時、ポーズ状態にする


■ 例

paused=1


■ 注意点


  • 本情報はXen 3.4.0時点の内容です


■ 参考





2009年10月24日土曜日

usbdevice

 USB マウスのエミュレーション方式を指定します。ペンタブレットのエミュレーション(tablet)は、マウスポインタの絶対位置をエミュレートします。


■ ドメイン


  • 完全仮想化ドメイン(HVM)


■ 書式

usbdevice='<type>'


■ <type>の値の例


  • mouse …… 一般的なマウスをエミュレート

  • tablet …… ペンタブレットをエミュレート


■ 例

usbdevice='tablet'


■ 注意点


  • 画面上でのゲストOS のポインタ操作性が向上するので、tablet の指定を推奨します。

  • 本情報はXen 3.4.0時点の内容です


■ 参考






usb

 USB デバイスのサポートを有効化します。


■ ドメイン


  • 完全仮想化ドメイン(HVM)


■ 書式

usb=<n>


■ <n>の値の例


  • 0 …… 無効

  • 1 …… 有効


■ 例

usb=1


■ 注意点


  • 本情報はXen 3.4.0時点の内容です


■ 参考






2009年10月23日金曜日

rtc_timeoffset

 ゲストに供給する時刻を、Domain-0 の時刻からのオフセット(単位:秒)で指定
します。


■ ドメイン


  • 準仮想化ドメイン(PV)

  • 完全仮想化ドメイン(HVM)


■ 書式

rtc_timeoffset=<n>


■ <n>の代表的な値


  • 0 …… 協定世界時(UTC)

  • 32400 …… 日本標準時(JST)



■ 例

localtime=0
rtc_timeoffset=32400



■ 注意点


  • localtime=1 が設定されている場合、この値は無視されます。

  • Xen 3.1.3(3.1.x)以降


■ 参考





localtime

 ゲストに供給する時刻情報のタイムゾーンを指定します。システムクロックを協定世界時で運用できるOSであれば0 もしくは1、Windows などのシステムクロックが現地時間である必要があるOSでは1を設定します。


■ ドメイン


  • 準仮想化ドメイン(PV)

  • 完全仮想化ドメイン(HVM)


■ 書式

localtime=<n>


■ <n>の値


  • 0 …… 協定世界時(UTC)

  • 1 …… ローカル時刻



2009年10月22日木曜日

そのマザーボードは本当にVT-d対応か?

(2011/1/16) 一部加筆修正


IA向けの新しい仮想化支援機能としてVT-dと呼ばれる機能があります。

VT-dとは、仮想化されたゲスト環境から物理的なハードウェアを直接認識・アクセスするための機能を提供するものです。VT-dを利用することで、たとえばゲストOSとして動作するOSがSATAやSAS、SCSIなどのコントローラを直接認識させると、ゲストOSは仮想化しない場合と同じ方法でコントローラを制御でき、一般的にパフォーマンスが向上します。

VT-dは、CPUの特権リングの拡張であるVT-xやAMD-Vとはまた別の、CPUとチップセットで実現される機能です。したがって、VT-dの実装はVT-d対応CPUを利用しているか、チップセットおよびBIOSがVT-d対応か否かに依存します。


■ VT-dに対応した製品の判断方法


現状、現在VT-dをサポートするマザーボードは非常に数が限られています。特定モデルの製品がVT-dに対応しているか否かを判断するには、現状Xen WikiVTdHowToページを参照し判断する方法が堅実です。


現状、 Core2 プロセッサに対応した VT-d 対応チップセットは Q35/Q45 に限られています。これらのチップセットはオフィス向けクライアントへの利用を想定したもので流通量が限られています。

Nehalem(Xeon 5500ライン)用チップセット、およびCore i7など向けのX38/X48チップセットはVT-dをサポートしています。ただし、一部マザーボードはBIOSがVT-dに対応していない場合があるようなので、やはり注意が必要です。


■ チップセットがVT-dに対応していない場合でもVT-dオプションがBIOSセットアップに表示されることがあるので注意

一部のマザーボードでは、VT-dに対応しないチップセットを搭載しているにもかかわらず、BIOSセットアップ上にVT-dの選択肢が表示されるモデルがあるので要注意です。

具体例として、 Intel DQ43AP は Q43 チップセットを搭載したモデルですが、 BIOS セットアップ上では VT-d の選択肢を Enabled に設定できてしまいます。

Intel のサイト
で参照できるデータシートによれば、このチップセットには VT-d に関連するレジスタが実装されていません。


インターネット上で「このマザーボードの BIOS は VT-d に対応しているよ!」という情報が記載されていても、実はこのようにチップセットが VT-d をサポートしていないケースがあります。VT-d の検証を目的として機器を選定する場合は、このような罠にかからぬよう、十分に注意してください。


プロセッサが仮想化支援機能を持つか確認するには

Xenの完全仮想化やKVMを利用するためには、プロセッサ(CPU)の仮想化支援機能が必要です。

プロセッサの仮想化支援機能は2006年頃の製品から実装されるようになり、2007年以降に提供されたプロセッサのほとんどに搭載されています。一部の廉価なプロセッサでは実装されていない場合もあります。

x86系プロセッサに搭載されている仮想化支援機能は、プロセッサの種類やベンダにより違いがあります。



  • Intel製プロセッサの場合: VMX, VT-x

  • Intel製IA-64プロセッサの場合: VT-i

  • AMD製プロセッサの場合: SVM, AMD-V (Pacifica)


プロセッサの仮想化支援状況を確認する一番簡単かつ確実な方法は、Linux(ディストリビューションのインストールCDや1CD Linuxなどでもかまいません)で起動し、シェル上で下記のコマンドを実行し、確認することです。


# cat /proc/cpuinfo


■ Intel 製プロセッサの場合

Intel プロセッサの場合、 /proc/cpuinfo の flags 行にフラグ vmx が出力されていれば
VT-x がサポートされています。

[root@quad ~]# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz
(中略)
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
                  cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht 
                  tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est
                  tm2 cx16 xtpr lahf_lm
bogomips        : 5332.91
....


■ AMD 製プロセッサの場合

AMD 製プロセッサの場合、 /proc/cpuinfo の flags 行にフラグ svm が出力されていれば
AMD-V がサポートされています。


■ 対応プロセッサを利用しているのにフラグが立っていない場合は....


使用中のプロセッサが仮想化支援機能を持っているにも関わらず、これらのフラグが
表示されない場合、おもに以下の理由が考えられます。


  • BIOS設定上で仮想化機能の無効化されている(有効化されていない)

  • 下位仮想化技術やハイパーバイザによりマスクされている


  • Linuxカーネルがあまりにも古すぎて、仮想化支援機能を検出していない


■ 参考