последние ядра сделали модули электронного диска:
CONFIG_BLK_DEV_RAM=m
Который является модулем и где найти его.
Является загружаемым во время начальной загрузки от initramfs?
У меня был корень на программном обеспечении RAID1 с SSD и Электронным диском (/dev/ram1)
с записью главным образом на SSD.
CONFIG_BLK_DEV_RAM в исходном ядре является булевской переменной, теперь модуль?!?!
Какое-либо объяснение для этого изменения?
Спасибо
Модуль блочного виртуального диска называется brd
и может быть загружен следующим образом:
sudo modprobe brd rd_size=100000
где rd_size
- количество блоков. После этого шага у вас есть устройство /dev/ram0
, к которому вы можете подключить файловую систему:
sudo mkfs /dev/ram0
и смонтировать.
Еще один вариант для RAM-дисков — zram. Когда вы помещаете файл на zram RAM-диск, файл быстро сжимается во время передачи и прозрачно распаковывается во время извлечения. Это может быть полезно в обстоятельствах, когда в вашей системе недостаточно оперативной памяти, необходимой для вашего RAM-диска.
Вот как создать zram RAM-диск:
Создайте папку, к которой вы будете подключать свой RAM-диск:
sudo mkdir /tmp/ramdisk
Измените владельца этой папки, чтобы ваш пользователь имел полный доступ к RAM-диску, когда мы позже смонтируйте его:
sudo chown -R yourUserName:yourGroupName /tmp/ramdisk
Сделайте папку неизменяемой, чтобы случайно не заполнить раздел ОС данными, предназначенными для RAM-диска:
sudo chattr +i /tmp/ramdisk
Загрузите модуль zram:
sudo modprobe zram
Создайте RAM-диск объемом 1 ГБ:
sudo zramctl --find --size 1G
Приведенная выше команда выведет путь к устройству созданного вами RAM-диска. Скорее всего, это будет /dev/zram0
, и это то, что мы будем предполагать в будущем.
Отформатируйте RAM-диск в EXT4:
sudo mke2fs -t ext4 -O ^has_journal -L "zram device" /dev/zram0
Смонтируйте RAM-диск в созданную нами неизменяемую папку точки монтирования:
sudo mount /dev/zram0 /tmp/ramdisk
Теперь вы сможете перемещать файлы на RAM-диск и с него, расположенный по адресу /tmp. /ramdisk/
.
Если вы закончили играть с ним, размонтируйте его:
sudo umount /tmp/ramdisk/
Наконец, давайте уничтожим RAM-диск и освободим всю память, которую он использовал:
sudo zramctl --reset /dev/zram0
Если вы также хотите удалить папку / tmp/ramdisk
, сначала сделайте его изменяемым:
sudo chattr -i /tmp/ramdisk
Теперь вы можете удалить папку:
rm -rf /tmp/ramdisk