RAM disk + возможно ли монтировать в RAM вместо диска

RAM disk + возможно ли монтировать в RAM вместо диска

у нас есть машина Linux, которая использовала диск /dev/sdbдля сохранения данных, мы настроили точку монтирования в/etc/fstab

диск - это 100G, а точка монтирования - это папка/data

теперь мы хотим использовать память (которая у нас есть 256G) вместо диска

так можно ли использовать оперативную память 256Gвместо монтирования диска?

если да, то как смонтировать папку /dataв оперативную память

Что такое RAM-диск?

По сути, файловая система на основе RAM — это то, что создает хранилище в памяти, как если бы это был раздел на диске — это называется RAM-диск. Обратите внимание, что RAM является энергозависимой, и данные теряются при перезапуске системы или после сбоя. Самым важным преимуществом RAM-дисков является их скорость — даже более чем в 10 раз быстрее, чем SSD. Эти очень быстрые типы хранилищ идеально подходят для приложений, которым нужна скорость и быстрый доступ к кэшу. Повтор: данные, записанные в этом типе файла

решение1

Более или менее похоже на то, что вы сделали бы для /dev/sdb1.

Прежде всего отмонтируйте /dev/sdb1его (его можно смонтировать в другом месте).

umount /dev/sdb1

Вы можете создать еще один каталог и смонтировать диск туда:

mkdir /physical-data
mount /dev/sdb1 /physical-data ...(the other options you already have).

В /etc/fstab, переименуйте "/data" в "/physical-data". Теперь жесткий диск смонтирован как и прежде, но /dataсвободен для использования.

Итак, если /dataкаталог доступен в качестве точки монтирования, вы можете связать с ним экземпляр RAM tmpfs и создать там ramdisk, назвав его, например, «ramdisk1» (или как-то еще):

mount -t tmpfs -o size=100G ramdisk1 /data

Вы можете настроить fstab на автоматическое перемонтирование при загрузке:

ramdisk1  /data tmpfs nodev,nosuid,noexec,nodiratime,size=100G  0  0

Затем вы могли бы, например, настроить скрипт, который будет запускаться при загрузке, и который будет делать следующее:

rsync -a /physical-data/ /data/

предположим, что ваш /dev/sdb1 смонтирован на /physical-data, и скрипт, который будет запущен перед выключением, скопирует содержимое измененного RAM-диска обратно на/dev/sdb1

rsync -a --delete /data/ /physical-data/

Параметр «--delete» гарантирует, что если вы удалите файл с RAM-диска, он также будет впоследствии удален с жесткого диска.

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

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

Связанный контент