Почему периодически зависают Windows-клиенты в KVM (Proxmox)?
Здравствуйте!
У меня поднят сервер с Proxmox 3.4. Четыре диска (SATA) в ZRAID (установка средствами самого Proxmox). Памяти 32Гб.
Два Xeon E5620.
Виртуалки: пара контейнеров с Debian, один с OwnCloud и несколько KVM с Windows от 7-ки до 10-ки.
10-ка запускается редко, но работает стабильно. Хотя возможно при более длительной эксплуатации может и зависнуть - не проверял.
А вот 7-ка и 2008R2 периодически виснут. Могут проработать несколько дней, могут несколько часов. Виснут странно: Все вроде работает, но при попытке программы обратиться к диску она подвисает. Остальные работают, но как только они пытаются обратится к диску - тоже виснут.
В случае с сервером - подключаюсь к нему обычно через RDP. В сеансе все повисло. Перехожу в консоль (через proxmox) - там все работает (мышка ездит). Тыкаеш Ctrl-Alt-Del - виснет. Все - только перезагрузка.
Так же заметил, что в такие моменты график DiskIO в Proxmox'е обрывается. Т.е. вот идет нагрузка на диск, а после зависания - 0. При этом графики процессора и памяти - в порядке.
Такое ощущение, что что-то происходит с виртуальным диском. Но при этом Windows не выпадает в BSOD, а продолжает работать как может.
Диски в обоих случаях IDE/SATA (не virtio), кеш - writeback, хотя в начале стоял writethrough и было так же.
Кстати заметил, что Windows 10 у меня стоит на virtio - может быть в этом дело?
Ну 7-ка ставилась как временная и тогда еще не успел скачать iso с virtio драйверами. Поставил на скорую руку. А вот 2008R2 - его перевел на virtio - все равно виснет. Что-то не в этом дело похоже. Сейчас пробую поставить 2016TP4. Он новее - может не будет виснуть.
IDE это изначально ошибка. Для начала надо избавиться от него. virtio_blk или virtio_scsi это уже вопрос посложнее, кроме как тестировать на собственных нагрузках способа решить который использовать нет.
Далее, после замены надо смотреть на остальной дисковый стек. во первых драйверы virtio, попробовать можно разные варианты, во вторых логи qemu и kvm_trace с хоста, в третьих перетащить диски с zfs на простой lvm и посмотреть будет ли разница. Если ничего не поможет, попробовать воссоздать проблему на таком же железе, но используя centos 7 и libvirt а не смесь бульдога с носорогом по имени proxmox.
gep2005: ну конечно. Есть разные версии, есть разные дистрибы. Последний с федоры не обязательно окажется подписанным мелкомягкими, а вот то что red hat поставляют тем кто оплатил подписку наверняка подписан и протестирован. В любом случае, KVM разрабатывается и тестируется на RHEL, а в дебиане и прочих убунтах его толком не проверяют. Я видел очень много багов которые так и лезут на дебиане и не видны ни на RHEL/Centos ни на федоре