「設定 - KVMのGPUパススルー」の版間の差分

ナビゲーションに移動 検索に移動
460行目: 460行目:
具体的な手順は以下の通りである。<br>
具体的な手順は以下の通りである。<br>
<br>
<br>
'''手動での設定'''<br>
===== 手動での設定 =====
# まず、仮想マシンを停止する。
まず、KVMを開始する。<br>
# GPUパススルーを行う仮想マシンのxmlファイルを、以下のように編集する。
sudo systemctl start libvirtd
#: sudo EDITOR=nano virsh edit <仮想マシン名>
#: <br>
#: 以下に示すように、<code>vendor_id</code>項目を<code><hyperv></code>セクション内に追記する。この時、<code>value=</code>の値はどんなものでもよい。
#: <vendor_id state="on" value="123456789ab"/>
#: <br>
#: 次に、状態を非表示にするようにkvmに指示するため、<code><hyperv></code>セクション外の直下に次のコードを追記する。
#: <kvm><br>&nbsp;&nbsp;<hidden state="on"/><br></kvm>
#: <br>
#: <span style="color:#C00000"><u>上記のvendor_idおよびhidden stateの2つの設定は、Quadro 2000以降のQuadroカードでは不要である。</u></span>
#: <br>
# また、QEMU 4.0上において、仮想マシンにQ35チップセットを使用する場合、<code>features</code>セクション内に以下の設定を記述する。<br><code><ioapic driver="kvm"/></code>
# 最後に、libvirtdを再起動する。
#: sudo systemctl restart libvirtd
<br>
<br>
'''自動での設定'''<br>
GPUパススルーを行う仮想マシンのxmlファイルを編集する。<br>
sudo EDITOR=nano virsh edit <仮想マシン名>
<br>
<code><hyperv></code>タグ内に<code>vendor_id</code>タグを記述する。<br>
この時、<code>value</code>属性はどのような値でもよい。<br>
<span style="color:#C00000"><u>ただし、vendor_idタグの設定は、Quadro 2000以降のQuadroカードでは不要である。</u></span><br>
<syntaxhighlight lang="xml">
<features>
  ...略
  <hyperv>
    ...略
    <vendor_id state="on" value="123456789ab"/>
  </hyperv>
  ...略
</features>
</syntaxhighlight>
<br>
次に、状態を非表示にするようにKVMに指示するため、<code><hyperv></code>タグ外の直下に、<code>kvm</code>タグと<code>hidden</code>タグを記述する。<br>
<span style="color:#C00000"><u>ただし、hiddenタグの設定も、Quadro 2000以降のQuadroカードでは不要である。</u></span><br>
<syntaxhighlight lang="xml">
<features>
  ...略
  <hyperv>
    ...略
 
  </hyperv>
  ...略
  <kvm>
    <hidden state='on'/>
  </kvm>
</features>
</syntaxhighlight>
<br>
QEMU 4.0以降で仮想マシンにQ35チップセットを使用する場合、<code>features</code>タグ内に<code>ioapic</code>タグを記述する。<br>
<syntaxhighlight lang="xml">
<features>
...略
  <ioapic driver="kvm"/>
</features>
</syntaxhighlight>
<br>
最後に、KVMを再起動する。
sudo systemctl restart libvirtd
<br>
===== 自動での設定 =====
GitHubにあるvirsh-patcherパッケージは、簡単に上記の方法を行うことができる。<br>
GitHubにあるvirsh-patcherパッケージは、簡単に上記の方法を行うことができる。<br>
  git clone https://github.com/PassthroughPOST/virsh-patcher virsh-patcher
  git clone https://github.com/PassthroughPOST/virsh-patcher virsh-patcher

案内メニュー