↩️ Назад

Категории

Максимальное быстродействие дисковой подсистемы Windows в Proxmox

25.08.2025 | Статья из категории: Linux

Максимальное быстродействие Proxmox и настройка дисков, отключение swap

Чаще всего «слабым звеном» в работе виртуальной машины с Windows на Proxmox является именно дисковая подсистема. Ниже — проверенные советы по её ускорению с помощью программных настроек. Рассматриваем только оптимизацию внутри Proxmox и гостевой ОС. Использование SSD, RAID и аппаратного ускорения — тема для отдельной статьи.

1. Используйте VirtIO везде, где возможно

VirtIO — это драйверы полупрозрачной виртуализации, обеспечивающие высокую производительность. В сравнении с эмулируемыми устройствами:

  • VirtIO Disk Controller против IDE — увеличивает скорость последовательной записи в 2 раза.
  • VirtIO сетевой интерфейс против Intel E1000 — прирост производительности до 3 раз.

Рекомендуется использовать VirtIO во всех компонентах: диски, сеть, контроллеры.

2. Формат образа жесткого диска: RAW вместо QCOW2

Для максимальной скорости используйте формат RAW.

  • RAW — максимальная производительность, прямой доступ к блокам.
  • QCOW2 — удобство (снапшоты, сжатие), но небольшие накладные расходы.

Выбор прост: нужна скорость — RAW; нужны снапшоты — QCOW2.

3. Дисковый контроллер: VirtIO SCSI

Выбирайте VirtIO SCSI вместо устаревшего VirtIO Block или IDE.

Как настроить:

  1. Скачайте virtio-win.iso с официального сайта.
  2. Подключите ISO как CD/DVD к виртуальной машине.
  3. Загрузите Windows, установите драйвер Viostor (для дисков).
  4. После перезагрузки диск будет работать через VirtIO SCSI.

✅ Преимущества VirtIO SCSI: поддержка очередей, многопоточности, TRIM и IO Thread.

4. Настройка виртуального диска в Proxmox

При создании или редактировании диска:

  • Тип подключения: SCSI (не VirtIO Block).
  • Кэширование: Write Back — если есть ИБП. Увеличивает скорость записи.
  • Discard: включить, если диск на SSD — для поддержки TRIM.
  • SSD emulation: включить — сообщает Windows, что это SSD (включает оптимизацию дефрагментации).
  • IO Thread:включить — создаёт отдельный поток I/O для каждого контроллера. Особенно эффективно при нескольких дисках.

5. Критически важный момент: swap в Proxmox при большом объёме RAM

Если у вас много оперативной памяти (64 ГБ, 128 ГБ и более), но swap почти полностью заполнен — это не нехватка памяти, а ошибка настройки.

Пример из жизни

У вас:

  • RAM: 128 ГБ
  • Свободно: 60 ГБ
  • Swap: 8 ГБ, загружен на 90–100%

👉 Это означает: система бессмысленно свопит из-за значения vm.swappiness=60 по умолчанию.

Что делать?

Нужно снизить агрессивность свопинга, чтобы система использовала RAM по максимуму, а своп — только как страховку.

✅ Шаг 1: Уменьшить swappiness до 1

sudo sysctl -w vm.swappiness=1

Чтобы настройка сохранилась после перезагрузки:

echo 'vm.swappiness=1' | sudo tee -a /etc/sysctl.conf

✅ Шаг 2: Отключить swap на ходу (безопасно при достаточной RAM)

sudo swapoff -a

Проверьте:

free -h

Swap должен быть 0.

✅ Шаг 3: Отключить swap навсегда (опционально)

Откройте /etc/fstab и закомментируйте строку с swap:

# UUID=xxxx-xxxx none swap sw 0 0

⚠ Почему это важно?

Активный swap:

  • Создаёт постоянную нагрузку на диск.
  • Конфликтует с IO Thread — особенно на SSD.
  • Может вызывать ошибки в логах:
EXT4-fs warning (device sdb1): ext4_end_bio: I/O error
buffer I/O error on device sdb1, logical block 123456

Это особенно критично, если у вас отдельные диски для почты, бэкапов или СУБД.

📌 Когда отключать swap — итог

Сценарий Рекомендация
128+ ГБ RAM, ИБП, контроль за памятью vm.swappiness=1 + swapoff -a
Мало RAM (≤16 ГБ) Оставить swap, swappiness=10
Продакшен, нужна стабильность Не отключать, только swappiness=1

6. Дополнительная оптимизация (рекомендуется)

Добавьте в /etc/sysctl.conf:

# Меньше выгружать кэш в своп
vm.vfs_cache_pressure=50

# Уменьшить агрессивность свопинга
vm.swappiness=1

7. Проверка результата

После настройки проверьте:

free -h                    # Swap должен быть 0 или почти 0
dmesg | grep -i "I/O error"  # Ошибки ext4 должны исчезнуть
iostat -x 2                  # Проверьте нагрузку на диск

Вывод

Чтобы выжать максимум из дисковой подсистемы Windows в Proxmox:

  • Используйте RAW + VirtIO SCSI.
  • Включите Discard, SSD emulation, IO Thread.
  • Установите vm.swappiness=1 и отключите swap, если много RAM.
  • Проверьте, не грузит ли своп ваш диск — это частая причина ошибок I/O.

Эти шаги дадут ощутимый прирост производительности, особенно при работе с Windows-виртуалками, базами данных и файловыми серверами.

Если знаешь другие способы ускорить диск в Proxmox — делитесь в комментариях!




Категории:

Категории

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку статей

Посетителей сегодня: 0
о блоге | карта блога

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA