一.NFS的原理
- NFS(NetworkFileSystem),即网络文件系统,网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS。NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
- NFS是基于TCP/IP传输的网络文件系统协议。
- 通过使用NFS协议,NFS客户机可以像访问本地目录一样访问远程NFS服务器中共享资源。
- 对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法。
- NFS也是NAS存储设备必然支持的一种协议,NFS没有用户认证机制,而且数据在网上明文传输,所以安全性比较差,一般只能在局域网中使用。
二.NFS的应用场景
- 在企业集群架构的工作场景中,NFS网络文件系统一般被用来存储共享视频、图片等静态资源文件。
- NFS服务的实现依赖于RPC(remote process call,远端过程调用)机制,RPC在NFS的服务端和客户端充当中介,以完成远程到本地的映射过程。
- 在centos7中一般都已经安装好nfs-utils安装包(用于NFS共享的发布和访问),rpcbind安装包(用于RPC的支持)。
三.NFS共享存储的实验步骤
[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310656 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242624, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# yum install rpcbind -y
[root@localhost ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Nov 21 05:05:55 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=d21f8ff5-e854-45ba-80d3-e71120c2a39a / xfs defaults 0 0
UUID=2b4e9906-ddd7-4671-af27-9b8228598c7e /boot xfs defaults 0 0
UUID=b056da70-dbaa-4854-80df-d85283550e53 /home xfs defaults 0 0
UUID=41145f36-706f-4d1a-a7b2-bdf4402b55a2 swap swap defaults 0 0
/dev/sdb1 /mnt xfs defaults 0 0
[root@localhost ~]# mount -a
[root@localhost ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda2 xfs 10G 3.8G 6.3G 38% /
devtmpfs devtmpfs 474M 0 474M 0% /dev
tmpfs tmpfs 489M 0 489M 0% /dev/shm
tmpfs tmpfs 489M 7.1M 482M 2% /run
tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda3 xfs 5.0G 37M 5.0G 1% /home
/dev/sda1 xfs 3.0G 158M 2.9G 6% /boot
tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42
tmpfs tmpfs 98M 20K 98M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/sdb1 xfs 20G 33M 20G 1% /mnt
磁盘已经挂载,需要编辑nfs的配置文件/etc/exports,将挂载到/mnt的磁盘共享给客户机
vim /etc/exports
[root@localhost ~]# systemctl restart nfs 开启nfs服务
[root@localhost ~]# systemctl restart rpcbind 开启rpcbind
[root@localhost ~]# showmount -e 查询共享的资源
Export list for localhost.localdomain:
/mnt 192.168.179.0/24
在客户端挂载NFS共享目录