<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://support.qbpro.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_Windows_%D0%BF%D0%BE%D0%B4_Linux_KVM</id>
	<title>Запуск Windows под Linux KVM - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://support.qbpro.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_Windows_%D0%BF%D0%BE%D0%B4_Linux_KVM"/>
	<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_Windows_%D0%BF%D0%BE%D0%B4_Linux_KVM&amp;action=history"/>
	<updated>2026-04-03T18:28:16Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.38.1</generator>
	<entry>
		<id>https://support.qbpro.ru/index.php?title=%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_Windows_%D0%BF%D0%BE%D0%B4_Linux_KVM&amp;diff=1852&amp;oldid=prev</id>
		<title>imported&gt;Vix в 22:31, 6 января 2016</title>
		<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_Windows_%D0%BF%D0%BE%D0%B4_Linux_KVM&amp;diff=1852&amp;oldid=prev"/>
		<updated>2016-01-06T22:31:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 01:31, 7 января 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l149&quot;&gt;Строка 149:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 149:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;При каждом подвисании приходится заходить на консоль ВМ по VNC и выполнять сброс сетевого интерфейса, после чего трафик снова начинает ходить нормально.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;При каждом подвисании приходится заходить на консоль ВМ по VNC и выполнять сброс сетевого интерфейса, после чего трафик снова начинает ходить нормально.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[http://www.example.com заголовок ссылки]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Автоматизировать данное действие в Windows можно с помощью AutoIt, если создать файл PingFailed_ResetNic.au3 и вызывать его Диспетчером заданий каждые несколько минут:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Автоматизировать данное действие в Windows можно с помощью AutoIt, если создать файл PingFailed_ResetNic.au3 и вызывать его Диспетчером заданий каждые несколько минут:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l172&quot;&gt;Строка 172:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 172:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Подобное «решение» не везде может рассматриваться как удовлетворительное, но в ряде случаев его достаточно, чтобы свести негативный эффект к приемлемому минимуму, позволяющему дождаться выхода исправления вместо более кардинальных мер.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Подобное «решение» не везде может рассматриваться как удовлетворительное, но в ряде случаев его достаточно, чтобы свести негативный эффект к приемлемому минимуму, позволяющему дождаться выхода исправления вместо более кардинальных мер.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [http://habrahabr.ru/post/176823/ взято тут...]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key pgdb4support-mediawiki-:diff::1.12:old-1851:rev-1852 --&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Vix</name></author>
	</entry>
	<entry>
		<id>https://support.qbpro.ru/index.php?title=%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_Windows_%D0%BF%D0%BE%D0%B4_Linux_KVM&amp;diff=1851&amp;oldid=prev</id>
		<title>imported&gt;Vix: Новая страница: «'''Задача:''' запустить некоторое количество виртуальных машин с Windows на типовом Линукс-се…»</title>
		<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA_Windows_%D0%BF%D0%BE%D0%B4_Linux_KVM&amp;diff=1851&amp;oldid=prev"/>
		<updated>2016-01-06T22:30:10Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «&amp;#039;&amp;#039;&amp;#039;Задача:&amp;#039;&amp;#039;&amp;#039; запустить некоторое количество виртуальных машин с Windows на типовом Линукс-се…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Задача:''' запустить некоторое количество виртуальных машин с Windows на типовом Линукс-сервере.&lt;br /&gt;
&lt;br /&gt;
'''Решение:''' любой современный Linux-дистрибутив, «родная» технология виртуализации KVM, Windows 2003 и настройки, описанные ниже.&lt;br /&gt;
&lt;br /&gt;
Смотри также: вводную часть статьи по настройке KVM-контейнеров для FreeBSD.&lt;br /&gt;
&lt;br /&gt;
'''Выбор гостевой ОС'''&lt;br /&gt;
&lt;br /&gt;
Windows XP работает под Linux KVM неустойчиво. Основные ошибки — потребление 100% процессора процессом csrss.exe (вплоть до обрыва RDP-сессий) и BSOD с кодом IRQL_NOT_LESS_OR_EQUAL в HAL.DLL. Если удалось достичь стабильной работы, обязательно отключите автоматическую установку обновлений! По нашему опыту, для работы WinXP под KVM они стали главным источником проблем.&lt;br /&gt;
&lt;br /&gt;
Windows 7 работает нормально, но согласно счётчикам Proxmox, требует для работы более 3 гигабайт ОЗУ.&lt;br /&gt;
&lt;br /&gt;
Оптимальным вариантом оказалась 32-разрядная редакция Windows 2003 R2:&lt;br /&gt;
&lt;br /&gt;
    работает надёжно, в т.ч. с virtio,&lt;br /&gt;
    проблем совместимости с XP не имеет (даже внешний вид может быть сделан таким же),&lt;br /&gt;
    занимает в ОЗУ менее 800 мегабайт.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Верхнего лимита в 4 гигабайта памяти (без PAE) оказалось достаточно для всех возникавших задач.&lt;br /&gt;
&lt;br /&gt;
Для ознакомительных целей годится любой опубликованный на RuTracker дистрибутив.&lt;br /&gt;
&lt;br /&gt;
'''Первый запуск и virtio'''&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 VM_ID=&amp;quot;10&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 MACBASE=&amp;quot;00:16:3e:ff:ff&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 HDA=&amp;quot;vm_${VM_ID}.img&amp;quot;&lt;br /&gt;
 HDB=&amp;quot;temp.img&amp;quot;&lt;br /&gt;
 HDC=&amp;quot;w2k3_r2_ent_rus_x86/ru_win_srv_2003_r2_enterprise_with_sp2_vl_cd1_X13-46484.iso&amp;quot;&lt;br /&gt;
 HDD=&amp;quot;virtio-win-0.1-52.iso&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 sudo kvm \&lt;br /&gt;
 -enable-kvm \&lt;br /&gt;
 -boot &amp;quot;menu=on,order=d&amp;quot; \&lt;br /&gt;
 -m 1024M \&lt;br /&gt;
 -balloon virtio \&lt;br /&gt;
 -name &amp;quot;kvm_${VM_ID}&amp;quot; \&lt;br /&gt;
 -drive &amp;quot;file=$HDA,index=0,media=disk,cache=writeback&amp;quot; \&lt;br /&gt;
 -drive &amp;quot;file=$HDB,index=1,media=disk,cache=writeback,if=virtio&amp;quot; \&lt;br /&gt;
 -drive &amp;quot;file=$HDC,index=2,media=cdrom,cache=writeback,readonly&amp;quot; \&lt;br /&gt;
 -drive &amp;quot;file=$HDD,index=3,media=cdrom,cache=writeback,readonly&amp;quot; \&lt;br /&gt;
 -net &amp;quot;nic,model=virtio,macaddr=${MACBASE}:${VM_ID}&amp;quot; \&lt;br /&gt;
 -net &amp;quot;tap,ifname=tap${VM_ID},script=no,downscript=no&amp;quot; \&lt;br /&gt;
 -vnc &amp;quot;0.0.0.0:${VM_ID}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Параметр &amp;quot;-vnc ...&amp;quot; имеет смысл только на сервере без GUI. По умолчанию KVM откроет окно через SDL. В обоих случаях Ctrl+Alt+Shift+1 и Ctrl+Alt+Shift+2 служат для переключения внутри окна между гостевой и управляющей консолью.&lt;br /&gt;
&lt;br /&gt;
Параметр &amp;quot;-net nic,model=virtio,...&amp;quot; создаст внутри ВМ сетевую карту неизвестного Windows типа, для которого мастер настройки оборудования предложит выбрать драйвер. Парный ему параметр &amp;quot;-net tap,...&amp;quot; создаст в хост-ОС сетевой интерфейс для связи с ВМ. Назначение IP-адресов, настройка DHCP и выхода во внешний мир через ProxyARP, NAT или Bridge не имеют прямого отношения к Windows, поэтому здесь не рассматриваются.&lt;br /&gt;
'''&lt;br /&gt;
Теперь про самое важное на данном этапе, т.е. про диски.'''&lt;br /&gt;
&lt;br /&gt;
 '''HDC''' — это ISO-образ с дистрибутивом Windows. Имя файла взято из торрента в предыдущем разделе. С него внутри ВМ произойдет первая загрузка системы (&amp;quot;-boot order=d&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
 '''HDD''' — это ISO-образ с драйверами virtio. Скачивается с alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin&lt;br /&gt;
&lt;br /&gt;
 '''HDA''' — это пустой образ диска, на который будет устанавливаться система. Создан командой &amp;quot;kvm-img create -f qcow2 vm_10.img 50G&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 '''HDB''' — это пустой образ диска, созданный через &amp;quot;kvm-img create -f qcow2 temp.img 1G&amp;quot; с единственной целью — показать Windows устройство незнакомого типа, чтобы она затребовала драйвер для него. Установка в систему драйвера virtio для временного диска позволит переключить затем с IDE на virtio системный диск.&lt;br /&gt;
&lt;br /&gt;
После того, как установка системы и драйверов будет полностью завершена, в команде запуска следует убрать &amp;quot;-boot&amp;quot; и все строки &amp;quot;-drive&amp;quot;, кроме первой, т.к. временный диск и ISO-образы станут не нужны (обратите внимание на добавленный &amp;quot;if=virtio&amp;quot;!):&lt;br /&gt;
&lt;br /&gt;
 kvm ...  -drive &amp;quot;file=$HDA,index=0,media=disk,cache=writeback,if=virtio&amp;quot; ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Про пользу virtio, варианты настройки сети и параметры командной строки kvm читайте в habrahabr.ru/post/167099&lt;br /&gt;
&lt;br /&gt;
'''Рекомендуемые настройки Windows'''&lt;br /&gt;
&lt;br /&gt;
'''Во-первых''', по умолчанию Windows создаёт при BSOD'ах полный дамп памяти. В лучшем случае, это существенно замедлит перезагрузку. В худшем, приведёт к полному зависанию.&lt;br /&gt;
'''&lt;br /&gt;
Во-вторых''', автоматические обновления по умолчанию включены, и есть риск, что одно из них сделает работу под KVM нестабильной.&lt;br /&gt;
&lt;br /&gt;
Поэтому после завершения инсталляции в самую первую очередь (до установки драйверов!) рекомендуется зайти в Панель управления =&amp;gt; Система:&lt;br /&gt;
&lt;br /&gt;
    Автоматическое обновление: Отключить&lt;br /&gt;
    Дополнительно =&amp;gt; Отчет об ошибках =&amp;gt; Отключить&lt;br /&gt;
    Дополнительно =&amp;gt; Загрузка и восстановление =&amp;gt; Параметры =&amp;gt; Отказ системы =&amp;gt; Запись отладочной информации =&amp;gt; Малый дамп памяти (64КБ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройки TCP/IP не являются обязательными, но немного повысят производительность, т.к. в виртуальной среде отсутствуют некоторые проблемы, которые нужно учитывать при передаче по физической сети.&lt;br /&gt;
&lt;br /&gt;
'''Описание:''' www.linux-kvm.org/page/WindowsGuestDrivers/kvmnet/registry&lt;br /&gt;
'''&lt;br /&gt;
Готовый REG-файл:''' svn1.sytes.net/linuxkvm/tune-guest-tcpip.reg&lt;br /&gt;
&lt;br /&gt;
После этого можете приступать к установке драйверов для диска (virt-stor) и сетевой карты (virt-net). После их установки в Диспетчере оборудования появятся «Red Hat VirtIO SCSI Controller», «Red Hat VirtIO SCSI Disk Device» и «Red Hat VirtIO Ethernet Adapter».&lt;br /&gt;
&lt;br /&gt;
 '''Ballooning'''&lt;br /&gt;
&lt;br /&gt;
'''Традиционный подход''' — сразу при запуске виртуальной машины (ВМ) выделять ей блок ОЗУ заданного размера, например, 512 мегабайт. Его недостаток — в те моменты, когда в памяти ВМ есть неиспользуемое пространство, в других ВМ и хост-системе её может не хватать.&lt;br /&gt;
&lt;br /&gt;
'''Memory ballooning''' — это механизм динамического (а) выделения хост-ОЗУ для ВМ по мере необходимости и (б) возвращения неиспользуемых блоков по мере освобождения. Благодаря ему становится возможным одновременно запускать множество ВМ, суммарный объём виртуального ОЗУ в которых больше объёма физического ОЗУ в хост-системе, при условии, что они не станут использовать максимально разрешённый объём все сразу. Благодаря этому память хост-системы распределяется между ВМ так же гибко, как между обычными процессами.&lt;br /&gt;
&lt;br /&gt;
Создание виртуальных ресурсов, превышающих физические по объёму, обозначается любимыми для многих хостеров терминами «overcommit» и «overselling».&lt;br /&gt;
&lt;br /&gt;
Для работы баллонинга требуется согласованная работа двух программных компонентов:&lt;br /&gt;
&lt;br /&gt;
    '''MOM''' (memory overcommitment manager) в хост-системе, меняющего объём ОЗУ для ВМ на основании запросов из неё,&lt;br /&gt;
    '''VMM''' (менеджера виртуальной памяти) в гостевой ОС, взаимодействующего с MOM через виртуальный PCI-контроллер.&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
MOM''' в последних версиях KVM включается автоматически, старые требовали включать его с помощью «kvm… -balloon virtio» в командной строке.&lt;br /&gt;
&lt;br /&gt;
Гостевое устройство для связи с MOM диспетчер оборудования (devmgmt.msc) Windows увидит как «PCI standard RAM controller» неизвестного типа. В отличие от virt-stor и virt-net, драйвер к нему не будет предложено установить автоматически. Вместо этого, следует зайти в свойства устройства, на вкладке «Драйвер» выбрать обновление и вручную указать путь к balloon.inf на VirtIO CD (пруф). После этого устройство переименуется в «VirtIO Balloon Driver».&lt;br /&gt;
&lt;br /&gt;
'''ACPI'''&lt;br /&gt;
&lt;br /&gt;
По умолчанию Windows 2003 разрешает выключать себя единственным способом — ввести логин-пароль, выбрать Пуск =&amp;gt; «Завершение работы», ввести примечание, нажать «OK». Разумеется, на VDS-ферме такой подход неприемлем. KVM (и QEMU) умеет эмулировать ACPI. Команда «system_powerdown» аналогична нажатию кнопки питания на физическом компьютере, но Windows её проигнорирует. Лечится следующим REG-файлом:&lt;br /&gt;
&lt;br /&gt;
'''Windows Registry Editor Version 5.00'''&lt;br /&gt;
&lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system]&lt;br /&gt;
 &amp;quot;ShutdownWithoutLogon&amp;quot;=dword:00000001&lt;br /&gt;
 &amp;quot;DisableCAD&amp;quot;=dword:00000001 &lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]&lt;br /&gt;
 &amp;quot;ShutdownWarningDialogTimeout&amp;quot;=dword:00000003&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Он же в готовом для запуска виде: svn1.sytes.net/linuxkvm/win-acpi-kvm.reg&lt;br /&gt;
&lt;br /&gt;
Первоисточник с подробными объяснениями: umgum.com/acpi-windows2003-shutdown&lt;br /&gt;
&lt;br /&gt;
'''Кэширование'''&lt;br /&gt;
&lt;br /&gt;
Если образ гостевого диска хранится на VDS-ферме в виде файла, кэширование гостевых файлов может оказаться двойным — сначала их кэширует гостевая ОС при обращениях к виртуальному диску, затем ОС фермы при обращениях к физическому.&lt;br /&gt;
&lt;br /&gt;
'''Всего возможны 3 основных режима:'''&lt;br /&gt;
&lt;br /&gt;
    none — хост-система не кэширует файл-образ ни на чтение, ни на запись&lt;br /&gt;
    writeback — запись выполняется немедленно, чтение кэшируется&lt;br /&gt;
    writethrough — чтение и запись кэшируются&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В разных версиях qemu/kvm и в разных ОС по умолчанию могут использоваться разные режимы. Например, Qemu до версии 1.2 использует writethrough, 1.2 перешёл на writeback, в Proxmox выбран cache=none.&lt;br /&gt;
&lt;br /&gt;
Все без исключения источники в Сети советуют не использовать writethrough как наиболее медленный. По субъективной оценке, для ВМ с Windows оптимален writeback, для ВМ с Linux и FreeBSD — none.&lt;br /&gt;
&lt;br /&gt;
'''Зависания сети'''&lt;br /&gt;
&lt;br /&gt;
Единственной серьёзной проблемой, которую однозначно вызывает ошибка в KVM, являются подвисания гостевой сети при интенсивном трафике: bugs.centos.org/view.php?id=5526 (кроме собственно описания ошибки, там же есть важные ссылки на другие багтрекеры).&lt;br /&gt;
&lt;br /&gt;
Рекомендации, предлагаемые участниками обсуждений (обновление qemu-kvm и ядра, изменение параметров командной строки, использование vhost-net), к сожалению, пока не сумели её решить.&lt;br /&gt;
&lt;br /&gt;
При каждом подвисании приходится заходить на консоль ВМ по VNC и выполнять сброс сетевого интерфейса, после чего трафик снова начинает ходить нормально.&lt;br /&gt;
&lt;br /&gt;
Автоматизировать данное действие в Windows можно с помощью AutoIt, если создать файл PingFailed_ResetNic.au3 и вызывать его Диспетчером заданий каждые несколько минут:&lt;br /&gt;
&lt;br /&gt;
 #include «EventLog.au3»&lt;br /&gt;
 &lt;br /&gt;
 Local $PingHost = &amp;quot;192.168.0.1&amp;quot;&lt;br /&gt;
 Local $Interface = &amp;quot;LAN&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 Ping($PingHost, 250)&lt;br /&gt;
 If @error = 0 Then Exit&lt;br /&gt;
 &lt;br /&gt;
 Local $hEventLog = _EventLog__Open(&amp;quot;&amp;quot;, &amp;quot;RestartNicOnPingFailure&amp;quot;)&lt;br /&gt;
 Local $aEmpty[1] = [0]&lt;br /&gt;
 _EventLog__Report($hEventLog, 2, 0, 1, &amp;quot;&amp;quot;, &amp;quot;Restart NIC &amp;quot; &amp;amp; Interface &amp;amp; &amp;quot; on failed ping to &amp;quot; &amp;amp; PingHost, $aEmpty)&lt;br /&gt;
 _EventLog__Close($hEventLog) &lt;br /&gt;
 &lt;br /&gt;
 RunWait(&amp;quot;netsh interface set interface &amp;quot; &amp;amp; $Interface &amp;amp; &amp;quot; DISABLED&amp;quot;, &amp;quot;&amp;quot;, @SW_HIDE)&lt;br /&gt;
 RunWait(&amp;quot;netsh interface set interface &amp;quot; &amp;amp; $Interface &amp;amp;  &amp;quot; ENABLED&amp;quot;, &amp;quot;&amp;quot;, @SW_HIDE)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 '''Вариант для CMD.EXE:''' rickosborne.org/blog/2007/02/stupid-windows-tricks-restart-network-adapter-when-it-hangs&lt;br /&gt;
&lt;br /&gt;
Подобное «решение» не везде может рассматриваться как удовлетворительное, но в ряде случаев его достаточно, чтобы свести негативный эффект к приемлемому минимуму, позволяющему дождаться выхода исправления вместо более кардинальных мер.&lt;/div&gt;</summary>
		<author><name>imported&gt;Vix</name></author>
	</entry>
</feed>