Zram jako plik SWAP w Proxmox VE

Technologia Zram

Zram to technologia umożliwiająca utworzenie urządzenia blokowego w pamięci RAM, na którym dane są kompresowane za pomocą jednego z wybranych algorytmów podczas zapisywania.

Dostępnych jest kilka algorytmów, w zależności od wersji systemu operacyjnego. Na przykład w najnowszej wersji Proxmox są to lzo, lz4, lz4hc, deflate. Domyślnym ustawieniem jest lzo. Wynika to prawdopodobnie z faktu, że zostało ono dodane do modułu jądra wcześniej i zapisane jako ustawienie domyślne dla celów kompatybilności. Obecnie najbardziej optymalnym wyborem jest lzo4, który ma optymalny stosunek prędkości do kompresji i jest bardzo szybki w dekompresji. Co więcej, lz4 jest dostępny w prawie wszystkich aktualnych dystrybucjach systemu Linux.

Zalety technologii Zram

Wdrożenie technologii Zram oferuje szereg korzyści. Oto kilka kluczowych zalet:

1. Zwiększona pojemność pamięci masowej: Dzięki kompresji danych na urządzeniu blokowym Zram można zwiększyć ogólną pojemność pamięci masowej. Jest to szczególnie przydatne w przypadku urządzeń o ograniczonej pojemności, takich jak urządzenia mobilne.

2. Zwiększona wydajność: Kompresja zmniejsza fizyczny rozmiar danych, co z kolei prowadzi do szybszych operacji odczytu i zapisu. Jest to szczególnie korzystne w przypadku systemów o wysokich wymaganiach wydajnościowych, takich jak laptopy do gier lub serwery.

3. Efektywność energetyczna: Kompresja danych na urządzeniu blokowym Zram zużywa mniej energii w porównaniu do nieskompresowanej pamięci masowej. Ta efektywność energetyczna może skutkować dłuższą żywotnością baterii w urządzeniach przenośnych lub niższym zużyciem energii w centrach danych.

4. Elastyczność: Technologia Zram oferuje elastyczność, umożliwiając wybór różnych algorytmów kompresji. Użytkownicy mogą wybrać ten, który najlepiej spełnia ich specyficzne wymagania i preferencje.

Wymagania

Aby skonfigurować ZRam jako plik wymiany w Proxmox VE, muszą być spełnione następujące wymagania:

- Proxmox VE w wersji 5.4 lub nowszej.

- Jądro Linux w wersji 5.10 lub nowszej.

Jak włączyć moduł zRAM w celu szybszej wymiany na Debian/Ubuntu

Ten przykład powinien działać z najnowszymi wersjami Debiana (od wersji 9) i Ubuntu (od wersji 18). W tym przykładzie dodajemy 32G:

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


Następnie skonfiguruj automatyczne tworzenie wymiany zram podczas uruchamiania systemu:

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

Statystyki użycia partycji można wyświetlić za pomocą polecenia zramctl bez parametrów:

zramctl

Przykładowy wynik:

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

Wnioski

Konfigurując ZRam jako plik wymiany w Proxmox VE, można korzystać z zalet skompresowanej pamięci RAM, takich jak lepsza wydajność i mniejsze wymagania dotyczące pamięci masowej.