Ram disk

Z Poznámkový blok
Verze z 15. 3. 2022, 00:17, kterou vytvořil Tydyt (diskuse | příspěvky) (ramfs)
Přejít na: navigace, hledání

https://ciksiti.com/cs/chapters/4693-how-to-create-and-use-a-ramdisk-on-ubuntu-18-04--linux-hin

https://www.abclinuxu.cz/poradna/linux/show/380056


tmpfs

Prvně vytvoříme adresář pro namapování ramdisku a následně vlastni ramdisk který rovnou do vytvořeného adresáře namapujem.

sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o rw,size=128M tmpfs /mnt/ramdisk

(Velikost disku můžeme zadávat jak v MB - M, tak třeba GB - G)

Pomocí příkazu `df -h` ověříme, že je ramdisk namapován.

Autostart fstab

Do tabulky /etc/fstab přidáme v tomto případě řádek:

tmpfs   /mnt/ramdisk    tmpfs    rw,size=128M     0      0

Autostart cron

Do crontab systemu vložíme radek:

@ mount -t tmpfs -o rw,size=128M tmpfs /mnt/ramdisk

Úschova dat

Pokud chceme zajistit, aby se data při korektním restartu nesmazala, vytvoříme službu která zajistí při restartu uložení dat na disk a při startu je opětovně načte. Pro uložení dat vytvoříme pomocný adresář pro data z ramdisku a poté vytvoříme vlastní konfiguraci služby.

sudo mkdir /mnt/ramdisk_backup
sudo nano /lib/systemd/system/ramdisk-sync.service

Poté do otevřeném souboru vložíme následující text. Pozor, musíme zmenit user, na platného uživatele.

ramfs

Existuje obdobné nastavení, ale zde není zajištěna fixní velikost a pak se může stát, že ramdisk zaplní celou pamět. To v praxi může být nevhodne. Postup je obdobný z předchozím způsobem. Prvně vytvoříme adresář pro namapování ramdisku a následně vlastní ramdisk který rovnou namapujem.

sudo mkdir /mnt/ramdisk
mount -t ramfs none /mnt/ramdisk/ -o size=1g

I pro zajištění automatického vytvoření po restartu, či uložení dat při restartu použijeme předchozí postup (pozor jen na rozdil ramfs a tmpfs)

zram

Další variantou je modul zram. Ten má fixní velikost a navíc data komprimuje. Tím se do stejného prostoru dostane více dat. To ale má za následek zase větčí zátěž na CPU což může být z druhé strany nevýhoda.

modprobe zram num_devices=1
print "velikost_disku" /sys/block/zram0/disksize
mkfs -t "zvolte_fs" /dev/zram0
mount "dle libosti"