这是产品:https://www.qnap.com/en/product/ts-2477xu-rp、32GB Ram、AMD Ryzen 7 3700X 8 核。
我尝试通过 NFS 共享,但无济于事。几天前我重新安装了固件,因此目前使用“QTS 5.1.5.2679”版本。机器通过交换机连接如下:
┌─────────────┐
│192.168.7.100│ Head (Fedora Server 38)
└──────┬──────┘
│
┌──────▼──────┐
│192.168.7.90 │ Switch
└──────┬──────┘
│
┌──────▼──────┐
│192.168.7.80 │ NAS (TS-2477XU-RP)
└─────────────┘
NAS 无法访问互联网,它仅用于与“Head”机器共享文件。我可以轻松访问https://192.168.7.80/
QTS 管理员,或通过 SSH 从“Head”或使用“Head”作为代理进行访问。
体积
我有 10 * 20Tb Hdd 磁盘,位于存储池(145Tb,Raid 6)中,其中包含一个厚卷。
NFS
我启用了以下 NFS 共享https://docs.qnap.com/operating-system/qts/5.1.x/qts5.1.x-ug-en-us.pdf,第 440 页。目前我已在“控制面板 > 网络和文件服务 > Win/Mac/NFS/WebDAV > NFS 服务”中进行了如下配置:
- 启用 NFS 服务:勾选
- NFS 版本:NFSv2 和 NFSv3:选中。NFSv4:选中。NFSv4.1:取消选中。
- 高级选项:“使用固定 NFS 服务端口”、“启用 manage-gids”和“强制客户端 umask”,未选中任何内容。
在“控制面板 > 权限 > 共享文件夹”中的权限,选择“SharedFolder”:
特性:
- 文件夹名称:SharedFolder
- 路径:/SharedFolder
权限,“选择权限类型”设置为“NFS 主机访问”。
- 访问权限:已勾选
- 同步(wdelay):已选中
- 安全:未选中
允许的 IP 地址或域名:192.168.7.0/24,sys,读/写,禁止用户。
该服务似乎运行正常:
控制面板 > 系统 > 资源监视器 > 进程,显示有 6 个 NFS 服务正在运行(rpc.statd、rpc.rquotad、rpc.mountd、rpc.idmapd、portmap、nfsd_logd),以及大约 50 个 nfsd 进程。
用户
我在 Head 和 NAS 中都创建了一个用户,uid=1000,gid=1000,使用相同的用户名(xbello),在 NAS 中属于“Admins”组。
连接尝试
当我尝试从头部挂载 Nfs 时,结果如下。路径mnt/STORE
存在:
[HEAD] # mount -t nfs 192.168.7.80:/SharedFolder /mnt/STORE -v
mount.nfs: timeout set for Thu Mar 21 10:24:16 2024
mount.nfs: trying text-based options 'vers=4.2,addr=192.168.7.80,clientaddr=192.168.7.100'
mount.nfs: mount(2): Connection timed out
mount.nfs: Connection timed out for 192.168.7.80:/SharedFolder on /mnt/STORE
再次尝试使用 NFSv3:
[HEAD] # mount -t nfs 169.254.7.80:/SharedFolder /mnt/STORE -v -o nfsvers=3
mount.nfs: timeout set for Thu Mar 21 10:32:17 2024
mount.nfs: trying text-based options 'nfsvers=3,addr=192.168.7.80'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.7.80 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.7.80 prog 100005 vers 3 prot UDP port 42945
(...)
mount.nfs: mount(2): Connection timed out
mount.nfs: Connection timed out for 192.168.7.80:/SharedFolder on /mnt/STORE
我的调试尝试
我可以从 NAS 本身挂载 NFS 吗?
[NAS] $ sudo mount -t nfs 192.168.7.80:/SharedFolder /share/homes/xbello/tmp
能够挂载
SharedFolder
到tmp
。我可以看一下负责人的分享吗?
[HEAD] $ showmount -e 192.168.7.80 Export list for 192.168.7.80: /SharedFolder 192.168.7.0/24
NAS 的导出配置是什么?
[NAS] $ cat /etc/exports "/share/CACHEDEV1_DATA/SharedFolder" 192.168.7.0/24(sec=sys,rw,sync,wdelay,insecure,no_subtree_check,no_root_squash,fsid=a-long-hash) "/share/NFSv=4" *(no_subtree_check,no_root_squash,insecure,fsid=0) "/share/NFSv=4/SharedFolder" 192.168.7.0/24(sec=sys,rw,sync,wdelay,insecure,nohide,no_subtree_check,no_root_squash,fsid=another-long-hash)
也许 Selinux 正在做些什么?
[HEAD] # setenforce 0 [HEAD] # mount -t nfs 192.168.7.80:/SharedFolder /mnt/NAS -v (Eventually times out)
或者是否有防火墙阻止 NAS 上的 NFS?
[HEAD] # nmap -p- 192.168.7.80 Starting Nmap 7.93 ( https://nmap.org ) at 2024-03-21 10:34 CET Nmap scan report for 192.168.7.80 Host is up (0.00017s latency). Not shown: 65524 closed tcp ports (conn-refused) PORT STATE SERVICE 22/tcp open ssh 111/tcp open rpcbind 443/tcp open https 2049/tcp open nfs 8080/tcp open http-proxy 33217/tcp open unknown 44137/tcp open unknown 46785/tcp open unknown 49743/tcp open unknown 59099/tcp open unknown 60962/tcp open unknown Nmap done: 1 IP address (1 host up) scanned in 14.58 seconds
显然,端口 33217 及更高端口由 NFS 不同服务使用,并且会随着每次守护进程重启而发生变化。
如果我关闭 NAS 中的 NFS 服务会发生什么?
[NAS] $ sudo /etc/init.d/nfs stop Shutting down NFS services: OK [HEAD] # mount -t nfs 192.168.7.80:/SharedFolder /mnt/STORE -v -o nfsvers=3 mount.nfs: timeout set for Thu Mar 21 12:21:40 2024 mount.nfs: trying text-based options 'nfsvers=3,addr=192.168.7.80' mount.nfs: prog 100003, trying vers=3, prot=6 mount.nfs: portmap query retrying: RPC: Unable to receive mount.nfs: prog 100003, trying vers=3, prot=17 mount.nfs: portmap query failed: RPC: Unable to receive - Connection refused
解决方法
我非常愿意放弃 QNAS OS,并将其换成 TrueNAS,但正如您在产品链接中看到的那样,这台机器没有任何明显的方式来插入 USB 并从中启动(无法插入屏幕,我不知道它是否有 IPMI)。
我实际上可以通过 SSHFS 共享文件夹(这是我目前最好的选择),但另一个问题是这台 QNAP 机器只允许“管理员”组中的用户进行 SSH 访问。即使您修改了条目/etc/ssh/sshd_config
:
AllowUsers admin lower_user
lower_user
仍然无法通过 SSH 访问,除非她通过 QNAP 管理员被纳入“管理员”组。
谢谢。
[编辑] 根据要求,所有 IP 均已更改和编辑。