13,007
回編集
(→注意事項) |
|||
427行目: | 427行目: | ||
== エラー時の対処方法 == | == エラー時の対処方法 == | ||
==== ネットワーク ==== | |||
VM起動時に下記のエラーが出力されて、VMが起動できないことがある。<br> | VM起動時に下記のエラーが出力されて、VMが起動できないことがある。<br> | ||
ERROR Requested operation is not valid: network 'default' is not active | ERROR Requested operation is not valid: network 'default' is not active | ||
487行目: | 487行目: | ||
sudo systemctl restart libvirtd | sudo systemctl restart libvirtd | ||
<br> | <br> | ||
==== DNSマスカレード ==== | |||
VM起動時に下記のエラーが出力されて、VMが起動できないことがある。<br> | VM起動時に下記のエラーが出力されて、VMが起動できないことがある。<br> | ||
error: Failed to start network default | error: Failed to start network default | ||
494行目: | 494行目: | ||
この時、DNSマスカレードをインストールする。<br> | この時、DNSマスカレードをインストールする。<br> | ||
sudo zypper install dnsmasq | sudo zypper install dnsmasq | ||
<br> | |||
==== ホストOSのスリープ / ハイバネート ==== | |||
ゲストOSの起動中にホストOSのスリープ / ハイバネートを実行する場合、ホストOSがロックアップするバグが存在する。<br> | |||
<br> | |||
VFIOを有効にしたゲストOSは、スリープ / ウェイクアップサイクルを通して実行したままにすると不安定になる傾向があり、<br> | |||
シャットダウンを実行する時、ホストOSがロックアップすることが知られている。<br> | |||
<br> | |||
これを回避する方法は、libvirtフックスクリプトとsystemdユニットを使用して、<br> | |||
ゲストOSの実行中にホストOSがスリープ状態になることを防ぐ。<br> | |||
<br> | |||
また、libvirtフックスクリプトを実行するためには、実行可能なパーミッションが必要である。<br> | |||
sudo vi /etc/libvirt/hooks/qemu | |||
<br> | |||
<syntaxhighlight lang="sh"> | |||
# libvirtフックスクリプト | |||
#!/usr/bin/env bash | |||
OBJECT="$1" | |||
OPERATION="$2" | |||
SUBOPERATION="$3" | |||
EXTRA_ARG="$4" | |||
case | |||
"$OPERATION" in "prepare") | |||
systemctl start libvirt-nosleep@"$OBJECT" | |||
;; | |||
"release") | |||
systemctl stop libvirt-nosleep@"$OBJECT" | |||
;; | |||
esac | |||
</syntaxhighlight> | |||
<br> | |||
sudo vi /etc/systemd/system/libvirt-nosleep@.service | |||
<br> | |||
# systemdユニット | |||
[Unit] | |||
Description=Preventing sleep while libvirt domain "%i" is running | |||
[Service] | |||
Type=simple ExecStart=/usr/bin/systemd-inhibit --what=sleep --why="Libvirt domain \"%i\" is running" --who=%U --mode=block sleep infinity | |||
<br><br> | <br><br> | ||