Я создал виртуальную машину с virt-manager, которая работает на kvm / qemu. Машина хорошо работает при запуске через virt-manager. Однако я хотел бы иметь возможность запускать и останавливать виртуальную машину с помощью скрипта в init.d, чтобы она поднималась и опускалась вместе с хостом. Мне нужно, чтобы virt-manager показывал, что машина работает, и чтобы через нее можно было подключиться к своей консоли.
Когда я использую командную строку, созданную при запуске ps -eaf | grep kvm
после запуска виртуальной машины через virt-manager я получаю несколько консольных сообщений о перенаправленных символьных устройствах, но машина запускается и работает правильно. Однако я не получаю никаких указаний от virt-manager, что он запущен. Как я могу изменить командную строку, чтобы виртуальный менеджер запускал работающую виртуальную машину? Есть ли что-нибудь еще в командной строке, что должно измениться при запуске вне virt-manager?
Командная строка (немного переформатирована для удобства чтения):
/usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 512 -smp 1 -name BORON \
-uuid fa7e5fbd-7d8e-43c4-ebd9-1504a4383eb1 \
-chardev socket,id=monitor,path=/var/lib/libvirt/qemu/BORON.monitor,server,nowait \
-monitor chardev:monitor -localtime -boot c \
-drive file=/dev/FS1/BORON,if=ide,index=0,boot=on,format=raw \
-net nic,macaddr=52:54:00:20:0b:fd,vlan=0,name=nic.0 \
-net tap,fd=41,vlan=0,name=tap.0 -chardev pty,id=serial0 -serial chardev:serial0 \
-parallel none -usb -usbdevice tablet -vnc 127.0.0.1:1 -k en-us -vga cirrus
Что касается автоматического запуска / остановки, и вы используете virsh, вы можете сделать это так (как привилегированный пользователь)
virsh autostart Domain
Я не уверен, почему virt manager не дает вам никаких результатов. У него есть подключение к компьютеру, на котором он находится, верно? Он должен показать список доменов, если он подключен.
Откройте экран виртуальной машины, нажмите View-> Details.
Выберите Параметры загрузки и установите флажок Запускать виртуальную машину при загрузке хоста.
Ответ Тима - это путь, virsh
позволяет делать много полезных вещей, кроме этого.
Чтобы настроить автоматический запуск виртуальной машины, вы используете:
# virsh autostart <domain-id>
В <domain-id>
- это либо номер виртуальной машины, UUID, либо "понятное имя", например "debian1", которое вы ввели в virt-manager
.
Чтобы получить список виртуальных машин (номера и имена), используйте:
# virsh list --all
В моем случае я получаю:
Id Name State
----------------------------------
1 other running
2 other-clone running
Итак, я использовал:
# virsh autostart other
установить вирш затем
virsh list (this will print list of your VMs)
virsh dominfo your_vm_name (get info about selected VM)
virsh autostart your_vm_name (set autostart of selected VM)
Вы также можете разместить символическую ссылку на гостевой domxml в /etc/libvirt/qemu/autostart
:
Для виртуальной машины с именем "test" это будет выглядеть так:
test.xml -> /etc/libvirt/qemu/test.xml
Вы также можете использовать KVM_AutoBoot ( https://github.com/eduardolucioac/kvm_autoboot ) для запуска одной или нескольких виртуальных машин при загрузке сервера с помощью KVM (libvirt). Также можно определить интервал между запуском виртуальной машины и следующей.
Спасибо! = D