Centos使用搭建nfs

NFS

1.介绍

NFS 是Network File System的缩写,即网络文件系统。是一种使用于分散式文件系统的协定,功能是让客户端通过网络访问不同主机上磁盘里的数据,主要用在类Unix系统上实现文件共享的一种方法。

2.核心原理

NFS使用RPC,即远程过程调用 (Remote ProcedureCall) ,它能使客户端执行其他系统中的程序。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些依赖RPC的传输协议。可以简单理解RPC和NFS的关系:NFS是一个文件系统,而RPC负责信息的传输。

详细配置

1. 前期配置

关闭服务端和客户端的防火墙和selinux,这里的服务端指需要共享出去的存储服务器,客户端指其他的8个计算节点。

以下所有命令是在centos7环境下

1.1 关闭防火墙
systemctl stop firewalld
  • 1
1.2 把selinux设置为许可模式(或者关闭)
etenforce 0
  • 1

(如果想要禁用,需要更改配置文件,把SELINUX设置成disabled,重启生效)

2.服务端配置
2.1 安装需要的软件包(使用yum)
yum install -y rpc-bind nfs-utils
  • 1
2.2 创建想要共享的文件夹,例如 /datas
mkdir /datas
  • 1
2.3 把共享目录的权限设定为所有用户都可读可写权限
chmod -R 777 /datas
  • 1
2.4 修改NFS服务的主配置文件 /etc/exports
vim /etc/exports
#添加如下规则
/datas *(rw,sync)
  • 1
  • 2
  • 3

规则说明:/datas代表共享的文件,*代表所有主机都可以访问,rw指读和写的权限,sync表明使用同步方式。 
其他更为精确的可选配置如下:

<输出目录> 客户端(选项:访问权限,用户映射,其他] 
输出目录是指NFS系统中所定义的共享给客户端使用的文件系统 
客户端是定义网络中可以访问这个NFS共享目录的IP地址或网段或域名等 
客户端常用的指定方式 
指定ip地址的主机:192.168.100.1 
指定一个子网:192.168.100.0/24 也可以写成:192.168.100.0/255.255.255.0 
指定域名的主机:david.bsmart.cn 
指定域中的所有主机:*.bsmart.cn 
所有主机:* 
选项用来设置输出目录的访问权限、用户映射等。 
NFS主要有3类选项: 
设置输出目录只读:ro 
设置输出目录读写:rw 
用户映射选项 
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody); 
no_all_squash:与all_squash取反(默认设置); 
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置); 
no_root_squash:与rootsquash取反; 
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx); 
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx); 
其它选项 
secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置); 
insecure:允许客户端从大于1024的tcp/ip端口连接服务器; 
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性; 
async:将数据先保存在内存缓冲区中,必要时才写入磁盘; 
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置); 
no_wdelay:若有写操作则立即执行,应与sync配合使用; 
subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置); 
no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

2.5 开启NFS服务
systemctl start nfs
  • 1

至此服务端的nfs配置完毕,回想一下,我们主要做了:

  • 关闭防火墙和selinux
  • 将我们创建的目录/datas通过nfs主配置文件/etc/exports共享出去
  • 开启nfs服务

Ps:如果想共享服务器的某个硬盘,只需要将/datas目录使用mount命令挂载到该硬盘即可。 
查看硬盘和挂载情况的命令为:

df -h
  • 1

例如将硬盘设备/dev/sdd 挂载到/datas

mount /dev/sdd /datas
  • 1

接下来配置客户端

3.客户端配置
3.1 关闭防火墙和selinux

同上

3.2 安装NFS

同上

3.3 将服务端的共享目录挂载到本机的 /data-nfs目录上,我这里的ip是IB卡的的ip,没有IB驱动的可以直接使用内网ip,/data-nfs是我自定义的目录。
mount -t nfs 12.12.12.29:/datas /data-nfs
  • 1

至此,客户端配置完毕,访问/data-nfs目录就相当于访问服务端的/datas目录

ps:以上配置重启机器后会出问题,建议设置开机启动执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值