[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-japanese] PCIパススルーを行うための手順



産総研の須崎です。はじめて投稿します。
パススルーは興味があり試しているのですが、まだうまく行っていません。

よろしければ動作が確認されたマザーボード(BIOSのバージョンを含む)と
PCIデバイスを教えて頂けれると助かります。
ちなみにこちらで試しているのはマザーボードは Intel DQ35JO です。

Xen VT-dの設定については下記のHPを参考にしていました。
  http://wiki.xensource.com/xenwiki/VTdHowTo

------
suzaki

 >>From: Yuji Shimada <shimada-yxb@xxxxxxxxxxxxxxx>
 >>Subject: [Xen-japanese] PCIパススルーを行うための手順
 >>
 >>現在のXenではPCIデバイスのPCIパススルーが行えるようになっています。
 >>(IOMMU(I/O Memory Management Unit)内蔵のチップセットが搭載されている
 >> マシンを使用することが条件)
 >>
 >>PCIパススルーとはゲスト・ドメインが直接PCIデバイスを操作することです。
 >>
 >>エミュレーション方式に代えて、PCIパススルーを使用することで、仮想化されて
 >>いないOSからPCIデバイスを操作するのとほとんど代わりない性能を得ることが
 >>できます。
 >>現在、様々なPCIデバイスをPCIパススルーによって操作できます。
 >>しかし、PCIパススルーで動かないPCIデバイスも存在していると考えています。
 >>
 >>ですので、問題が発生した方がいましたらご報告をお願いします。
 >>なるべくご対応させていただきたいと思います。
 >>
 >>以下にPCIパススルーを行うための手順を示します。
 >>
 >>
 >>[PCIパススルーを行うためのXen Unstable版の構築手順]
 >> 1.Xen Unstableをネットワーク経由で取得。
 >>
 >>  # hg clone http://xenbits.xensource.com/xen-unstable.hg
 >>  # cd xen-unstable.hg
 >>
 >> 2.pcibackドライバをビルトインする。
 >>
 >>  # make linux-2.6-xen-config CONFIGMODE=menuconfig
 >>
 >>   ----------設定----------
 >>   Xen --->
 >>     <*> PCI-device backend driver
 >>   ----------設定----------
 >>
 >> 3.Xenをビルドする。
 >>
 >>  # make
 >>
 >> 4.Xenをインストールする。
 >>
 >>  # make install
 >>
 >> 5.modules.depの作成
 >>
 >>  # depmod -F /boot/System.map-2.6.18.8-xen 2.6.18.8-xen
 >>
 >> 6.イニシャルRAMディスクの作成
 >>
 >>  # mkinitrd -f /boot/initrd-2.6.18.8-xen.img 2.6.18.8-xen
 >>
 >> 7.ゲスト・ドメインに割り当てるPCIデバイスのBDF(Bus No. Device No.
 >>   Function No.)を確認する。
 >>   (今回はIDEカードとNICを割り当てることとして話を進める。)
 >>
 >>  # lspci
 >>
 >>   00:19.0 Ethernet controller: Intel Corporation 82566DM-2
 >>           Gigabit Network Connection (rev 02)
 >>   ...
 >>   01:01.0 Mass storage controller: Integrated Technology Express, Inc.
 >>           IT/ITE8212 Dual channel ATA RAID controller (rev 13)
 >>   ...
 >>
 >> 8.ブート・ローダの"reassigndev"パラメータでゲスト・ドメインに割り当てる
 >>   PCIデバイスのリソースの再割当を行う。
 >>   また、"pciback.hide"パラメータでゲスト・ドメインに割り当てるPCIデバイス
 >>   をpcibackドライバでバインドする。
 >>
 >>  # vi /boot/grub/grub.conf
 >>
 >>   ----------編集----------
 >>   title Xen-3.4-Unstable (2.6.18.8-xen)
 >>         root (hd0,0)
 >>         kernel /boot/xen-3.4-unstable.gz iommu
 >>         module /boot/vmlinuz-2.6.18.8-xen ro root=LABEL=/ 
 >>                reassigndev=0000:00:19.0,0000:01:01.0 
 >>                pciback.hide=(0000:00:19.0)(0000:01:01.0)
 >>         module /boot/initrd-2.6.18.8-xen.img
 >>   ----------編集----------
 >>
 >> 9.Xen Unstable版を起動する。
 >>
 >>  # reboot
 >>
 >>
 >>[割当手順]
 >> 1.ゲスト・ドメインに割り当てるPCIデバイスのBDFをゲストの設定ファイルに
 >>   記載する。
 >>
 >>  # vi /etc/xen/GUEST.hvm
 >>
 >>   pci = [ '00:19.0','01:01.0' ]
 >>
 >> 2.ゲスト・ドメインを起動する。
 >>
 >>  # xm create /etc/xen/GUEST.hvm
 >>
 >> 3.割り当てたPCIデバイスをゲスト・ドメインから使用できるかを確認する。
 >>   (ゲスト・ドメインとしてLinuxを使用したときの確認方法)
 >>
 >>  # lspci
 >>
 >>   00:10.0 Ethernet controller: Intel Corporation 82566DM-2
 >>           Gigabit Network Connection (rev 02)
 >>   ...
 >>   01:09.0 Mass storage controller: Integrated Technology Express, Inc.
 >>           IT/ITE8212 Dual channel ATA RAID controller (rev 13)
 >>   ...
 >>
 >>
 >>[補足]
 >> BDFを使用したPCIデバイスの指定方法ではブート時に番号が変更されてしまう
 >> 恐れがあります。
 >> しかし、デバイス・パスと呼ばれるパラメータを用いてPCIデバイスを指定する
 >> と、そのデバイス・パスは変更されることなく、永続的なパラメータとして
 >> ゲスト・ドメインに割り当てるPCIデバイスを指定することができます。
 >> デバイス・パスの書式は以下のようになっています。
 >>
 >>  <hid>[:<uid>]-<dev>.<func>[-<dev>.<func>[...]]
 >>
 >>  例) PNP0A03:100-1c.1-00.0
 >>
 >> このデバイス・パスを用いて、ゲスト・ドメインに割り当てる予定のPCIデバイス
 >> を指定する"guestdev"というブート・パラメータをdom0 Linuxに追加するパッチ
 >> がXen Unstableに投稿されています。(現在、未採用)
 >>
 >>  例) reassign_resources guestdev=PNP0A03:100-1c.1-00.0,PNP0A03:100-1d.7
 >>
 >>  
 >> (参照)http://lists.xensource.com/archives/html/xen-devel/2008-12/msg01093.html
 >>
 >> BDFからデバイス・パスに変換することができるスクリプト(device_path.py)も
 >> 投稿されています。
 >>
 >>  
 >> (参照)http://lists.xensource.com/archives/html/xen-devel/2008-12/msg01116.html
 >>
 >> このスクリプトは以下のように使用できます。
 >>
 >>  # chmod 755 device_path.py
 >>  # device_path.py 07:00.0
 >>
 >>   PNP0A03:100-1c.1-00.0
 >>
 >>
 >>ご質問等ありましたらお気軽にどうぞ。
 >>それでは、よろしくお願いします。
 >>--
 >>NECシステムテクノロジー 島田雄二
 >>
 >>

_______________________________________________
Xen-japanese mailing list
Xen-japanese@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-japanese

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.