Ram disk (linux)

Материал из sysadm
Перейти к навигации Перейти к поиску

Способ 1

vi /etc/fstab
-------------------------------
tmpfs  /mnt/ramdisk    tmpfs   nodev,nosuid,noexec,nodiratime,size=8196M       0 0
-------------------------------

Способ 2

# в grub.conf добавить параметр ядра
vi /boot/grub/grub.conf
-------------------------------
kernel ... ramdisk_size=4194304   # размер указывается в KiB
-------------------------------

# создание файловой системы на /dev/ram0
/sbin/mke2fs -q -m 0 /dev/ram0

# монтирование
/bin/mount -o noatime,nodiratime /dev/ram0 /mnt/ramdisk

# назначение прав
/bin/chown user:group /mnt/ramdisk
/bin/chmod 0770 /mnt/ramdisk

Файлы устройств /dev/ram<N> обычно определены по умолчанию. Они не занимают место в RAM, пока в них не записаны данные. Место выделяется по мере записи данных, а размер диска это лишь верхний предел. Пустой отформатированный и смонтированный диск будет занимать в памяти минимальный объем, необходимый для структур файловой системы.

grep DEV_RAM /boot/config-$(uname -r)
CONFIG_BLK_DEV_RAM=y            # y - драйвер ram диска встроен в ядро (rhel), m - загружается в виде модуля (debian)
CONFIG_BLK_DEV_RAM_COUNT=16     # количество файлов устройств
CONFIG_BLK_DEV_RAM_SIZE=16384   # размер в KiB

# файлы /boot/config-* нельзя править вручную, они создаются при генерации конфигурации grub
# для изменения, необходимо смотреть параметры и файлы параметров генератора конфигурации grub
# размер дисков памяти может быть переопределен параметром ядра ramdisk_size
# если нужно создать несколько дисков памяти разного размера, то размер можно задать при форматировании, но в пределах заданного лимита