我试图使标题尽可能有意义,但它看起来仍然很难看。
处所。
我们这里的大多数服务器都使用RHEL3-U8作为操作系统,不要问我为什么或建议升级,它不在今天的时间表上。这意味着使用的内核是2.4.21
我无法访问远程服务器,但我知道它是一个 netApp NAS 机架。
$> smbclient --version
Version 3.0.9-1.3E.9
Run Code Online (Sandbox Code Playgroud)
这是 /etc/fstab 行:
//NASHOSTNAME/share /mnt/mydir smbfs ro,uid=123,gid=123,workgroup=XXXX,credentials=/somefile 0 0
Run Code Online (Sandbox Code Playgroud)
这是以下mount
输出行
//NASHOSTNAME/share on /mnt/mydir type smbfs (0)
Run Code Online (Sandbox Code Playgroud)
症状。
我可以毫无问题地列出共享,甚至 cd 在那里。如果我尝试读取任何文件,就会出现问题:
$> cat /mnt/mydir/fileX.txt
cat: /mnt/mydir/fileX.txt: Input/output error
Run Code Online (Sandbox Code Playgroud)
在系统日志(/var/log/kernel
例如)中出现以下错误。
7 月 30 日 15:40:02 主机名内核:smb_errno:类 ERRHRD,来自命令 0x2 的代码 31 7 月 30 日 15:40:02 主机名内核:smb_errno:类 ERRHRD,来自命令 0x2 的代码 31 7 月 30 日 15:40:02 主机名内核:smb_open:fileX.txt 打开失败,结果=-5 7 月 30 日 15:40:02 主机名内核:smb_errno:类 ERRHRD,来自命令 0x2 …
网络连接 100% 正常,基准测试确认 LACP 功能齐全并接近 20 GBps 理论最大值。
systemd 没有检测到网络堆栈在关闭期间停止,并且等到为时已晚才卸载 NFS 共享,因此无法卸载它们,从而导致它无限期挂起,等待 NFS 服务器响应。
运行“systemctl stop network.service”后,network.target和network-online.target仍然被认为是活动的。
通过文件添加的 NFS 挂载/etc/fstab
将转换为*.mount
systemd 单元。这些单位自动取决于remote-fs.target
哪个取决于“network-online.target”。
从文档来看,network*.target似乎依赖于网络管理工具来检测网络是否启动等。这可以是NetworkManager
、systemd-nerworkd
或其他任何内容(但是什么?)。我认为我的问题可能就在这里,因为我们的快速启动模板似乎依赖于旧的初始化脚本来管理接口。我怀疑 systemd 是否可以与它交互以获知网络正在启动或关闭(尽管被用来停止网络堆栈systemctl stop network
)
我的第二个假设是,即使通过 ifcfg-* 文件使用 libteam/teamd …
我已经安装了 Windows Server 2012 并使用 Hyper-V 设置了一个 VM。我在地址为 10.0.0.20 的网卡之一上使用虚拟交换机设置了网络。我已经为 Ubuntu VM 10.0.0.20 分配了一个静态 IP,与虚拟交换机的 IP 相同。
我可以 ping 网络上的任何地址,甚至包括域(例如 Google)在内的公共地址。我已经设置了静态 nat,例如公共 ip 192.0.2.7 到 10.0.0.20。
例如,我可以通过 ssh 连接到 192.0.2.7,但是当我在 Windows 服务器中时,我无法通过 ssh 或 telnet 连接到 10.0.0.20。
我检查了 Windows 机器上的防火墙,它关闭了,我检查了 Ubuntu 机器上的防火墙,它关闭了。