Zram как SWAP-файл в Proxmox VE

Технология Zram

Zram - это технология, позволяющая создать блочное устройство в оперативной памяти, на котором данные при сохранении сжимаются по одному из выбранных алгоритмов.

Существует несколько алгоритмов, в зависимости от версии операционной системы. Например, в последней версии Proxmox это lzo, lz4, lz4hc, deflate. По умолчанию используется lzo. Вероятно, это связано с тем, что он был добавлен в модуль ядра раньше и сохранен по умолчанию в целях совместимости. Наиболее оптимальным выбором на данный момент является lzo4, который имеет оптимальное соотношение скорости и сжатия и очень быстро распаковывается. Кроме того, 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). В этом примере мы добавим 32 Гб:

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
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, вы сможете воспользоваться преимуществами сжатой оперативной памяти, такими как повышение производительности и снижение требований к хранению данных.