Короткий ответ

Integration Services — каналы хост↔гость: Heartbeat, KVP, Shutdown, Time Sync, VSS, Guest Service Interface. На современных Windows они стоят в госте и обновляются Windows Update гостя, не ISO 2012. Если IC «мешают», обычно виновата одна служба (время, VSS), а не весь набор. Не ставьте все Integration Service в Disabled навсегда: потеряете корректный shutdown, backup и Dynamic Memory balloon.

Снимите Get-VMIntegrationService на HV01 и службы vmic* в VM-APP01.

Симптомы и как отличить

Типичная картина:

  • иконка VM с красным heartbeat;
  • Get-VMNetworkAdapter без IP при живом стеке гостя;
  • Veeam/WBAdmin падает на Hyper-V writer / нет production checkpoint;
  • Turn Off вместо Shutdown из менеджера.

Отличия:

Что видноКуда
Только времясинхронизация времени
Только ESMEnhanced Session
Только backup freezeVM при backup
Нет сети вообщесеть VM

Возможные причины

  1. В госте службы vmic* Stopped/Disabled GPO.
  2. Устаревшие LIS на старом Linux / неполный hv_* в ядре.
  3. Выключили VSS IC «чтобы не было снимков» — backup перешёл на Saved State.
  4. Конфликт стороннего backup agent с vmicvss.
  5. Гость в Saved/Paused долго, IC не в Running.
  6. Антивирус гостя блокирует vmic*.

Диагностика

Хост:

Get-VMIntegrationService -VMName 'VM-APP01' | Format-Table Name, Enabled, PrimaryStatusDescription, SecondaryStatusDescription
Get-VM -Name 'VM-APP01' | Format-List State, Status, Heartbeat, IntegrationServicesState

Гость Windows:

Get-Service vmic* | Format-Table Name, DisplayName, Status, StartType
Get-WinEvent -FilterHashtable @{ LogName = 'System'; ProviderName = 'Microsoft-Windows-Hyper-V-Integration'; StartTime = (Get-Date).AddDays(-3) } -ErrorAction SilentlyContinue |
  Select-Object -First 20 TimeCreated, Id, Message

Типичные имена: vmicheartbeat, vmickvpexchange, vmicshutdown, vmictimesync, vmicvss, vmicguestinterface, vmicrdv (если есть в вашей сборке).

VSS:

vssadmin list writers

Ищите Hyper-V / VSS writers внутри гостя (SQL, NTDS) если production checkpoint.

Linux: systemctl status hv-kvp-daemon hv-vss-daemon hv-fcopy-daemon (имена зависят от дистрибутива), lsmod | grep hv_.

Решение

Сценарий A. Службы Disabled в госте

Верните StartType Manual/Automatic как у эталонного сервера, Start-Service. Снимите GPO, которая их убивает. На хосте Enabled $true:

Get-VMIntegrationService -VMName 'VM-APP01' | Enable-VMIntegrationService

Точечно Time Synchronization можно выключить на DC по политике времени — это исключение, не шаблон для всех VM.

Сценарий B. Обновление Windows-гостя

Установите обновления гостя (Servicing Stack + накопительный). ISO Integration Services с хоста 2008/2012 на госте 2019+ не нужен и вреден. Перезагрузка гостя после патча IC — по необходимости, не reboot хоста.

Сценарий C. VSS IC «мешает» приложению

Не отключайте навсегда. Настройте writer приложения, VSS timeout backup, исключение томов. Если вендор явно требует standard checkpoint / отказ от VSS — задокументируйте и оставьте heartbeat/shutdown включёнными.

Сценарий D. Linux

Ставьте поддерживаемое ядро с hv_netvsc/hv_storvsc, пакет linux-azure / hyperv-daemons по документации дистрибутива. Старый LIS с ISO Microsoft — только для древних RHEL, не для актуального Ubuntu как первый шаг.

Сценарий E. Heartbeat Lost под нагрузкой

Сначала CPU/RAM гостя (Dynamic Memory). Увеличение interval heartbeat — не ваш первый рычаг.

Heartbeat «OK» не доказывает, что VSS жив. Смотрите службы по имени. Обратно: VSS OK при Lost heartbeat — гость перегружен, IC не успевает ответить.

После P2V в госте иногда торчит старый установщик Integration Services 6.x. Не запускайте его на Server 2019/2022/2025. Inbox-компоненты + Windows Update гостя.

PowerShell Direct (Invoke-Command -VMName 'VM-APP01') требует Guest Service Interface и службу в госте. Direct мёртв при зелёном heartbeat — смотрите vmicguestinterface, не сеть LAN.

Не оставляйте Time Sync выключенным «на всех VM как на DC». Политика времени — точечная. Эталон: heartbeat, shutdown, KVP, VSS включены; time sync — по роли гостя.

Get-VMIntegrationService -VMName 'VM-APP01' | Format-Table Name, Enabled, PrimaryStatusDescription

Сверяйте с эталонной VM на том же хосте, не с форумным списком Disabled.

Как проверить, что проблема устранена

Get-VMIntegrationService -VMName 'VM-APP01' | Format-Table Name, Enabled, PrimaryStatusDescription
Get-VM -Name 'VM-APP01' | Format-List Heartbeat, State

Heartbeat OK. Shutdown из Hyper-V корректно гасит Windows (журнал гостя Event shutdown). Production checkpoint тестовый проходит или backup job без Saved State. KVP показывает IP, если сеть есть.

В госте Get-Service vmic* не Disabled.

Если не помогло

  • IP нет в KVP, ping есть: это косметика KVP, сеть жива.
  • Только Guest Service Interface Failed: ESM/копирование файлов, остальное может быть OK.
  • После клона SID/IC кэш: reboot гостя, не пересоздание VM.
  • Хост старый, гость 2025: обновите интеграцию со стороны гостя, хост всё равно должен быть поддерживаемой пары.

Профилактика

  • Запрет GPO Disable на vmic* без исключения Hyper-V гостей.
  • Патч гостей, не только хостов.
  • Мониторинг Heartbeat и writers.
  • Не ставить «все IC off» в шаблон VM.
  • Эталон Get-VMIntegrationService после деплоя.
  • После клонирования VM проверьте службы vmic* в госте: GPO и образ часто оставляют Disabled только на копии.
  • Не обновляйте хост Integration ISO «на всякий» против Windows-гостей 2019+: ломаете inbox. Linux — пакеты дистрибутива, не случайный LIS.

FAQ

Нужен ли ISO Integration Services?

Для Windows Server 2012 R2+ / Windows 8.1+ — нет, компоненты в образе. ISO — наследие.

Можно ли выключить только Time Sync?

Да, осмысленно для DC по модели времени. Heartbeat и Shutdown оставьте.

Heartbeat Off сэкономит CPU?

Пренебрежимо. Потеряете детект зависшего гостя.

Copy-VMFile не работает?

Guest Service Interface + служба в госте + Enabled. Не SMB.

Linux без daemons — VM «не поддерживается»?

Сеть/диск часто работают на in-kernel драйверах. Без daemons нет KVP/VSS/fcopy. Backup будет иначе.

Enable-VMIntegrationService не помогает, в госте Disabled?

Хост включает канал, гость должен запустить службу. Чините гостя/GPO, не только галку Hyper-V.

После Live Migration IC могут кратко быть Lost — это не повод Disable. Если Lost держится минутами, смотрите CPU гостя и Get-VMIntegrationService на новом OwnerNode, не на старом HV01.