我们有两台运行 docker + kubernetes 的 ubuntu 机器,它们需要访问 Windows 共享。
第一个是在 /etc/fstab 中设置的:
//dfs/Archive01 /mnt/dfs cifs rw,cred=/etc/cifspasswd,forceuid,forcegid 0 1
它可以工作,在执行 mount -a 之后,我们可以进入目录。
但是在机器 2 上执行相同的配置时,我们在尝试挂载时会遇到可怕的“没有到主机的路由”错误。
ping dfs
返回一个IP地址,这样就可以了。
ip -4 addr show 在正在工作的机器上显示:
- ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 altname enp3s0 inet 10.203.32.80/24 brd 10.203.32.255 scope global ens160 valid_lft forever preferred_lft forever
- docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default inet 10.200.200.20/24 scope global docker0 valid_lft forever preferred_lft forever
- vxlan.calico: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default inet 10.244.255.192/32 scope global vxlan.calico valid_lft forever preferred_lft forever
在失败的机器上 ip -4 a 说:
- ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 altname enp3s0 inet 10.203.32.81/24 brd 10.203.32.255 scope global ens160 valid_lft forever preferred_lft forever
- docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default inet 10.200.200.21/24 brd 10.200.200.255 scope global docker0 valid_lft forever preferred_lft forever
- vxlan.calico: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default inet 10.244.161.0/32 scope global vxlan.calico valid_lft forever preferred_lft forever
dmesg 说:
CIFS:无法确定目标地址
不知道为什么它在第 2 次失败并在第 1 次工作。感觉它与印花布网络有关,但不确定如何调试。
任何人都知道如何解决这个问题或至少在哪里检查?
找到了解决方案。
忘记在第二台机器上安装 cifs-utils 和 keyutils。
所以只是做
解决它