RHEL 10 NFS 与 SMB:双 VM 文件服务实测
This content is not available in your language yet.
NFS 与 SMB 都能做文件共享,但 RHEL 上的配置入口、协议版本、权限语义不同。本页用两台 RHEL 10.2 VM:390 服务端,393 客户端,各做一遍。
| 角色 | 主机 | 服务 |
|---|---|---|
| NFS server | 390 192.168.2.232 | nfs-server,导出 /srv/nfs/share |
| SMB server | 390 | smb/nmb,Samba 4.23.5 |
| 客户端 | 393 192.168.2.235 | nfs-utils、cifs-utils |
E3 记录:plans/content-expansion/evidence/rhel/rhel-nfs-smb/run.json(5 步,含 export/mount/nfsstat/smbclient/cifs)。
NFS 服务端
Section titled “NFS 服务端”sudo dnf -y install nfs-utilssudo mkdir -p /srv/nfs/shareecho 'export test' | sudo tee /srv/nfs/share/hello.txtecho '/srv/nfs/share 192.168.2.0/24(rw,sync,no_root_squash)' | sudo tee /etc/exportssudo exportfs -ravsudo systemctl enable --now nfs-serversudo firewall-cmd --add-service=nfs --add-service=mountd --add-service=rpc-bind --permanentsudo firewall-cmd --reload$ sudo exportfs -v/srv/nfs/share 192.168.2.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)no_root_squash 让客户端 root 保持 root(实验方便,生产慎用)。
NFS 客户端
Section titled “NFS 客户端”sudo dnf -y install nfs-utilsshowmount -e 192.168.2.232sudo mkdir -p /mnt/nfssudo mount -t nfs 192.168.2.232:/srv/nfs/share /mnt/nfs$ cat /mnt/nfs/hello.txtexport test$ ls -l /mnt/nfs-rw-r--r--. 1 root root 12 ... client.txt$ sudo nfsstat -m/mnt/nfs from 192.168.2.232:/srv/nfs/share Flags: rw,relatime,vers=4.2,rsize=1048576,wsize=1048576, hard,fatal_neterrors=none,proto=tcp,timeo=600,retrans=2, sec=sys,clientaddr=192.168.2.235NFSv4.2、1MB rsize/wsize、TCP、hard mount;客户端写的 client.txt 属主 root,是 no_root_squash 的直接结果。
SMB 服务端
Section titled “SMB 服务端”sudo dnf -y install samba samba-client cifs-utilssudo mkdir -p /srv/smb/share && sudo chmod 777 /srv/smb/sharesudo tee -a /etc/samba/smb.conf <<'EOF'[share]path = /srv/smb/sharebrowseable = yeswritable = yesguest ok = novalid users = cloud-userEOFsudo smbpasswd -a cloud-usersudo systemctl enable --now smb nmbsudo firewall-cmd --add-service=samba --permanent && sudo firewall-cmd --reloadsmbpasswd 设置的是 Samba 独立密码,不是系统密码。
SMB 客户端
Section titled “SMB 客户端”sudo dnf -y install cifs-utils samba-clientsmbclient -L //192.168.2.232 -U cloud-usersudo mkdir -p /mnt/smbsudo mount -t cifs //192.168.2.232/share /mnt/smb \ -o username=cloud-user,password='***',vers=3.1.1$ smbclient -L //192.168.2.232 -U cloud-user share Disk IPC$ IPC IPC Service (Samba 4.23.5) cloud-user Disk Home DirectoriesSMB1 disabled -- no workgroup available$ df -h /mnt/smb//192.168.2.232/share 30G 19G 11G 64% /mnt/smb$ mount | grep cifs...vers=3.1.1,...rsize=4194304,wsize=4194304...| 项目 | NFS | SMB |
|---|---|---|
| 协议版本 | 4.2 | 3.1.1 |
| 默认 rsize/wsize | 1MB | 4MB |
| 认证 | sec=sys(UID/GID) | Samba 用户/密码 |
| 防火墙 | nfs/mountd/rpc-bind | samba |
| 典型用途 | Linux 间共享 | 跨平台/Windows |
- NFS 导出网段最小化;
- firewalld 放行对应服务;
- 客户端
nfsstat -m确认版本/rsize; - SMB 用
smbpasswd独立密码; - CIFS 用 credentials 文件而非明文;
- 生产禁用
no_root_squash。
未实测与边界
Section titled “未实测与边界”- 未测试 NFSv4.1/pNFS;
- 未测试 Kerberos(
sec=krb5); - 未测试 SMB 多用户/ACL;
- 未测试性能与并发。
- RHEL firewalld — 放行文件服务
- RHEL 10 XFS — 本地文件系统
- 官方:Configuring and using network file services