NAS(Network Attached Storage:网络附属存储)
按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络储存器”。
概述
NFS是一种基于TCP/IP 传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源
NAS存储: NFS服务的实现依赖于RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。 在Centos 7系统中,需要安装nfs-utils、 rpcbind 软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。
手动加载NFS共享服务时,应该先启动rpcbind, 再启动nfs。 nfs端口:2049 RPC端口:111 2.
特点 采用TCP/IP传输网络文件 安全性低 简单易操作 适合局域网环境
- 1. 首先服务器端启动RPC服务,并开启111端口
- 2. 服务器端启动NFS服务,并向RPC注册端口信息 搭建NFS服务端
- 3. 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
- 4. 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
- 5. 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输
当我们在NFS服务器设置好一个共享目录/opt后,其他的有权访问NFS服务器的NFS客户端就可以将这个目录挂 载到自己文件系统的某个挂载点,这个挂载点可以自己定义,如上图客户端A与客户端B挂载的目录就不相同。 并且挂载好后我们在本地能够看到服务端/opt的所有数据
NFS部署常用命令
exportfs -v //查看详细的nfs信息
exportfs -r //重读配置文件
showmount -e //查看本机发布的NFS共享目录
showmount -e +IP //查看IP地址发布的NFS共享目录
mount -t nfs 192.168.48.6:/opt /mnt //将NFS服务端192.168.48.6下的/opt挂载到/mnt下
rpcinfo -p localhost //查看rpc注册的端口信息
服务端配置
1.检查并安装软件
rpm -q rpcbind nfs-utils
yum install -y rpcbind nfs-utils
2.创建共享目录
vim /etc/exports //NFS的配置文件,默认文件内容为空(无任何共享)
/opt 192.168.48.0/24(insecure,rw,sync,no_root_squash)
//设置/opt为共享目录,允许192.168.48.0网段的IP地址主机访问
3.启动服务
systemctl start rpcbind //一定要先开启rpcbind服务
systemctl start nfs //如服务已启动,更改完配置信息后需要重启服务
Exports文件中可以设定的参数主要有以下这些:
(1) Ro 该主机对该共享目录有只读权限
(2) Rw 该主机对该共享目录有读写权限
(3) Root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
(4) No_root_squash 客户机用root访问该共享文件夹时,不映射root用户
(5) All_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
(6) Anonuid 将客户机上的用户映射成指定的本地用户ID的用户
(7) Anongid 将客户机上的用户映射成属于指定的本地用户组ID
(8) Sync 资料同步写入到内存与硬盘中
(9) Async 资料会先暂存于内存中,而非直接写入硬盘
(10) Insecure 允许从这台机器过来的非授权访问
(11) subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
(12) no_subtree_check 和上面相对,不检查父目录权限
(13) wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
(14 )no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
(15) hide 在NFS共享目录中不共享其子目录
(16) no_hide 共享NFS目录的子目录
(17) secure NFS通过1024以下的安全TCP/IP端口发送
(18) insecure NFS通过1024以上的端口发送
修改export文件后需要执行 exportfs -r //重读配置文件
查看服务的的共享目录及网段
[root@b2-150-cobbler /etc] #showmount -e
Export list for b2-150-cobbler:
/data/nfs *
查看服务的的nfs详细信息
[root@b2-150-cobbler /etc]
#exportfs -v
/data/nfs <world>(rw,async,wdelay,hide,no_subtree_check,sec=sys,insecure,no_root_squash,no_all_squash
客户端配置
1.检查并安装软件
rpm -q rpcbind nfs-utils
yum install -y rpcbind nfs-utils
systemctl start rpcbind
systemctl start nfs
2.将共享目录挂载到本地
showmount -e ip
mount -t nfs ip:目录 /客户端本机挂载的目录