Jurik-Phys.Net

~ Простота и ясность ~

Инструменты пользователя

Инструменты сайта


itechnology:kvm

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
itechnology:kvm [2017/04/11 00:20] – [Проброс видеокарты] jurik_physitechnology:kvm [2025/08/27 16:41] (текущий) jurik_phys
Строка 14: Строка 14:
 В первом случае, необходимо на самом первом этапе установки подключить образ дискеты [[http://www.linux-kvm.com/sites/default/files/viostor-31-03-2010-floppy.img|раз]] или [[http://jurik-phys.net/files/kvm/viostor-31-03-2010-floppy.img|два]] с virtio-драйвером жёсткого диска (viostor) (для этого нажать F6 и следовать инструкциям). В первом случае, необходимо на самом первом этапе установки подключить образ дискеты [[http://www.linux-kvm.com/sites/default/files/viostor-31-03-2010-floppy.img|раз]] или [[http://jurik-phys.net/files/kvm/viostor-31-03-2010-floppy.img|два]] с virtio-драйвером жёсткого диска (viostor) (для этого нажать F6 и следовать инструкциям).
  
-Во втром случае, необходимо подключить на рабочей машине временный virtio-диск, установить на него драйвера, перезагрузить компьютер, поменять тип системного диска на virtio. После этого система должна благополучно загрузиться на новых драйверах.+Во втором случае, необходимо подключить на рабочей машине временный virtio-диск, установить на него драйвера, перезагрузить компьютер, поменять тип системного диска на virtio. После этого система должна благополучно загрузиться на новых драйверах.
  
 //Ни смотря ни на какие шаманства, второй способо у меня не заработал, поэтому стараюсь установить virtio на этапу установки windows// //Ни смотря ни на какие шаманства, второй способо у меня не заработал, поэтому стараюсь установить virtio на этапу установки windows//
Строка 48: Строка 48:
  
 Второй способ ускорить графику - использовать Qxl для эмуляции видео. Для этого надо: Второй способ ускорить графику - использовать Qxl для эмуляции видео. Для этого надо:
-  - скачать для поддержки Qxl Windows guest tools: [[http://www.spice-space.org/download.html|тут]] или [[http://jurik-phys.net/files/kvm/spice-guest-tools-0.65.1.exe|тут]], поместить в доступный из гостевой ОС каталог;+  - скачать для поддержки Qxl Windows guest tools и/или [[https://www.spice-space.org/download/windows/qxl-wddm-dod/|драйвера]]: [[http://www.spice-space.org/download.html|тут]] или [[http://jurik-phys.net/files/kvm/spice-guest-tools-0.65.1.exe|тут]], поместить в доступный из гостевой ОС каталог;
   - выключить виртуальную машину, включить через virt-manager режим дисплея qxl, там же установить параметры Spice, а именно, порт и ip-адрес для удалённого подключения, включить машину, установить драйвера. В debian'е столкнулся с тем, что Spice не стартует после настройки в virt-manager'е т.к., последний записывает в конфигурацию порт для защищённого режима (tls), а в настройках qemu по-умолчанию tls выключено. Решение - отредактировать через *virsh edit <имя_ВМ>* настройки ВМ, точнее, удалить запись tlsPort="xxxx".   - выключить виртуальную машину, включить через virt-manager режим дисплея qxl, там же установить параметры Spice, а именно, порт и ip-адрес для удалённого подключения, включить машину, установить драйвера. В debian'е столкнулся с тем, что Spice не стартует после настройки в virt-manager'е т.к., последний записывает в конфигурацию порт для защищённого режима (tls), а в настройках qemu по-умолчанию tls выключено. Решение - отредактировать через *virsh edit <имя_ВМ>* настройки ВМ, точнее, удалить запись tlsPort="xxxx".
  
Строка 56: Строка 56:
  
 ===== Работа со snapshot'ами ===== ===== Работа со snapshot'ами =====
-Если верить интернету, то [[http://virt-manager.org/|virt-manager]] в августе 2013-ого года [[http://www.phoronix.com/vr.php?view=MTQ0NjM|обзавёлся]] поддержкой internal-снапшотов, но до debian'а эта долгожданная новинка ещё не добралась. Ждём с нетерпением, а пока используем для этих целей консольную утилиту[[http://docs.fedoraproject.org/ru-RU/Fedora/12/html/Virtualization_Guide/chap-Virtualization_Guide-Managing_guests_with_virsh.html|virsh]](от root'а):+Если верить интернету, то [[http://virt-manager.org/|virt-manager]] в августе 2013-ого года [[http://www.phoronix.com/vr.php?view=MTQ0NjM|обзавёлся]] поддержкой internal-снапшотов, но до debian'а эта долгожданная новинка ещё не добралась. Ждём с нетерпением, а пока используем для этих целей консольную утилиту [[http://docs.fedoraproject.org/ru-RU/Fedora/12/html/Virtualization_Guide/chap-Virtualization_Guide-Managing_guests_with_virsh.html|virsh]]:
 ==== Internal Snapshots ==== ==== Internal Snapshots ====
-**Внутренний снимок:** снимок у которого сохранённое состояние (saved state) и его последующие измеменения (delta), физически храняться в одном QCOW2-файле. Внутренние снимки удобны тем, что обеспечивают доступность к предыдущим состояниям виртуальной машины, даже в случае её переноса на другую платформу.+**Внутренний снимок:** снимок у которого сохранённое состояние (saved state) и его последующие изменения (delta), физически хранятся в одном QCOW2-файле. Внутренние снимки удобны тем, что обеспечивают доступность к предыдущим состояниям виртуальной машины, даже в случае её переноса на другую платформу.
  
-Внутренние снимки можно делать, как при работающей виртуальной машине (online), так и при выключеной виртуальной машине (offline). В первом случае в снимок виртуальной машины запишется и её текущее состояние: ram + cpu. Сохранить текущее состояние, без создания снимка можно, либо через virt-manager, либо через virsh:+Внутренние снимки можно делать, как при работающей виртуальной машине (online), так и при выключенной виртуальной машине (offline). В первом случае в снимок виртуальной машины запишется и её текущее состояние: ram + cpu. Сохранить текущее состояние, без создания снимка можно, либо через virt-manager, либо через virsh:
  
 ** Текущее состояние ВМ ** ** Текущее состояние ВМ **
Строка 75: Строка 75:
 </code> </code>
  
-**Cоздать снимок:**+**Создать снимок:**
 <code> <code>
 virsh # snapshot-create-as vmname snapshotname virsh # snapshot-create-as vmname snapshotname
Строка 95: Строка 95:
 </code> </code>
  
 +Внутренние снапшоты в настоящее время использовать не рекомендуется (источник [[https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-troubleshooting-workaround_for_creating_external_snapshots_with_libvirt|раз]] и [[https://github.com/virt-manager/virt-manager/issues/862#issuecomment-2715391957|два]]).
 ==== External Snapshots ==== ==== External Snapshots ====
-**Внешние снимки:** здесь оригинальный qcow2 файл переключается в режим "только чтение" - это будет сохранённое состояние (save state), а все дальнейшие изменения (delta) пишутся в новый qcow2-файл. Внешние снимки используются для создания бекапов т.к., точка сохранения будучи в режиме только чтение, может быть прочитана паралельно с работой виртуальной машины. +**Внешние снимки:** здесь оригинальный qcow2 файл переключается в режим "только чтение" - это будет сохранённое состояние (save state), а все дальнейшие изменения (delta) пишутся в новый qcow2-файл. Внешние снимки используются для создания бекапов т.к., точка сохранения будучи в режиме только чтение, может быть прочитана параллельно с работой виртуальной машины. 
  
  
Строка 102: Строка 103:
  
 ==== Backing files как снапшоты ==== ==== Backing files как снапшоты ====
-[[http://dustymabe.com/2015/01/11/qemu-img-backing-files-a-poor-mans-snapshotrollback/]]+При включенной виртуальной машине на базе существующего диска создаётся новый диск, который использует существующий в качестве неизменяемого хранилища ([[https://wiki.qemu.org/Documentation/CreateSnapshot#Create_a_snapshot|backing store]]). Все изменения будут вноситься в созданный файл 
 + 
 +<code>qemu-img create -F qcow2 -f qcow2 -b vm.backing_store.qcow2 vm.work_store.qcow2</code> 
 +Для удобства использования можно делать символическую ссылку vm.store.qcow2 на vm.work_store.qcow2 и уже через неё подключать хранилище к виртуальной машине. 
 + 
 +Для записи изменений из текущего файла данных в родительский служит команда <code>qemu-img commit vm.work_store.qcow2</code> 
 + 
 +Откат изменений происходит через  
 +  * создание нового рабочего хранилища на базе backing store; 
 +  * возврат к использованию backing store в качестве основного хранилища ВМ. 
 + 
 +Источник [[http://dustymabe.com/2015/01/11/qemu-img-backing-files-a-poor-mans-snapshotrollback/]]
  
 ==== Миграция с VBox на КVM  ==== ==== Миграция с VBox на КVM  ====
Строка 138: Строка 150:
 **Увеличение размер раздела и его файловой системы**\\ **Увеличение размер раздела и его файловой системы**\\
 Изменения размера раздела производятся в отмонтированном состоянии, следовательно, если расширяется системный раздел, то без загрузки с Live-CD (например, [[http://www.sysresccd.org/SystemRescueCd_Homepage|SystemRescueCd]]) не обойтись. При этом завершить все операции над диском можно с помощью графической утилиты [[http://gparted.org/|Gparted]]. Изменения размера раздела производятся в отмонтированном состоянии, следовательно, если расширяется системный раздел, то без загрузки с Live-CD (например, [[http://www.sysresccd.org/SystemRescueCd_Homepage|SystemRescueCd]]) не обойтись. При этом завершить все операции над диском можно с помощью графической утилиты [[http://gparted.org/|Gparted]].
 +===== Уменьшение размера диска ВМ в хост системе =====
 +
 +Подробности о команде virt-sparsify из пакета libguestfs-tools  по [[ https://manpages.debian.org/wheezy/libguestfs-tools/virt-sparsify.1.en.html | ссылке ]]
 +<code bash>virt-sparsify qcow_original qcow_less_size</code>
 +Возможно, будет необходимо указать путь к временному каталогу, имеющему достаточно свободного места, - команда **--tmp  <path-to-tmp>**
 +===== Virsh =====
 +   * **Проблема**. Список виртуальных машин пуст:<code bash>virsh list --all</code>
 +   * **Решение**. Указать использование системного подключения: <code bash> virsh --connect qemu:///system list --all</code> 
 +   * Для использования системного подключения по умолчанию необходимо установить переменную окружения, например, в ~/.bashrc<code bash>export LIBVIRT_DEFAULT_URI="qemu:///system"</code>
  
 ===== Virt-manager: disk+network i/o disabled ===== ===== Virt-manager: disk+network i/o disabled =====
  
 **Проблема.** Не отображаются графики использования сети и дискового ввода/вывода.\\ **Проблема.** Не отображаются графики использования сети и дискового ввода/вывода.\\
-**Решение.** Данные опции по-умолчанию выключены т.к., существуют проблемы с масштабированием графиков при значительном количестве виртуальных машин. Для включения в Менеджере виртуальных машин выбрать Правка->Параметры и отметить теребуемые индикаторы.+**Решение.** Данные опции по умолчанию выключены т.к., существуют проблемы с масштабированием графиков при значительном количестве виртуальных машин. Для включения в Менеджере виртуальных машин выбрать Правка->Параметры и отметить требуемые индикаторы.
  
 ===== Qcow2 и базовый образ ===== ===== Qcow2 и базовый образ =====
Строка 188: Строка 209:
  
 Проблема 2: при старте VM вылетает ошибка проброса оборудования. В данном случае решилось обновлением биоса материнской платы ASUS Sabertooth 990FX R2.0 c версии 1903 до версии 2901. Проблема 2: при старте VM вылетает ошибка проброса оборудования. В данном случае решилось обновлением биоса материнской платы ASUS Sabertooth 990FX R2.0 c версии 1903 до версии 2901.
 +
 +===== Permission denied =====
 +
 +  * https://superuser.com/questions/298426/kvm-image-failed-to-start-with-virsh-permission-denied
 +  * disable security_driver [[ https://github.com/jedi4ever/veewee/issues/996#issuecomment-497976612 |link]]
 +  * user groups: kvm libvirt libvirt-qemu
 +
 +===== Cockpit over Apache proxy =====
 +
 +   * проблема "invalid handshake" https://github.com/cockpit-project/cockpit/issues/2053
 +   * решение по [[ https://github.com/cockpit-project/cockpit/wiki/Proxying-Cockpit-over-Apache-with-LetsEncrypt | ссылке ]]
 +   * другая web-panel https://github.com/retspen/webvirtcloud
 +
 +===== Конвертация VM =====
 +
 +Инструмент:
 +    * [[https://libguestfs.org/virt-v2v.1.html|virt-v2v]];
 +
 +Инструкции:
 +    * [[https://blog.rackspacecloud.com/blog/2025/04/07/virt-v2v_windows_vm_migration_pre-requisite/|virt-v2v Windows VM migration pre-requisite]]
  
itechnology/kvm.1491859210.txt.gz · Последнее изменение: jurik_phys