KVMゲストがバインドされているVNC画面(つまり、ポート番号-5900)を見つける簡単な方法はありますか?
ゲストはすべて、VNCを有効にして実行するように構成されていますが、ゲストがポートを占有する順序はランダムです。
または、それぞれのゲストが事前定義されたポートを占有するように、(ゲストまたはホストの)構成でそれらを割り当てる方法はありますか?
libvirt
を使用しているので、質問するだけです!
root@onhost1:~# virsh list
Id Name State
----------------------------------
1 one-34 running
2 one-36 running
3 one-38 running
root@onhost1:~# virsh vncdisplay one-34
:34
root@onhost1:~# virsh vncdisplay 1
:34
(名前とVNCディスプレイポートの私の特定の相関関係は、Open Nebulaの使用によるものです)
編集:最近では、domdisplayを使用して、VNCでもSpiceでも、ディスプレイのURIを取得できます。
○ → virsh domdisplay win-michael
vnc://127.0.0.1:0
○ → for dom in $(virsh list --name); do echo -n "$dom: "; virsh domdisplay $dom; done
win-michael-m: vnc://127.0.0.1:0
for i in $(virsh -q list|awk '{print $2}'|sort); do
echo -e "\033[01;31m$i\033[00m -> $(virsh vncdisplay $i)"
done
また、出力をポート番号でソートする関数にしました。
function vnc-list
{
for i in $(virsh -q list|awk '{print $2}'|sort); do
PORTNUM=$(virsh vncdisplay $i|cut -f 2 -d ':')
printf "% 2d: \033[01;32m%.20s\033[00m\n" "$PORTNUM" "$i";
done | sort -n
}
私は走ります:
ps aux | grep "VM name/config"
プロセスIDをメモしてから、
netstat -apn | grep "process ID"
これにより、そのプロセスによってポートが開いていることが示されます。
表示を設定するには、-vnc <ip:display>
オプションをqemu-kvmに明示的に指定するだけです。 qemu-kvmのマニュアルページ 、特に-vnc
パラメータセクションを参照してください。