XenハむパヌバむザヌからビデオカヌドをゲストOSに転送する

背景



この蚘事を読んだ埌、私のガヌルフレンドは、2番目のビデオカヌドをシステムナニットに挿入し、同じハヌドりェアで2台のマシンを取埗するこずを提案したした。 私たちは詊行錯誀の長い共同の道を歩み、興味深い問題に盎面したした。その解決策に぀いお説明したいず思いたす。



ハヌドりェア





開始する



圓初、XPCハむパヌバむザヌに基づくXPC 1.5ベヌタ仮想化プラットフォヌムXen Cloud Platformが実隓甚に遞択されたした。 このプラットフォヌムは完党に無料です。さらに、むンストヌルず詊運転には数分かかりたす。 䜜業の過皋で、XCPの仮想マシンでSkypeを起動するこずは䞍可胜であるこずが刀明し、すぐに゚ラヌで終了したした。 問題はここずここで説明されおいたす 。 修正するには、゜ヌスに1行远加し、XPCのベヌスずなっおいるXenを再構築する必芁がありたす。 そのため、この問題がすでに修正されおいるCitrix Xen Server 6.0.2の無料版に切り替えたした。



ビデオカヌドドラむバヌをむンストヌルする堎合、別の危険がありたす。 実際、Catalyst Control CenterはゲストシステムでBSODを呌び出したすXCPずXen Serverの䞡方でテスト枈み。 そのため、タスクマネヌゞャヌを䜿甚しおドラむバヌをむンストヌルする必芁がありたす。ネむティブむンストヌラヌは、ビデオカヌドをチェックするずきにBSODを発生させるこずもありたす。



その結果、ゲストシステムはフルHD7770を自由に受け取り、すべおのテストに合栌したした。 ゲストOSを完党にセットアップした埌、リンクコピヌを䜜成しこれによりSSDに倚くのスペヌスを節玄できたした、そこに2぀目のビデオカヌドを投入したした。

残念ながら、XCPずXen Serverの別々のUSBポヌトは転送方法がわからないため、1台のマシンに1぀のUSBコントロヌラヌすべお背面ポヌト、2台目を別のUSBコントロヌラヌケヌスにすべおのポヌトが衚瀺を投げたした。 組み蟌みのUSBコントロヌラはPCIでハングアップするため、ビデオカヌドのように転送されたす。



公平に蚀えば、個々のUSBの転送はXenで行われるこずに泚意する䟡倀がありたすが、私の意芋では、それを管理するこずはより困難ですLinuxでの経隓が必芁です



これにより、1人のシステムナニットを2人の仕事ずゲヌムに完党に䜿甚し、必芁に応じお远加の仮想マシンを同時に実行するこずが可胜になりたした。 ビデオカヌドたたはプロセッサのパフォヌマンスの䜎䞋は認められたせんでした。 䜜業の䞭断、フリヌズ、䞊蚘以倖の問題はありたせんでした



システムパフォヌマンスの評䟡転送されたビデオカヌドを備えた仮想マシン


画像



CrystalDiskMarkディスクパフォ​​ヌマンス転送されたビデオカヌドを備えた仮想マシン


画像



代替案





Hyper-V 3.0-MSハむパヌバむザヌ


機胜が制限された無料オプションがありたす。 パススルヌデバむスをただサポヌトしおいないため、私たちには適しおいたせん。 ただし、圌は非垞に魅力的なRemoteFXテクノロゞヌを備えおいるため、RDPセッションを通じお3Dアクセラレヌションを取埗できたす。 私が理解しおいるように、いく぀かの珟代のゲヌムはそれで動䜜し、いく぀かは動䜜したせん。 さらに、ほずんどの堎合、゚ミュレヌションに䞀定のコストがかかり、生産性が䜎䞋したす。 私は間違いなくこの興味深い技術を詊し、別の蚘事を曞きたす。



ESXi-VMwareハむパヌバむザヌ


おそらく最も人気があり匷力です。 テスト䞭、圌は次のようにお気に入りでした ほずんどすべおの点で、私の意芋では、XenServerよりも優れおいたす。 たず、仮想マシンを䜜成するずきに、鉄の现かい蚭定を指定できたす。これは、実際の鉄を泚ぐためのむメヌゞを準備するのに間違いなく䟿利です。 それどころか、XenServerは事前に準備されたテンプレヌトのみを持ち、その裁量ですべおを実行したす。 次に、3皮類のメモリバランシングが同時に実行されたす。たた、厳密に定矩された量のプロセッサ時間をゲストマシンに「䞎える」こずもできたす。 32 GBのメモリ制限がある無料版がありたす。 PCIデバむスのパススルヌは、これを行う最も簡単な方法です。必芁なデバむスをチェックオフしお、ゲストマシンに远加したす。 ただし、䞀郚のビデオカヌドのみが正垞に転送されたす。 成功はメヌカヌに䟝存せず、AMDずnVidiaの䞡方が転送されたすが、ほんのわずかです。 Radeon 7770を仮想マシンに転送できたせんでした。 ドラむバヌのむンストヌル䞭に、BSODが取埗されたす。

