/ 17浏览

使用Systemd挂载磁盘(踩坑记录)

博主这里的使用的是USB外挂的机械硬盘,通过硬盘盒链接。

使用systemd管理挂载的原因是Docker的根目录迁移到了这块硬盘上(注意,是根目录,不是容器挂载目录)

这里就直接贴出systemd的配置文件和使用方法了

[Unit]
Description=Mount Ext4 External Drive
Before=local-fs.target

[Mount]
What=/dev/sda1 #磁盘路径
Where=/mnt/sda #挂载目录
Type=ext4 #分区类型
Options=defaults,noatime #挂载参数
TimeoutSec=30 #挂载超时

[Install]
WantedBy=docker.socket #可以确保docker启动之前磁盘挂载完成

倘若不需要这层关系,可以将[install]字段改为

[Install]
WantedBy=multi-user.target

如果想要docker在挂载完成之后启动的话,docker.socketsystemd配置文件需要加入如下字段

Requires=mnt-sda.mount

效果如上图。

然后执行以下命令即可

systemctl daemon-reload
systemctl enable --now mnt-sda.mount

现在磁盘就可以实现开机挂载,并且作为docker启动的条件了

这里使用docker仅作为演示,实际用systemd启动的服务都可以这么玩

XZH