web-dev-qa-db-ja.com

再起動せずにLibvirtのVNCリッスンアドレスを変更VM

Libvirt-Machineのリッスンアドレスをオンザフライで編集する方法はありますか?リスンアドレスを編集したいときは、まず対応するVMをシャットダウンしてから、xmlを編集してドメインを再定義する必要があります。

私は現在、「vncを有効/無効にする」と呼ばれる機能を実装したい小さなWebアプリケーション(libvirtフロントエンド)を構築しています-しかし、唯一の方法がvm。

5
user1320304

QEMUモニターに移動して実行する必要があります。

change vnc display,options

ここで、display<Host>:<display_number>またはunix:<path>またはnone。オプションは表示用のオプションです。参照: https://qemu.weilnetz.de/doc/qemu-doc.html#sec_005finvocation

例えば。ポートを5905に変更し、任意のホストのVNC接続を受け入れるには:

change vnc :5

Virshを使用している場合は、「qemu-monitor-command」を使用します。

virsh # qemu-monitor-command <domain> --hmp change  vnc :5
7

いいえ、VNCの表示を動的に変更することはできません。 KVMはそれをサポートしているとは思わないので、libvirtはそれを提供できません。

あなたができることは、プロキシとしてVNCポートの前に何か socat のようなものを置くことです。 VMを外部からアクセスできないlocalhostアドレスに設定し、それを有効にして外部IPでプロキシを開始します。

1
mgorven