简介:
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
优点:
- 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
- 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
- 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。
实际操作:
1.给服务端添加一块硬盘,添加完成要重启系统。
2.先查看一下磁盘是否添加成功,然后对新添加磁盘进行分区,我们将全部空间分配到sdb1。(不会的小伙伴可以去看我之前写的关于磁盘的博客)
3.格式化磁盘分区。
输入:mkfs.xfs /dev/sdb1
4.设置自动挂载。
输入:vim /etc/fstab
添加:/dev/sdb1 /mnt xfs defaults 0 0
5.挂载磁盘分区,并查看是否挂载成功。
输入:mount -a
输入:df -hT
6.用yum仓库安装NFS服务的两个程序,nfs-utils、rpcbind。
输入:yum install nfs-utils rpcbind -y
7.设置两个服务程序的开机自启动。
输入:systemctl enable nfs
输入:systemctl enable rpcbind
8.用vim编辑器对共享配置文件进行编辑,添加一条共享命令。
输入:vim /etc/export
添加:/mnt 192.168.52.0/24(rw,sync,no_root_squash)
“/mnt”为提供共享的磁盘挂载点,“192.168.52.0/24”为共享的网段。括号里的是权限,rw表示允许读写(ro为只读),sync表示同步写, no_root_squash表示当前客户机以root身份访问时,赋予本地root权限(默认是root_squash,将作为nfsnobody用户降权对待)。
9.将两个服务开启,同时关闭防火墙和增强性安全功能。
输入:systemctl start nfs
输入:systemctl start rpcbind
输入:systemctl stop firewalld.service
输入:setenforce 0
10.检查一下服务端口是否开启了,并查看NFS服务的输出清单,NSF服务端已经配置完毕。
输入:netstat -ntap | grep rpc
输入:showmount -e
11.下面我们进入客户端,关闭防护墙和增强性安全功能,安装一个httpd服务,接下来我们将使用NFS服务提供的共享存储空间来存放httpd服务的相关文件。
输入:systemctl stop firewalld.service
输入:setenforce 0
输入:yum install httpd -y
12.我们可以手动将共享目录挂载到httpd服务的站点目录下面。
输入:mount 192.168.52.131:/mnt /var/www/html/
13.我们也可以设置自动挂载,我们先将之前挂载好的目录卸载,然后进入自动挂载文件里进行配置。
输入:umount /var/www/html
输入:vim /etc/fstab
添加:192.168.52.131:/mnt /var/www/html nfs defaults,_netdev 0 0
14.我们再将fstab文件里的所有内容挂载,然后查看是否挂载成功。
输入:mount -a
输入:df -hT
15.我们进入到httpd服务的站点目录下,在里面新建一个html首页文件,并用vim编辑器在里面编辑一段内容。
输入:cd /var/www/html
输入:vim index.html
添加:this is nfs web
16.开启httpd服务,同时用宿主机的浏览器去访问,访问成功。
输入:systemctl start httpd
17.我们去服务端的共享目录下查看,可以看到我们之前新建的html文件。
输入:cd /mnt/
输入:ls
注意:如果NFS服务端的共享服务出故障了,我们想解除客户端上挂载的共享目录时。用umount命令解挂载时路径需要手打,千万不要用[Tab]键补全,用[Tab]键会卡死。