我喜欢创建一个 LVM 设备,其中物理卷是环回设备。
我读过很多文档和教程,比如这。不幸的是,所有这些都是基于丢失设置命令,该命令在下次重新启动时会丢失其配置。
我会使用 FSTAB 代替 RC.LOCAL (其中可能编写了lostup脚本)进行LVM设置,以便在某些服务启动之前让我的LVM运行,但我不知道如何在FSTAB中重现以下命令:“ losetup /dev/loop0 /opt/my-data-file-0" 等等...
我怎样才能做到这一点?
答案1
我找到了一个方便的方法来做到这一点:两个 SystemD 服务:
/mnt/systemd/system/loops-setup.service
[Unit]
Description=Setup loopback devices
DefaultDependencies=no
Conflicts=umount.target
Requires=lvm2-lvmetad.service mnt-host.mount
Before=local-fs.target umount.target
After=lvm2-lvmetad.service mnt-host.mount
[Service]
ExecStart=/sbin/losetup /dev/loop0 <LOOPBACK_FILE>
ExecStop=/sbin/losetup -d /dev/loop0
RemainAfterExit=yes
Type=oneshot
[Install]
WantedBy=local-fs-pre.target
/mnt/systemd/system/loops-fsck.service
[Unit]
Description=Loopback devices filesystem check
DefaultDependencies=no
Conflicts=umount.target
Requires=loops-setup.service
Before=local-fs.target umount.target mnt-loops-loop0.mount
After=loops-setup.service
[Service]
ExecStart=/sbin/fsck -pfv /dev/loop0
Type=oneshot
[Install]
WantedBy=local-fs-pre.target