Centos7下搭建NFS服务器与连接详解
at 3年前 ca Linux pv 507 by touch
一,环境介绍
本实验使用了两台centos7虚拟机,其中
服务器:192.168.1.188
客户端:192.168.1.189
二,实验步骤
192.168.1.188上执行(服务器端)
1,使用 yum -y install nfs-utils 因为centos7自带了rpcbind,所以不用安装rpc服务,rpc监听在111端口,可以使用 ss -tnulp | grep 111查看rpc服务是否自动启动,如果没有启动,就systemctl start rpcbind 启动rpc服务。rpc在nfs服务器搭建过程中至关重要,因为rpc能够获得nfs服务器端的端口号等信息,nfs服务器端通过rpc获得这些信息后才能连接nfs服务器端。
2,使用 rpm -qa nfs-utils 查看是否安装成功
3,编辑/etc/exports ,添加以下内容
/data 192.168.1.0/24(rw,async,no_root_squash)
4,启动nfs服务,systemctl start nfs ,用 exportfs 不用重启nfs服务,使改动立刻生效
sudo exportfs -arv
,启动后 使用rpcinfo -p 192.168.1.188 查看,如图所示
5,使用showmount -e localhost
6 ,创建/data目录添加文件,更改权限(很重要!!!!!)
mkdir /data touch /data/1.txt echo "hello nfs" >> /data/1.txt chown -R nfsnobody.nfsnobody /data
在192.168.1.189上执行(客户端)
1,yum -y install nfs-utils (客户端上不需要启动nfs服务,只是为了使用showmount工具)
2,检测rpc是否启动,
3,使用showmount -e 192.168.1.188查看
4,挂载至本地/mnt目录
mount -t nfs 192.168.1.188:/data /mnt
1.txt可读写 。nfs挂载完成。
接下来在服务器端执行
systemctl enable nfs-server.service systemctl enable rpcbind
让nfs,rpcbind开机自动启动,实验完成。
5,开机自动挂载
如果按本文上面的部分配置好,NFS即部署好了,但是如果你重启客户端系统,发现不能随机器一起挂载,需要再次手动操作挂载,这样操作比较麻烦,因此我们需要设置开机自动挂载。我们不要把挂载项写到/etc/fstab文件中,因为开机时先挂载本机磁盘再启动网络,而NFS是需要网络启动后才能挂载的,所以我们把挂载命令写入到/etc/rc.d/rc.local文件中即可。
因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权
chmod +x /etc/rc.d/rc.local
编写自动启动脚本
vim /usr/local/sbin/nfsboot.sh
脚本内容:
#! /bin/bash ## This is nfs自启动 shell script. date mount -t nfs 192.168.56.10:/home/vagrant/upload /home/vagrant/upload11 echo "nfs自启动 success!!"
给脚本赋可执行权限
chmod +x /usr/local/sbin/nfsboot.sh
打开/etc/rc.d/rc.local文件,在末尾增加如下内容
/usr/local/sbin/nfsboot.sh
保存并重启机器看看。
测试验证
查看挂载结果,在客户端输入 df -h
[vagrant@vagrant2 ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 237M 0 237M 0% /dev tmpfs 244M 0 244M 0% /dev/shm tmpfs 244M 4.5M 240M 2% /run tmpfs 244M 0 244M 0% /sys/fs/cgroup /dev/sda1 40G 3.0G 38G 8% / tmpfs 49M 0 49M 0% /run/user/1000 192.168.56.10:/home/vagrant/upload 40G 12G 29G 29% /home/vagrant/upload13
看到最后一行了没,说明已经挂载成功了。接下来就可以在客户端上进入目录/mnt/share下,新建/删除文件,然后在服务端的目录/data/share查看是不是有效果了,同样反过来在服务端操作在客户端对应的目录下看效果。
版权声明
本文仅代表作者观点,不代表码农殇立场。
本文系作者授权码农殇发表,未经许可,不得转载。