
Являются ли петлевые устройства в Linux, созданные с помощью losetup, постоянными? Похоже, это не мой случай. Всякий раз, когда я перезагружаю компьютер, я вижу, что петлевое устройство исчезло. Я использую его для создания петлевого файлового диска.
Как убедиться, что устройство обратной связи сохранено навсегда?
решение1
Нет, они не должны быть постоянными. Вы можете настроить скрипт, чтобы воссоздать их при загрузке.
Если вы собираетесь монтировать устройство loopback, то, вероятно, лучшей идеей будет поместить устройство в fstab
файл. Синтаксис такой:
/path/to/device /path/to/mountpoint filesystemtype options
В вашем случае это становится
/path/to/file /path/to/mountpoint filesystemtype loop
Обратите внимание, что устройство, на котором находится ваш файл, должно быть смонтировано до этого: в некоторых системах достаточно поместить строку файловой системы обратной связи после содержащей ее файловой системы, но в других системах это не сработает, поскольку устройства монтируются параллельно.
решение2
Невозможно добавить комментарий к ответу pqnet из-за системы репутации. Спасибо за предложение.
Я добавил это /etc/fstab
на один из моих серверов,
/path/to/file /path/to/mount ext4 loop 0 0
fstab
Затем автоматически монтируем всеmount -a
Теперь я могу использовать файл как файловую систему:
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/mnt/diskimg/data-u02.img 154818540 191944 153053732 1% /u02
@yaruncan,
Не знаю, какая у вас ОС, но одним из способов было бы поместить ваш скрипт на уровень выполнения, который запустится до того, что от него зависит, т. е. до того, что должно видеть устройство обратной связи.
решение3
Если вы хотите, чтобы ваше петлевое устройство было повторно смонтировано после перезагрузки, добавьте эту строку в rc.local. rc.local устарел, но сохранен для совместимости и по-прежнему работает в RHEL 8.
Сначала переключитесь на пользователя root и переместите файл loopback в /root.
выполните: vim /etc/rc.local
добавьте строку: losetup /dev/loop0 /root/<diskimage.iso> сохраните файл.
затем выполните: chmod +x /etc/rc.d/rc.local.
Перезагрузите компьютер, и ваш образ цикла должен быть смонтирован.