CIFS/SMB приводит к зависанию виртуальной машины (и в конечном итоге хоста Hyper-V)
Я потратил слишком много времени на это.
У нас есть частное облако Microsoft с 8 узлами, размещенное на Flexpod Cisco (блейд-серверы B200, Nexus 5k, 6248FI с двумя контроллерами NetApp FAS2550 для SAN). Запуск прошивки UCS 2.2(5a).
Все хосты SAN загрузятся и запустят сервер 2012 R2 Датацентр. На каждом хосте установлен CSV, на котором размещены VHDX нашей виртуальной машины с 70 с лишним.
Недавно мы переехали в Visual Studio Online и запустили несколько серверов сборки (ну, 3). После завершения сборки артефакты публикуются в наших средах подготовки и тестирования, каждая из которых состоит из одной виртуальной машины, работающей под управлением Server 2012 R2 Standard. Эта публикация использует Robocopy для копирования артефактов на долю C$ этих виртуальных машин.
Когда эта копия происходит, мы видим следующее:
- GUI виртуальной машины перестает отвечать на запросы
- При подключении к виртуальной машине во время этого состояния мы не можем войти (иногда ctrl-alt-del не имеет никакого эффекта, иногда отображается приглашение для входа в систему, но ввод не отображается в поле пароля)
- Если мы вошли в систему до запуска трафика CIFS/SMB, элементы GUI будут работать до тех пор, пока вы не будете с ними взаимодействовать
- Через некоторое время все виртуальные машины, размещенные на одном хосте Hyper-V, начинают испытывать тайм-ауты
- ВМ не отвечает на команды выключения через диспетчер отказоустойчивого кластера, и мы должны выключить ВМ, которая занимает немного времени, но завершает работу
- После перезагрузки виртуальной машины все нормально, пока вы не попытаетесь скопировать на нее снова
- Существующие виртуальные машины (т. Е. Виртуальные машины, введенные в эксплуатацию давно), не подвержены изменениям, это только те, которые были введены в эксплуатацию в прошлом месяце
Для отладки я попробовал руководство (то есть Windows copy and paste), в котором обнаружена та же проблема.
Я пробовал:
- Изменение настроек масштабирования на стороне приема
- Отключенный VMQ (хотя у нас нет адаптеров Broadcom, но есть VIC Cisco) как на хосте, так и на сетевом адаптере виртуальной машины
- Перезапустил весь кластер (скользящий перезапуск хостов)
- Создание новой виртуальной машины без каких-либо обновлений Windows. Испытывает ту же проблему
- Подтвердили, что у нас нет дубликатов IP-адресов.
- На любом из хостов или гостевых виртуальных машин не работает AV
- Поскольку элементы графического интерфейса, которые открываются до начала проблемы, продолжают работать, я запустил Resource Monitor и проверил использование диска. Когда проблема начинается, дисковый ввод-вывод падает почти до 0. На этом этапе (наряду со специальными инструментами мониторинга NetApp и тем фактом, что виртуальные машины на всех других узлах продолжают работать) я исключил компонент хранения как виновника. Ниже приведен скриншот, когда началась копия:
Обратите внимание на падение дискового ввода-вывода. Кстати, все другие виртуальные машины на том же IO диска хоста Hyper-V одновременно падают до 0.
Из-за разочарования сегодня утром я создал виртуальную машину Gen1 и ввел ее в эксплуатацию, как и любой другой Gen2. Это по неизвестной причине работает. Если я копирую на общий ресурс C$ машины Gen2, это не удается. Если я копирую из того же места в папку C$ этого нового компьютера Gen1, проблем не возникает.
Обновление: я также отметил, что копирование с машин Gen2 в порядке. Как раз при копировании в них выставляется проблема экспоната.
Что может быть причиной этого? В чем разница между Gen1 и Gen2? Может ли это быть проблема прошивки UCS.