我有一个 nas 开启了 nfs 共享( 192.168.1.100:/volume1/share ),我需要让我的另外一台 debian11 虚拟机(192.168.1.101)开机的时候自动挂载。 于是我在 /etc/fstab 里添加了行 192.168.1.100:/volume1/share /data nfs defaults 0 0 但是重启后并没有挂载成功,看日志提示 mount.nfs: Network is unreachable 应该是网络还没准备好
请问下各位大佬需要怎么设置呢?通过 systemd 吗?
1
msg7086 2022-03-20 18:30:26 +08:00
|
2
youdoit 2022-03-20 18:31:37 +08:00
用脚本,设置 sleep 多久之后在挂载,这样就不会出现系统没有起来就先挂载了。
|
3
asdasdqqq OP @youdoit 我之前就是这么处理的,但是这个有一个问题
我需要 docker 挂载这个 nfs 。但是 docker 已经起来了,然后 nfs 才挂载成功,导致 docker 里面 link 的文件夹是未挂载的本地文件夹。 |
4
Lyrica 2022-03-20 19:07:52 +08:00
defaults 改成 defaults,_netdev
|
5
asdasdqqq OP @msg7086 谢谢,参考了你的连接还有其他一些地址,目前 fstab 的配置是
192.168.1.100:/volume1/share /data nfs x-systemd.automount,x-systemd.after=network-online.target 0 0 也就是挂载参数由 defaults 变为 x-systemd.automount,x-systemd.after=network-online.target 目前是可以的,也是我自己测试过的,不知道还有没有其他正确的方案(较官方的) |
7
lithiumii 2022-03-20 19:31:34 +08:00 via Android
修改 systemd 让 docker 在指定的
|
9
corvofeng 2022-03-20 19:36:15 +08:00
|
11
Chowe 2022-03-20 21:48:08 +08:00 via iPhone
刚好处理过一个又一丢丢类似的,我的做法是写个 systemd 的 service ,等网络启动之后再去执行。
|
12
hxsf 2022-03-20 22:22:14 +08:00
systemd-mount 了解下? 然后 docker.service 依赖这个 mount
|
13
defunct9 2022-03-20 22:53:23 +08:00 via iPhone
开 ssh ,让我上去试试
|
14
wzaqqq 2022-03-21 09:35:08 +08:00
```bash
172.16.0.2:/share /share nfs vers=3,nolock,noacl,proto=tcp,noresvport,_netdev 0 0 ``` |
15
yanqiyu 2022-03-21 11:59:08 +08:00
remote-fs.target 的时机和 network-online.target 的时机应该是 systemd 会处理好的,是不是你的网络管理器的 online 检测服务没 enable
|
16
yanqiyu 2022-03-21 11:59:54 +08:00
@asdasdqqq 这种情况下给 docker 的 service 一个 RequiresMountsFor=/path/to/mount/point 的属性就行
|
17
asdasdqqq OP @yanqiyu 谢谢,是这个位置不 /lib/systemd/system/docker.service ,[unit]部分添加一行
|
19
jxr111 2022-03-22 07:06:16 +08:00 via Android 1
可以使用 autofs 服务来代替 fstab 配置文件挂载网络存储,fstab 挂载不稳定
|