阿国运维网技术分享平台:桌面运维、网络运维、系统运维、服务器运维(及云服务器),精品软件分享、阿国网络、尽在北京运维网
要在内网中搭建 NFS 共享服务,把文件存储服务器的存储共享给内网的机器,可以按照下面的步骤。
为后面方面起见,文件存储服务器我们定名为nas,内网机器我们定名为node01。
1. 在 nas(NFS 服务器端)设置共享目录
1.1 安装 NFS 服务
在 nas上安装 NFS 服务,运行以下命令:
sudo apt update
sudo apt install nfs-kernel-server
1.2 创建共享目录
sudo mkdir -p /srv/nfs/shared
sudo chmod 755 /srv/nfs/shared
sudo chown nobody:nogroup /srv/nfs/shared
1.3 配置 NFS 共享
编辑 /etc/exports 文件,添加共享目录及其权限设置。例如,允许内网 192.168.0.0/24 子网访问共享目录:
sudo vi /etc/exports
# 下面是编辑/etc/exports里的内容
/srv/nfs/shared 192.168.0.0/24(rw,sync,no_subtree_check)
# rw:允许读写。
# sync:同步写入到磁盘。
# no_subtree_check:禁用对子目录的检查,加快载入速度
1.4 应用配置
sudo exportfs -a
# sudo exportfs -rav
sudo systemctl restart nfs-kernel-server
# 允许开机启动
sudo systemctl enable nfs-kernel-server
1.5 防火墙配置(如需)
sudo ufw allow from 192.168.0.0/24 to any port nfs
sudo ufw allow from 192.168.0.0/24 to any port 111
sudo ufw enable
2. 在 NFS 客户端(node01)挂载共享目录
2.1 安装 NFS 客户端
在 node01上安装 NFS 客户端工具:
sudo apt update
sudo apt install nfs-common
2.2 挂载
sudo mkdir -p /mnt/nfs_shared
sudo mount <nas服务器IP>:/srv/nfs/shared /mnt/nfs_shared
# df -h
# 开机挂载
sudo vi /etc/fstab
# <nas服务器IP>:/srv/nfs/shared /mnt/nfs_shared nfs defaults 0 0
3. 提高访问速度(适合网线直连两台服务器)
可以用网线直连nas和node01的千兆/万兆网口,来提高访问速度。
NFS服务端(nas)和客户端(node01)的IP可改成直连网口的IP,下面介绍网口IP配置方法。
3.1 查看连接的网口名称
我们为NFS服务端(nas)和客户端(node01)分别配备了一张万兆网卡,并用光线进行了连接。
# 查看所有网口名称,在nas和node01分别执行下面命令查看所有网口
ip link show
# 显示结果如下
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 3c:ec:ef:9e:f6:c4 brd ff:ff:ff:ff:ff:ff
altname eno1
altname enp2s0f0
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 3c:ec:ef:9e:f6:c5 brd ff:ff:ff:ff:ff:ff
altname eno2
altname enp2s0f1
4: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 80:d4:a5:b8:06:4c brd ff:ff:ff:ff:ff:ff
altname enp194s0f0
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 80:d4:a5:b8:06:4d brd ff:ff:ff:ff:ff:ff
altname enp194s0f1
3.2 查看哪个光口插入了光纤
# 可以用ethtool命令查看网口是否为光口以及是否插入了光纤
# 以node01上执行为例
sudo ethtool eth3
# 输出结果如下
Supported ports: [ FIBRE ]
# FIBRE 代表是光口
Speed: 10000Mb/s
# 速度,万兆
Link detected: yes
# yes 代表插入了光纤
通过这一步我们知道了
- nas插入光纤的网口名称是enp2s0f0
- node01插入光纤的网口名称是eth3
3.3 配置光口的IP地址
你可以为它们分别配置IP地址。IP地址需要在同一网段,例如169.254.3.1 和169.254.3.2
# 通过ip a命令发现光口没有配备IP
ip a
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 80:d4:a5:b8:06:4d brd ff:ff:ff:ff:ff:ff
altname enp194s0f1
inet6 fe80::82d4:a5ff:feb8:64d/64 scope link
valid_lft forever preferred_lft forever
可已通过编辑/etc/netplan/目录下的配置文件来配置光口的IP地址,文件名可能是01-netcfg.yaml或50-cloud-init.yaml
例如我们对:
- nas服务器的enp2s0f0网口设置的IP为169.254.5.2
- node01服务器的eth3网口设置的IP为169.254.5.1
sudo vi /etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
eno1:
dhcp4: yes
dhcp6: yes # 启用DHCPv6
accept-ra: yes # 允许接收路由器广告
eno3:
addresses: [169.254.3.2/24]
enp2s0f0:
addresses: [169.254.5.2/24]
dhcp4: false
保存文件后,应用配置:
sudo netplan apply
检查能否互相访问
# 在 nas上ping node01的光口IP
ping 169.254.5.1
# 在 node01上ping nas的光口IP
ping 169.254.5.2
3.4 挂载
可参考2.2,先编辑/etc/exports 设置权限许可
/media/seqyuan/Elements 169.254.5.1(rw,sync,no_subtree_check)
sudo mount 169.254.5.1:/media/seqyuan/Elements /mnt/nas_Elements
这样在node01上就能高速使用nas服务器的存储了。
需要注意的是被挂载目录的格式,可以通过df -Th /media/seqyuan/Elements查询要被挂载的存储设备的格式,如果是exfat这种windows格式,可能会遇挂载到问题。





