概述:NFS是一种基于TCP/IP传输的网络文件系统协议,最初由SUN公司开发。通过NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。NFS得到了如NAS等网络存储的设备极好支持。也是LVS共享存储的首选。
环境:CentOS 7.8 x64
一、安装
服务端安装nfs-utils、rcpbind软件包;
yum -y install nfs-utils rpcbind
二、通过nfs协议配置nas
1. 配置nfs协议:
# vi /etc/sysconfig/nfs
设置各种*port=...参数
2.配置nas
配置文件:/etc/exports
共享目录创建:
mkdir /var/nfs chmod 777 /var/nfs
本地NAS存储目录 192.168.1.0/24(授权访问客户端的地址段)(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)
vi /etc/exports
/var/nfs 192.168.1.0/24(rw,sync,no_root_squash,no_all_squash) /var/nfs 192.168.1.0/24(rw) *(sync,no_root_squash,no_all_squash)
#以上两种方式均可,整个192.168.1.0段的电脑均可连接,若针对单一电脑如下
/var/nfs 192.168.1.100(rw,sync,no_root_squash,no_all_squash)
重新加载NFS配置
exportfs -r
参数说明:
rw:可读写的权限
ro:只读的权限
anonuid:可以自行设定这个UID的值,这个UID必需要存在于你的/etc/passwd当中
anongid:同anonuid,但是变成groupID就是了
sync:资料同步写入到内存与硬盘当中
async:资料会先暂存于内存当中,而非直接写入硬盘
insecure:允许从这台机器过来的非授权访问
no_root_squash:登入NFS主机,使用该共享目录时相当于该目录的拥有者,如果是root的话,那么对于这个共享的目录来说,他就具有root的权限,这个参数『极不安全』,不建议使用
root_squash:登入NFS主机,使用该共享目录时相当于该目录的拥有者。但是如果是以root身份使用这个共享目录的时候,那么这个使用者(root)的权限将被压缩成为匿名使用者,即通常他的UID与GID都会变成nobody那个身份
all_squash:不论登入NFS的使用者身份为何,他的身份都会被压缩成为匿名使用者,通常也就是nobody
启动服务
systemctl start rpcbind
systemctl start nfs
设置开机启动
systemctl enable rpcbind
systemctl enable nfs
查看端口占用,以便开着防火墙的时候设置
# rpcinfo -p program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100005 1 udp 20048 mountd 100005 1 tcp 20048 mountd 100005 2 udp 20048 mountd 100005 2 tcp 20048 mountd 100005 3 udp 20048 mountd 100005 3 tcp 20048 mountd 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100227 3 tcp 2049 nfs_acl 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100227 3 udp 2049 nfs_acl 100021 1 udp 57483 nlockmgr 100021 3 udp 57483 nlockmgr 100021 4 udp 57483 nlockmgr 100021 1 tcp 36862 nlockmgr 100021 3 tcp 36862 nlockmgr 100021 4 tcp 36862 nlockmgr
查看本机共享目录
#showmount -e 192.168.1.13 Export list for 192.168.1.13: /var/nfs (everyone)
三、Linux客户端
安装必要环境
yum -y install nfs-utils showmount -e 192.168.1.13
单次手动挂载,创建目录,修改权限:
mkdir /mnt/data chmod 777 /mnt/data mount -t nfs 192.168.1.13:/var/nfs /mnt/data
卸载挂载:
umount /mnt/data
查看挂载:
#df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 898M 0 898M 0% /dev tmpfs 910M 0 910M 0% /dev/shm tmpfs 910M 9.6M 901M 2% /run tmpfs 910M 0 910M 0% /sys/fs/cgroup /dev/mapper/centos-root 47G 8.5G 39G 18% / /dev/sda1 1014M 150M 865M 15% /boot tmpfs 182M 0 182M 0% /run/user/0 192.168.1.13:/var/nfs 27G 2.4G 25G 9% /mnt/data
开机自动挂载
vi /etc/fstab
##尾行下面新增加一行写入
192.168.1.13:/var/nfs /mnt/data nfs defaults,_netdev 0 0
注:_netdev表示设备需要网络
四、Windows客户端
Windows下面默认没有mount,需要添加功能。
比如Windows 10:
设置->应用->程序和功能->启用或关闭Windows功能:勾选上NFS服务
然后打开CMD命令行窗口:
mount -t nfs 192.168.1.13:/var/nfs X:
卸载挂载:
umount X: