Добрый день. <br/> <br/> У меня есть Free Hyper-V Server 2019, который используется на "старом" сервере для виртуальных машин. Я установил Free Hyper-V Server 2019 на "новом" сервере и успешно перенес несколько виртуалок через репликацию, все функционирует без проблем. <br/> <br/> Однако, я решил протестировать скорость дисков внутри гостевых ОС на новом сервере, где установлен PCIe 4.0 x4 SSD, тогда как на старом сервере используется SATA SSD. Я обнаружил, что у обеих гостевых ОС (Win 10 PRO x64 22H2 и Win 7 Pro x64), которые подключены через IDE Controler, скорость чтения составляет 7000 Mb/s, тогда как скорость записи ограничена 300 Mb/s. <br/> <br/> Это вызывает у меня подозрение, что Hyper-V может работать некорректно с железом нового сервера. <br/> <br/> Я решил создать новую виртуальную машину на новом сервере с нуля, также выбрав первое поколение и подключив диск через IDE Controler. На этой машине с нуля установил Win 10 PRO x64 22H2 и провел тесты. Результаты показали скорость чтения 6000 Mb/s и записи 6800 Mb/s. <br/> <br/> Таким образом, похоже, что Hyper-V может обеспечить полную скорость SSD в гостевых ОС. Настройки виртуальных машин для медленной записи и новой виртуальной машины совпадают: обе используют первое поколение и подключение через IDE Controler. Единственное различие заключается в том, что медленные варианты были реплицированы, а новая установка была выполнена с нуля. <br/> <br/> Все выгрузки устройств внутри гостевых ОС идентичны, и настройки дисков на гипервизоре тоже. Можете подсказать, в чем может быть проблема?
Здравствуйте! Проблема с медленной скоростью записи на диск в гостевых операционных системах Hyper-V может быть вызвана несколькими факторами. Рассмотрим возможные причины и решения вашей ситуации. 1. **Тип контроллера диска**: Вы упомянули, что используете IDE контроллер для обеих виртуальных машин. Однако для достижения наилучшей производительности рекомендуется использовать SCSI контроллер, так как он поддерживает параллельную работу с несколькими дисками и обеспечивает лучшие показатели производительности, особенно для операций записи. Если это возможно, попробуйте переключить контрольный диск на SCSI контроллер. 2. **Драйверы и поддержка**: Убедитесь, что в гостевых операционных системах установлены все необходимые драйверы, особенно интеграционные компоненты Hyper-V (если это применимо). Они помогут оптимизировать работу гостевых систем и обеспечить более высокую производительность. 3. **Настройки Hyper-V**: Проверьте настройки виртуальной машины, такие как выделение CPU и RAM. В некоторых случаях недостаточная выделенная память или процессор могут ограничивать производительность диска. 4. **Кэширование диска**: Проверьте настройки кэширования для виртуальных дисков в Hyper-V. Иногда включение записи кэша может существенно повысить производительность, особенно для операций записи. 5. **Состояние диска хоста**: Убедитесь, что хост-система не находится под чрезмерной нагрузкой или что диск не фрагментирован. Проблемы с производительностью могут быть также связаны с занятостью диска или другими процессами на хосте. 6. **Ограничения по количеству виртуальных машин**: Если старые виртуальные машины были реплицированы, возможно, на них выставлены какие-либо ограничители по производительности или IOPS. Проверьте, нет ли ограничений на консистентность I/O. 7. **Логи и мониторинг**: Если у вас есть возможность, отслеживайте логи и метрики работы дисковой подсистемы. Это может помочь определить, есть ли узкие места в производительности. 8. **Анализ конфигурации**: Проверьте, не установлены ли какие-либо настройки или политики в виртуальных машинах, которые могут ограничивать производительность, например, настройки энергосбережения. Попробуйте выполнить указанные шаги, и это должно помочь вам выяснить причину медленной записи на диск в контексте реплицированных виртуальных машин. Если проблема не будет решена, возможно, стоит рассмотреть возможность создания нового виртуального диска в среде нового сервера и перемещения данных туда.
update : <br/> Дело в репликации. Удаляешь репликацию у машины - сразу скорость записи приходит в норму. Даже не надо перезагружать гостевую ОС. <br/> Включаешь репликацию - скорость записи тут же падает до 300 Mb/s. <br/> <br/> Почему? <br/> <br/> Upd2: <br/> чистая установка Windows Server 2022 Standart с обновлениями на сентябрь 2024, ставим роль Hyper-V, реплицируем для теста одну машину, далее делаю плановую отработку отказа, запускаю машину на новом сервере , проверяю скорость - баг воспроизводится. <br/> При выключенной репликации скорость записи на диск 6000 Mb/s , как только настраиваю и включаю репликацию - тут же падение до 300 Mb/s. <br/> <br/> Прогуглил , нашел упоминание о таком , но нигде нет решения.
На основном сервере все изменения VHD соответствующей ВМ пишутся в лог репликации (Hyper-V Replica Log, HRL), HRL-файл лежит рядом с VHD. Каждому VHD соответствует свой HRL, каждая операция записи внутри ВМ соответствует записи на VHD и записи в HRL. Дальше каждые 5 минут HRL-файл отправляется на сервер-реплику и пишет изменения в конечный VHD. <br/> Из нюансов, которые могут влиять: <br/> 1. Размещение дисков ВМ на системном диске (а он форматируется с размером кластера 4К), а у вас этот диск одновременно используют ОС, ВМ и HRL. Кому система отдаст предпочтение? посмотрите на значения RND4K на графиках DiskMark. <br/> 2. Перенос ВМ на отдельный диск, отформатированный с размером кластера 64К, должен дать прирост производительности <br/> 3. ВМ Generation 1 и IDE-контроллер - в случае с Windows 7/8/8.1 с этим ничего не сделать, в остальных случаях - переезд на Generation 2, а IDE-контроллер - дело вкуса/привычки (у меня имеющиеся Hyper-V VM работают со SCSI). <br/> <blockquote>We recommend that you only use IDE disks for OS disks. OS disks have performance limitations based on the maximum I/O size for their devices.</blockquote> <br/> 4. Собственно, ваш SSD. Какой (customer/enterprise), с какой прошивкой и т.д. <br/> 5. Журнал "Здоровье" - <a href="https://learn.microsoft.com/en-us/windows-server/administration/performance-tuning/role/hyper-v-server/storage-io-performance" rel="nofollow">Hyper-V storage I/O performance</a> <br/> 6... <br/> <br/> P.S. Я бы начал с выноса ВМ с системного диска на другой, а уже потом - прочие упражнения...