Zram в качестве SWAP файла в Proxmox VE

Технология Zram

Zram - это технология, которая позволяет создать блочное устройство в оперативной памяти, данные на котором при сохранении сжимаются одним из выбранных алгоритмов. Доступно их несколько, в зависимости от версии операционной системы. Например, в последней версии Proxmox - это lzo, lz4, lz4hc, deflate. По умолчанию используется lzo. Вероятно, потому что он был добавлен в модуль ядра ранее и сохранен как стандартная настройка в целях совместимости. Самым оптимальным на данный момент будет выбор в пользу lz4. Он имеет оптимальное соотношение скорости и коэффициента сжатия и очень быстр в распаковке. Кроме того, lz4 доступен практически во всех актуальных дистрибутивах linux.

Преимущества технологии Zram

Внедрение технологии Zram дает ряд преимуществ. Вот некоторые ключевые преимущества:

1. Увеличение емкости хранилища: За счет сжатия данных на блочном устройстве Zram можно увеличить общую емкость хранилища. Это особенно полезно для устройств с ограниченным объемом памяти, таких как мобильные устройства.

2. Повышенная производительность: Сжатие уменьшает физический размер данных, что, в свою очередь, приводит к ускорению операций чтения и записи. Это особенно полезно для систем с высокими требованиями к производительности, таких как игровые ноутбуки или серверы.

3. Энергоэффективность: Сжатие данных на блочном устройстве Zram потребляет меньше энергии по сравнению с несжатым хранением. Такая энергоэффективность может привести к увеличению времени автономной работы портативных устройств или снижению энергопотребления в центрах обработки данных.

4. Гибкость: Технология Zram обеспечивает гибкость, позволяя выбирать различные алгоритмы сжатия. Пользователи могут выбрать тот, который в наибольшей степени отвечает их специфическим требованиям и предпочтениям.

Требования

Для настройки ZRam в качестве файла подкачки в Proxmox VE необходимо выполнить следующие требования:

- Proxmox VE версии 5.4 или выше.

- Ядро Linux версии 5.10 или выше.

Как включить модуль zRAM для ускорения свопинга в Debian/Ubuntu

Пример должен сработать в свежих версиях Debian (начиная с 9) и Ubuntu (начиная с 18). В этом примере добавляем 32G:

modprobe zram
zramctl -s 32G -a lz4 /dev/zram0
mkswap /dev/zram0
swapon /dev/zram0 -p 10

Далее настроим автоматическое создание zram swap при старте системы:

echo "zram" > /etc/modules-load.d/zram.conf
echo "zram" > /etc/modules-load.d/zram.confecho 'KERNEL=="zram0", ATTR { disksize } ="32G" RUN="/sbin/mkswap /dev/zram0", TAG+="systemd"' > /etc/udev/rules.d/99-zram.rules

Посмотреть статистику использования раздела можно с помощью команды zramctl без параметров:

echo "/dev/zram0 none swap defaults,pri=10 0 0" >> /etc/fstab

Посмотреть статистику использования раздела можно с помощью команды zramctl без параметров:

zramctl
NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram0 lz4 32G 48.7M 20.1M 21.5M 16 [SWAP]

Заключение

Настроив ZRam в качестве файла подкачки в Proxmox VE, вы сможете воспользоваться преимуществами сжатой оперативной памяти, такими как повышение производительности и снижение требований к хранению данных.