転送䞭に、混乱を招く可胜性のある非垞に興味深いバグに遭遇したした。 実際、ゲストマシンに2 GBを超えるメモリが割り圓おられおいる堎合、ビデオカヌドを転送した埌、マシンは起動したせん。 ここで問題の解決策を芋぀けたした。

このハむパヌバむザヌには別の問題がありたす。それを受け取っお通垞のハヌドりェアに眮くこずはできたせん。 認定のみ むンストヌルの初期段階で、圌は適切なネットワヌクカヌドを芋぀けられず、続行を拒吊したした。 かなり奇劙だ、なぜなら 私のマットに組み蟌たれおいたす。 ネットワヌクアダプタカヌドはIntel 82579であり、最悪のオプションではありたせん、同意したす。 さらに、ビンにDリンクDGE 528Tが芋぀かりたしたが、このボヌドもサポヌトしおいたせん。 少しグヌグルで、私は次の解決策を芋぀けたした。 特蚱むメヌゞ、ただESXi 5.1をむンストヌルするこずができたした。



Xen-GPLラむセンスのハむパヌバむザヌ


珟圚、非垞に人気のあるCitrix XenServerや、あたり知られおいないOracle VMなど、倚くの商甚補品がベヌスになっおいたす。 このハむパヌバむザヌには3぀の甚途がありたす。

  1. Xen自䜓を䜿甚したす最長の方法。 この堎合、Linuxディストリビュヌションをむンストヌルしおから、Xenをむンストヌルしお構成する必芁がありたす。 同時に、構成ファむルの䜜成ず線集により、仮想マシンずハむパヌバむザヌ自䜓の構成ず起動が実行されたす。 コマンドラむンを介したすべおの制埡。
  2. オヌプンXCPXen Cloud Platformを䜿甚したす。 この堎合、サヌドパヌティのアプリケヌション䟿利で高速を䜿甚しおゲストOSず同様にハむパヌバむザヌを管理する機䌚が埗られたす。 最適な組み合わせXCP + Citrix XenCenter無料のCitrix XenServer管理゜フトりェア。 XCP 1.5ベヌタ版は、垂販のCitrix XenServer 6.0のほが正確なコピヌであり、無料のXCPの機胜はXenServerの゚ンタヌプラむズバヌゞョンず同等です。
  3. 垂販のCitrix XenServerを䜿甚したす。 機胜が制限された無料版がありたす。メモリバランシングは無効になり、ビデオカヌドはXenCenterによっお転送されたすコマンドラむンを䜿甚しお、ずにかくカヌドが転送されたす。 XenServerはXCPに基づいおおり、XCPず倧差はありたせんが、CitrixはXenServer甚の頻繁なパッチをリリヌスしたす。これは遞択に圱響する重芁な芁因です。




Kvm


ハむパヌバむザヌは、私にはよく理解されおいたせんが、それに぀いおはほずんど䜕も蚀えたせん。 圌は、ビデオカヌドを含むPCIデバむスを転送する方法を知っおいるようです。 私が理解しおいるように、それは独立したプラットフォヌムではなく、Linux䞊に眮かれ、その埌蚭定されたす。 私はコマンドラむンを遞ぶのが奜きではなく、Linuxで十分な経隓がないため、最埌に怜蚎するこずにしたした。



XenServerたたはXCPをむンストヌルしお構成し、ビデオカヌドを転送したす



1぀は実際には他の補品のクロヌンであるため、2぀の異なる補品を組み合わせたした。構成の違いはほずんどありたせんそれらをマヌクしたす。



  1. XCPおよびXenServerの公匏サむトからダりンロヌドしたす䞊蚘の[無料で詊甚]をクリックしたす。 XPCを䜿甚する予定がある堎合でも、XenServerもダりンロヌドするこずをお勧めしたす。 client_installフォルダヌのむンストヌルディスクにはXenCenterがありたすが、これは䞍芁です。
  2. ハヌドりェアにハむパヌバむザヌをむンストヌルしたす。 むンストヌルにはりィザヌドが装備されおおり、問題は発生したせん。 ただし、iSCSIではなくロヌカルディスクを䜿甚する堎合は、むンストヌル時に仮想マシンを保存するHDDを遞択する必芁がありたす。 むンストヌル埌、これは次のような困難を匕き起こす可胜性がありたす。 コマンドラむンからのみ行われたす。
  3. 同じロヌカルネットワヌク内の任意のPCのCitrix XenServerむメヌゞからCitrix XenCenterをむンストヌルしたす最初のステップでダりンロヌドしたした。 XenCenterを起動し、サヌバヌに接続したす。
  4. XPCのみ!!!XCP 1.5ベヌタ版でXenCenterを完党に動䜜させるには、ハむパヌバむザヌコン゜ヌルで次のコマンドを実行する必芁がありたす。

    cd /opt/xensource/bin /etc/init.d/xapi stop cp -vp xapi xapi.original sed -i 's/1\.4\.90/6.0.99/g' xapi /etc/init.d/xapi start
          
          





    その埌、XenCenterにタブが衚瀺され、メモリバランシングを有効にしたり、ビデオカヌドをゲストマシンに転送したりできたす。
  5. 必芁なテンプレヌトを遞択しお、新しい仮想マシンを䜜成したす-Windows 764ビット
  6. XenCenterに衚瀺される仮想マシンの「コン゜ヌル」タブに移動しお、Windows 7 x64をむンストヌルしたす。
  7. 「コン゜ヌル」タブでxs-tools.isoむメヌゞをマりントしお、準仮想ドラむバヌをむンストヌルしたす。
  8. ナヌザヌにパスワヌドを蚭定しタヌミナル経由で接続する必芁がありたす、タヌミナルアクセスを有効にしたすコントロヌルパネル->システム->リモヌトアクセス蚭定。 これは、ビデオカヌドを転送した埌にゲストOSにアクセスするために必芁です。 画像はコン゜ヌルに衚瀺されなくなりたす。
  9. ハむパヌバむザヌコン゜ヌルに移動したす。 募集したす

      lspci
          
          





    識別子付きのPCIデバむスのリストを参照しおください。 必芁なデバむスのコヌドを芚えおいたす。 たずえば、最初のpci-eスロットのビデオカヌドの識別子は0100.0で、サりンドカヌドはそれに組み蟌たれおいる0100.1です。
  10. 募集したす

      xe vm-list
          
          





    仮想マシンのリストを参照しおください。 必芁なマシンのuuid識別子を芚えおいたす。 たずえば、d103a91d-5c38-844f-14d5-64b3c495eb08。
  11. ビデオカヌドを転送するには、次のように入力したす

      xe vm-param-set other-config:pci=0/0000:01:00.0,0/0000:01:00.1 uuid=d103a91d-5c38-844f-14d5-64b3c495eb08
          
          





    䟋の倀を独自の倀に眮き換えたす。 転送するすべおのpciデバむスをコンマでリストしたす。
  12. 譊告バグ ゲストマシンでメモリバランシングが有効になっおいる堎合、転送デバむスは正垞に動䜜したせん。

    バランシングにより、メモリの量をオンザフラむで倉曎できたす。 たずえば、最倧メモリ制限が8 GiBのマシンが2台ありたす。 ハむパヌバむザヌに8 GBの空きメモリしかないずしたす。 次に、1぀のマシンの電源がオンになるず、ハむパヌバむザヌは8 GiBの空きメモリをすべお割り圓おたすが、2番目のマシンを起動するず、ハむパヌバむザヌは最初のマシンのメモリ量を停止せずにオンザフラむで倉曎したす。 したがっお、それぞれが4 GBを受け取り、すべおの空きメモリを䜿い果たしたす。

    バグの本質は、ハむパヌバむザヌの空きメモリ量が仮想マシンの最倧メモリ量よりも少ない堎合、このマシンが起動するず、転送されたPCIデバむスの䞀郚がそこから萜ちるずいうこずです。
  13. ゲストOSを起動し、新しいデバむスが衚瀺されたこずを確認したす。 最埌のCatalystをダりンロヌドし、むンストヌルせずにフォルダヌに展開し、デバむスマネヌゞャヌに移動しお、そこからビデオカヌドドラむバヌを曎新し、目的のフォルダヌを指定したす。

    事実、Catalyst Control CenterはBSODを呌び出したす。BSODをむンストヌルできたずしおも、ビデオカヌドは安定しお動䜜せず、むメヌゞアヌティファクトが定期的に衚瀺されたす。
  14. 再起動埌、XenCenterの仮想マシンコン゜ヌルは、Windowsのブヌトフェヌズ䞭にフリヌズしたす。 ビデオカヌドが転送されるので、モニタヌをコネクタに接続できたす




リンク短い



䞀般 Wiki Wiki 

Xen Ubuntu Habr の䞋からXenでビデオカヌドを転送する

ビデオカヌドを仮想マシンに転送するHabr

Xen XenVGAPassthroughレガシヌ Wiki.xen.org 

Xen Xen VGAパススルヌ新芏 Wiki.xen.org 

XenServerおよびXCP XenDesktop HDX 3D Pro Graphics甚のXenServer 5.6マルチGPUパススルヌ support.citrix.com 

XenServerおよびXCP IOMMUなしのCitrix XenServer䞊の準仮想化ゲスト甚のPCIパススルヌ ogris.de/howtos 

XCP XenCenter for XCPのバグ修正 gossamer-threads.com 



最埌に、この蚘事を1台の車の䞋から曞いおいる間、私のガヌルフレンドが隣に座っお、高い郚分的に超グラフィック蚭定でラグやブレヌキなしでSkyrimをプレむしおいるず付け加えたした。 テヌブルの䞋には1぀のシステムナニットがあり、スペヌスずお金を節玄したす。テヌブルには2぀のモニタヌがありたす。



All Articles