无法在 Windows 故障转移群集中运行的文件服务器规则上装载 NFS 共享

无法在 Windows 故障转移群集中运行的文件服务器规则上装载 NFS 共享

在 Microsoft Windows 故障转移群集(Windows Server 2019 Datacenter)上,我创建了一个文件服务器角色并创建了一个NFS 共享(类似于这些说明)。我的想法是从运行 Linux(Ubuntu)的虚拟机安装此共享

问题是 Linux(Ubuntu)在尝试挂载此共享时超时:

admin@ubuntu-server:/mnt$ sudo mount -o nolock -v -t nfs 192.168.1.16:/nfs /mnt/nfs/
[sudo] password for admin:
mount.nfs: timeout set for Fri Jul  1 08:22:43 2022
mount.nfs: trying text-based options 'nolock,vers=4.2,addr=192.168.1.16,clientaddr=192.168.1.74'
mount.nfs: mount(2): Connection timed out
mount.nfs: Connection timed out

进一步检查发现,该文件服务器没有监听 2049/tcp 端口:

admin@ubuntu-server:/mnt$ sudo nmap 192.168.1.16
Starting Nmap 7.80 ( https://nmap.org ) at 2022-07-01 07:12 UTC
Nmap scan report for 192.168.1.16
Host is up (0.00037s latency).
Not shown: 995 filtered ports
PORT     STATE SERVICE
111/tcp  open  rpcbind
135/tcp  open  msrpc
445/tcp  open  microsoft-ds
2179/tcp open  vmrdp
3389/tcp open  ms-wbt-server
MAC Address: A0:36:9F:34:39:26 (Intel Corporate)

Nmap done: 1 IP address (1 host up) scanned in 4.91 seconds

下一步是尝试验证 Linux 是否真的可以在 Windows 系统上挂载和创建 NFS 类型的共享。因此,在同一台 Windows Server 上,我在本地磁盘上创建了文件夹,并通过激活NTF共享选项(在文件夹属性中)。

Linux(Ubuntu)能够毫无问题地挂载此共享:

admin@ubuntu-server:/mnt$ sudo mount -o nolock -v -t nfs 192.168.1.11:/test2 /mnt/test2/
mount.nfs: timeout set for Fri Jul  1 07:11:58 2022
mount.nfs: trying text-based options 'nolock,vers=4.2,addr=192.168.1.11,clientaddr=192.168.1.74'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'nolock,vers=4.1,addr=192.168.1.11,clientaddr=192.168.1.74'

admin@ubuntu-server:/mnt$ ll test2/
total 5
drwxrwxrwx 2 nobody 4294967294   64 Jun 15 13:02 ./
drwxr-xr-x 3 root   root       4096 Jul  1 07:08 ../
-rwxrwxrwx 1 nobody 4294967294   11 Jun 15 13:03 README.txt*

因此我检查了服务器的 IP 是否有开放端口,结果显示端口 2049/tcp开放:

admin@ubuntu-server:/mnt$ sudo nmap 192.168.1.11
Starting Nmap 7.80 ( https://nmap.org ) at 2022-07-01 07:12 UTC
Nmap scan report for windows-server.our-domain (192.168.1.11)
Host is up (0.00047s latency).
Not shown: 993 filtered ports
PORT     STATE SERVICE
111/tcp  open  rpcbind
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
2049/tcp open  nfs             <---------- PORT IS OPEN
2179/tcp open  vmrdp
3389/tcp open  ms-wbt-server
MAC Address: A0:36:9F:34:39:26 (Intel Corporate)

Nmap done: 1 IP address (1 host up) scanned in 4.42 seconds

我比较了两个共享的配置方式,除以下内容外,配置完全相同:

  • 一个在故障转移群集中运行,另一个直接在 Windows 上运行
  • 一个使用本地文件夹,另一个使用集群存储中的磁盘
  • 集群文件服务器有自己的 IP 地址,而 Windows 中的 NFS 共享可通过操作系统的 IP 地址访问

现在我几乎没得选择了。有人能帮忙吗?

以下是有关我的系统的更多信息:

  • 故障转移群集正在 Windows Server 2019 Datacenter 上运行
  • 集群使用光纤通道连接的存储
  • 我们正在使用 Ubuntu Server 20.04

答案1

我们已成功通过使用 CIFS/SMB 代替 NFS 解决了此问题:

  • 在 Windows 集群中,我们配置文件服务器角色以使用 Samba(而不是 NFS)
  • 在我们的 Ubuntu 机器上,我们安装了使用的 CIFS 来安装卷

PS 这个的目标是锻炼不再使用虚拟机中的 Ubuntu 作为 Docker Swarm 容器的 NFS 服务器,而是使用 Windows 集群的文件服务器角色来代替。这样就无需为此角色运行整个虚拟机,并使系统管理变得更加容易。

相关内容