у нас есть машина 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-диске.
Разумеется,сначала поэкспериментируйте и будьте осторожны. Вы можете легко потерять все данные на жестком диске, если что-то пойдет не так.