Сервис LVM2 - «Masked» в Debian

Поместите файл в /etc/rc.d/init.d; Скрипт будет выполнен при следующей перезагрузке.

2
22.02.2019, 21:18
3 ответа

Если у вас есть дистрибутив без Systemd (, например :старый Debian или свежий Devuan ), попробуйте это:

/etc/init.d/lvm2 start

Для всех других стандартных случаев (например :последний Debian )проверьте другие ответы, чтобы узнать, почему вам не следует пытаться запустить эту службу.

1
20.08.2021, 11:12

Краткий ответ :все в порядке.

/lib/systemd/system/lvm2.serviceсоздается как символическая ссылка на /dev/nullпакетом lvm2Debian, в результате чего служба постоянно маскируется, потому что задание сценария SysVinit -в стиле /etc/init.d/lvm2запуска -на самом деле разделен на несколько исходных systemdединиц.

Однако

lvm2.serviceдолжен существовать, поскольку в противном случае логика совместимости SysVinit автоматически создала бы модуль systemd, который просто запускал бы этот сценарий. Посколькуsystemd-родной /lib/systemd/system/lvm2.serviceсуществует, этого не произойдет -, но поскольку вся фактическая работа выполняется экземплярами lvm2-pvscan@.serviceи lvm2-monitor.service, единственная задача модуля lvm2.service— маскировать из избыточного сценария запуска в стиле SysVinit -.

Кроме того, вы правы в том, что LVM можно использовать на системном диске Debian, если /bootпомещен в традиционный не -раздел LVM, который системная прошивка может понять -, поскольку GRUB использует службы системной прошивки для доступа к файлам из этой файловой системы.

(Да, современные версии GRUB включают возможность чтения файловых систем на LVM. Версия GRUB для Debian 9 даже включает модуль lvm.modGRUB. Но проблема в основном в том, что установщик Debian еще не может надежно установить его -или не мог во время выпуска Debian 9. Я предполагаю, что это, вероятно, в основном для того, чтобы заставить установщика «понимать» новые возможности при наличии /bootвнутри LVM и заставить его предупреждать пользователя о конфигурациях, которые не будут работать.)

5
20.08.2021, 11:12

Если вы застряли на unit lvm2.service is maskedи хотите любой ценой запустить эту устаревшую службу, вы можете попробовать проверить, является ли ваша служба символической ссылкой на/dev/null:

ls -l /lib/systemd/system/lvm2.service

(Вы должны увидеть lvm2.service -> /dev/null)

В таком случае просто удалите этот фиктивный сервис:

rm /lib/systemd/system/lvm2.service

И вы сможете снова начать службу:

systemctl start lvm2

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

-1
20.08.2021, 11:12

Теги

Похожие вопросы