Поместите файл в /etc/rc.d/init.d; Скрипт будет выполнен при следующей перезагрузке.
Если у вас есть дистрибутив без Systemd (, например :старый Debian или свежий Devuan ), попробуйте это:
/etc/init.d/lvm2 start
Для всех других стандартных случаев (например :последний Debian )проверьте другие ответы, чтобы узнать, почему вам не следует пытаться запустить эту службу.
Краткий ответ :все в порядке.
/lib/systemd/system/lvm2.service
создается как символическая ссылка на /dev/null
пакетом lvm2
Debian, в результате чего служба постоянно маскируется, потому что задание сценария 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.mod
GRUB. Но проблема в основном в том, что установщик Debian еще не может надежно установить его -или не мог во время выпуска Debian 9. Я предполагаю, что это, вероятно, в основном для того, чтобы заставить установщика «понимать» новые возможности при наличии /boot
внутри LVM и заставить его предупреждать пользователя о конфигурациях, которые не будут работать.)
Если вы застряли на 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
В любом случае проверьте другие ответы, чтобы узнать, почему эта служба отключена.