mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
c06d5fe28e
Add two new fixed activation services for startup: lvm-activate-vgs-main and lvm-activate-vgs-last. The -main service runs early, without service dependencies. The -last service runs later, after other services have started (other services that may set up devices for PVs, like mulitpathd.) The lvm-activate-vgs services both run "vgchange -aay" to activate all VGs that are preset and complete at the time of system startup. When there are many VGs, these two vgchange commands will replace many per-VG vgchange commands. The last service enables event activation by creating the file /run/lvm/event-activation-on. After that, new devices that appear will be processed by event based autoactivation commands. Prior to the existence of the event-activation-on file, event-based commands do nothing. lvm.conf event_activation_options can be used to configure service-based activation only, or event-based activation only, or the approach described above which begins with service based activation and then switches to event-based. service_only: only the -main and -last services will activate VGs. VGs on devices that appear later will not be autoactivated. event_only: the -main and -last services will not activate any VGs, and all VGs will be activated from per-VG event-based activation commands. service_to_event: the -main and -last services will activate VGs that are complete at the time the services run, and VGs that appear later will be activated from per-VG event-based activation commands.
23 lines
774 B
SYSTEMD
23 lines
774 B
SYSTEMD
[Unit]
|
|
Description=Activate LVM Volume Groups (last)
|
|
Documentation=man:vgchange(8)
|
|
Wants=systemd-udev-settle.service
|
|
After=lvm-activate-vgs-main.service systemd-udev-settle.service multipathd.service cryptsetup.target
|
|
Before=local-fs-pre.target shutdown.target
|
|
DefaultDependencies=no
|
|
Conflicts=shutdown.target
|
|
|
|
# "--eventactivation service" tells vgchange it is being called
|
|
# from an activation service, so it will do nothing if
|
|
# lvm.conf event_activation_options = "event_only".
|
|
# "--eventactivation on" tells vgchange to enable event-based
|
|
# pvscan activations by creating /run/lvm/event-activation-on.
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=@SBINDIR@/lvm vgchange -aay --nohints --vgonline --eventactivation service,on
|
|
RemainAfterExit=yes
|
|
|
|
[Install]
|
|
WantedBy=sysinit.target
|