virsh - утиліта для командного рядка Linux, призначена для управління віртуальними машинами і гіпервізорами KVM і Xen.
Virsh використовує API libvirt і є альтернативою для xm і графічної програми virt-manager.
За допомогою virsh ви можете зберігати стан віртуальних машин, переносити ВМ між гіпервізорами і управляти віртуальними мережами.
З virsh ви завжди можете отримати список доступних команд або параметрів, використовуючи команду «help». «Help command» дасть вам додаткову інформацію по команді command.
Створення нової віртуальної машини
Перед тим, як ви зможете управляти віртуальною машиною за допомогою virsh, вам потрібно визначити її:
Зазначена команда визначає нову віртуальну машину newvm. Щоб побачити її в списку, вам потрібно використовувати 'list -inactive' або 'list -all', оскільки list без параметрів покаже тільки вже запущені ВМ.
Список ваших віртуальних машин
Створення, запуск, установка і знищення ВМ - define, undefine, start, shutdown, destroy
Віртуальні машини, які ви бачите з командою list -all - є «defined». Кожна віртуальна машина налаштовується через XML файл в каталозі / etc / libvirt / qemu. Якщо ви хочете видалити ВМ зі списку визначених у системі віртуальних машин, вам потрібно використовувати команду undefine:
Щоб виконати undefine потрібно попередньо зупинити віртуальну машину:
Команда shutdown намагається завершити роботу гостьовий операційної системи, використовуючи ACPI.
Ви також можете використовувати destroy. Ця команда миттєво відключить віртуальну систему, як якщо ви вимкніть кабель живлення з комп'ютера.
Якщо ви змінили файл конфігурації віртуальної машини, вам потрібно повідомити про це KVM перед перезапуском ВМ.
Тепер можна запустити віртуальну машину:
Призупинення та продовження роботи віртуальних машин
Virsh дозволяє призупинити і потім продовжити роботу віртуальної машини
Зміна параметрів віртуальної машини
libvirt stores it's configuration as xml in '/ etc / libvirt / qemu'. The xml is easy to understand, and is similar to VMware * .vmx files. While it is possible to edit these files in place and restart libvirt-bin for the changes to take affect, the recommended method for modifying the attributes of a virtual machine is via virsh (or virt-manager, if it supports changing the hardware you want to change). The concept is simple:
- export (aka 'dump') the xml of the virtual machine you want to edit
- edit the xml
- import (aka 'define') the xml
For example, to edit the machine named 'foo' (you can get a list of your machines with 'virsh list -all'), do:
Додавання процесорів
KVM allows you to create SMP guests. To allocate two CPUs to a VM, dump the xml as above, then edit your xml to have:
Now define the VM as above.
Додавання пам'яті
To change the memory allocation in a VM, dump the xml as above, then edit your xml to have:
Now define the VM as above. Keep in mind that the memory allocation is in kilobytes, so to allocate 512MB of memory, use 512 * 1024, or 524288.
Зміна моделі мережевої карти
kvm and qemu currently default to using the rtl8139 NIC. Supported NICs in Ubuntu 8.04 LTS are i82551, i82557b, i82559er, ne2k_pci, pcnet, rtl8139, e1000, and virtio. To use an alternate NIC, dump the xml as above, then edit your xml to have:
Now define the VM as above.
Додавання USB пристроїв
Обмеження для USB пристроїв в KVM
- USB протокол 1.1
- Пристрій має бути підключений до запуску KVM
- Потрібні зміни Apparmor
зміна Apparmor
Після зміни налаштувань apparmor потрібно перезапустити .:
Додавання USB пристрої
Визначте Vendor ID і Product ID .:
Для підключення Broadcom Corp. Bluetooth Controller vendor і product id це 0a5c і 2110. Ці значення потрібно додати в xml профіль. Виконайте virsh edit
Отримання нових ID
Щоб отримати новий uuid для вашого xml файлу, використовуйте: uuidgen