Изменение VNC слушает адрес в Libvirt, не перезапуская VM

Мой ответ, который я даю на основе с трудом заработанного опыта: не делайте этого. Не пытайтесь скопировать иерархию каталогов, которая делает интенсивное использование жестких ссылок, таких как одно созданное использование rsnapshot или rsync --link-dest или подобный. Это ни над чем не будет работать кроме небольших наборов данных. По крайней мере, не надежно. (Ваш пробег может варьироваться, конечно; возможно, Ваши резервные наборы данных намного меньше, чем мои были.)

Проблема с использованием rsync --hard-links воссоздать трудно связанную структуру файлов на целевой стороне то, что обнаружение жестких ссылок на исходной стороне трудно. rsync должен создать карту inodes в памяти для нахождения жестких ссылок, и если источник не имеет относительно немного файлов, это может и аварийно завершаться. В моем случае, когда я узнал об этой проблеме и наводил справки об альтернативных решениях, я попробовал cp -a, который, как также предполагается, сохраняет структуру жесткой ссылки файлов в месте назначения. Это крутилось далеко в течение долгого времени и затем наконец умерло (с segfault или чем-то как этот).

Моя рекомендация состоит в том, чтобы отложить весь раздел для Вашего rsnapshot резервное копирование. Когда это заполнится, принесите другой раздел онлайн. Намного легче переместить тяжелые жесткой ссылкой наборы данных как все разделы, а не как отдельные файлы.

5
задан 9 February 2013 в 15:21
2 ответа

You have to go to QEMU Monitor and run:

change vnc display,options

Where display is : or unix: or none. Options are options for display. See: https://qemu.weilnetz.de/doc/qemu-doc.html#sec_005finvocation

E.g. To change the port to 5905 and accept VNC connections for any host:

change vnc :5

If you are using virsh, use "qemu-monitor-command":

virsh # qemu-monitor-command <domain> --hmp change  vnc :5
7
ответ дан 3 December 2019 в 01:19

No, it doesn't seem possible to change the VNC display dynamically. I don't think that KVM supports it anyway, so libvirt can't provide it.

What you could do is put something in front of the VNC port as a proxy, like socat. You'd setup the VM on a localhost address which can't be accessed from outside, and then to enable it start a proxy on the external IP.

1
ответ дан 3 December 2019 в 01:19

Теги

Похожие вопросы