Перейти к содержимому

Proxmox ssd emulation что это

  • автор:

ZFS вызывает аномальную высокую нагрузку на ЦП

Привет! Итак, у меня возникли некоторые проблемы с ZFS. У меня довольно много оперативной памяти (64 ГБ), но используется меньше половины. ARC ограничен 16 ГБ. Ryzen 3900 с 12/24 ядрами/потоками. Пул ZFS в RAID 0 с 2 дисками NVMe (Gen4), так что скорости достаточно.

Были сделаны некоторые модификации:

  1. sync=disabled
  2. compression=off
  3. xattr=sa
  4. ashift=12
  5. atime=off
  6. recordsize=1M

В станадртной нагрузке

Когда я активно использую пул ZFS (нагрузка ненормальная)

Настройки ВМ VirtIO SCSI single as SCSI controller No cache SSD emulation IO Thread enabled Asycn io: threads

Чем это может быть вызвано? Есть кто сталкивался и мог бы направить на путь истенный?

zfs-2.1.7-pve3 zfs-кмод-2.1.7-pve3 proxmox 7.3.X — kernel 6.1.2-1-pve

Marshy
01.02.23 06:33:15 MSK

  • Ответить на это сообщение
  • Ссылка

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

Чаще всего «слабым звеном» в работе виртуальной машины Windows на Proxmox является дисковая подсистема. Ниже собран несколько советов, которые помогут приблизиться к максимально возможным скоростям.

Здесь собраны советы только по ускорению дисковой подсистемы программными методами. Использование SSD в single или raid — отдельная тема для обсуждения.

Рекомендуется использовать устройства virtio там, где это возможно. Это обеспечит лучшую производительность. К примеру, использование VirtIO Generic Disk Controller по сравнению с эмулируемым IDE -контроллером увеличит последовательную запись в 2 раза. Использование сетевого интерфейса VirtIO увеличит производительность сетевого интерфейса в 3 раза по сравнению с эмулируемой сетевой картой Intel E1000.

Формат образа жесткого диска

Используем образы машин только в формате raw. Есть мнение, что qcow2 только немного уступает в скорости raw, но нам важна максимальная скорость. Из минусов использования RAW — нет снапшотов для резервного копирования. Если это критично, то выбираем qcow2. Нужна скорость — выбираем RAW .

Дисковый контроллер

В качестве SCSI Controller выбираем VirtIO SCSI . Далее качаем ISO -образ vitio-win.iso с последними драйверами, добавляем CD/DVD драйвер для машины. Монтируем скаченный образ. Загружаем ОС и устанавливаем необходимые драйвера. После всех манипуляций должно получиться вот так:

SCSI Controller выбираем VirtIO SCSI

Создание жесткого диска

При создании Hard Disk у виртуальной машины, выбираем SCSI (последний пункт), в не VirtIO Block. VirtIO blk — это предыдущий «этап» развития. Если сервер подключен к надежному источнику бесперебойного питания, то тип кэша ставим в — write back. Если ИБП нет, то покупаем ИБП и ставим Write Back.

Если образы виртуальных машин размещены на SSD , то обязательно ставим галки Discard и SSD emulation, чтобы правильно работала технология TRIM . Эмуляция SSD не поддерживается на дисках VirtIO Block.

Включаем IO thread. Опция IO Thread работает только если в качестве контроллера установлено значение VirtIO SCSI или VirtIO SCSI single. Если этот параметр включен, Proxmox будет создавать один поток ввода-вывода для каждого контроллера хранения, а не один поток для всех операций ввода-вывода. Это позволяет повысить производительность. Особенно виден прирост скорости при использовании нескольких дисков.

Настройки жесткого диска в Proxmox для максимальной скорости

Настраиваем swap в Proxmox

Чтобы добиться максимального быстродействия дисковой подсистемы у сервера Proxmox стоит отключить swap или снизить процент его использования.

Часто на сервере Proxmox можно наблюдать картину:

Это все из-за того, что Debian по умолчанию при использовании более 40% ОЗУ , начинает пользоваться swap. Для рабочей станции с небольшим количеством ОЗУ – это нормально, но для сервера, где оперативной памяти в разы больше этот параметр не совсем подходит.

  1. отключить swap в Proxmox вообще;
  2. ограничить процент использования swap в Proxmox.

Отключение swap в Proxmox

Отключить swap достаточно просто. Узнаем название раздела swap:

sudo swapon --show NAME TYPE SIZE USED PRIO /dev/nvme0n1p2 partition 976M 970M -2

В нашем примере это /dev/nvme0n1p3.

Далее отключаем swap:

sudo swapoff /dev/nvme0n1p3

Эта команда временно отключит swap. Чтобы отключить его навсегда, нужно в /etc/fstab закомментировать строку с его монтированием:

sudo nano /etc/fstab UUID=7664df9b-07ea-4578-97e4-a06f8b731e0f / ext4 errors=remount-ro 0 1 UUID=DB81-629E /boot/efi vfat umask=0077 0 1 #UUID=9904f3aa-afd6-4900-b798-4726a96e8033 none swap sw 0 0

Ограничиваем работу swap

Узнаем при каком проценте занятости ОЗУ , наш Proxmox начинает скидывать в swap:

sudo sysctl vm.swappiness vm.swappiness = 60

Это стандартное значение. При такой настройке от 40% занятой ОЗУ , начинается заполнение свопа.

Для сервера нужно установить это значение близким к нулю. При нуле область подкачки использоваться вообще не будет. Можно установить это значение в 10, что позволит Proxmox’у использовать до 90% оперативной памяти без задействования механизма своппинга. При загрузке ОЗУ более 90% часть данных будет переносится в swap. Можно поставить это значение и в 5 и в 1.

Чтобы установить это значение, выполняем команду:

sudo sysctl -w vm.swappiness=10 vm.swappiness = 10

Если запустить эту команду без -w , то команда примениться до первой перезагрузки. Удобно для тестов.

Если знаете еще способы увеличения скорости дисковой подсистемы, то прошу оставлять их в комментариях.

Should I enable «SSD Emulation» for ceph images?

You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an alternative browser.

cclloyd
Active Member

Dec 4, 2018 16 1 43 47

If I give a VM a hard drive from a ceph pool that uses only SSDs (separate pool for HDD), should I enable «SSD emulation» when creating the disk for the VM?

Stefan_R
Proxmox Retired Staff

Retired Staff
Jun 4, 2019 1,300 293 88 Vienna

«SSD Emulation» only tells the guest OS to treat the disk as a non-spinning disk (afaik it just sets the rotation rate to 0). It really shouldn’t matter for most situations.

«Discard» on the other hand has a noticeable effect, read our documentation for more on that.

Toggle signature

Best regards,
Stefan

Do you already have a Commercial Support Subscription? — If not, Buy now and read the documentation

blackpaw
Renowned Member

Nov 1, 2013 295 17 83

«SSD Emulation» only tells the guest OS to treat the disk as a non-spinning disk (afaik it just sets the rotation rate to 0). It really shouldn’t matter for most situations.

For windows guests would it inform Windows that it should issue trim requests?

Stefan_R
Proxmox Retired Staff

Retired Staff
Jun 4, 2019 1,300 293 88 Vienna

No, that’s the discard flag. In general, don’t hesitate to open a new thread, instead of bumping really old ones.

Toggle signature

Best regards,
Stefan

Do you already have a Commercial Support Subscription? — If not, Buy now and read the documentation

blackpaw
Renowned Member

Nov 1, 2013 295 17 83
Thanks! Will do.

  • Home
  • Forums
  • Proxmox Virtual Environment
  • Proxmox VE: Installation and configuration

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Quick Navigation

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get your own in 60 seconds.

KVM+QEMU vs. VMware или начинаю плакать

Дорвался до реализации. Долго тестировали на малоответственных системах Proxmox 6.2. Все работает.

Затащили первый крупный сервачёк PostgreSQL на PVE, утром увидели что архивация баз пошла дольше, с 1 часа 15 минут до 1 часа 50 минут, ну считайте 30%.

Вроде выходной и морочится нет желания, коллега говорит что ядра AMD не равны ядрам Intel. Добрался до компа, зашел и сравнил, на обоих железках стоит CPU(s) 32 x AMD Opteron(tm) Processor 6376 (2 Sockets).

И так, работает скрипт архивации:

nice -n 19 ionice -c3 pg_dump -d $DBNAME -h $ -p $PORT -U $ -w | pigz > $'/'$'/'$'_'$SUFFIX'.dump.gz'; 

Вот до копейки, виртуалка перенесена копированием образов диска без конвертации. Объем ОЗУ аналогичен, количество ядер аналогично, и там и там SSD (Optane vs. Samsung NVme)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *