栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Centos7 离线 NFS 文件共享服务实现

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Centos7 离线 NFS 文件共享服务实现

好记忆不如烂笔头,能记下点东西,就记下点,有时间拿出来看看,也会发觉不一样的感受.   

目录

一.准备依赖包

二、服务端操作

1.安装rpm依赖包

2.设置开机启动

3. 防火墙设置

4.关闭selinux

5.配置NFS服务器并生效

6.启动并查看服务

 三、客户端操作

1.软件安装

2.查看共享目录

3.客户端挂载目录

4.检验是否成功

5.解除挂载

6.永久挂载

7.查看挂载

一.准备依赖包

要在离线状态下安装NFS,那么就需要将使用到的安装包提前下载下来,所需的安装包主要有:


依赖包名称如下:

httpd-2.4.6-97.el7.centos.5.x86_64.rpm,libnfsidmap-0.25-19.el7.x86_64.rpm,libtirpc-0.2.4-0.16.el7.x86_64.rpm,nfs4-acl-tools-0.3.3-21.el7.x86_64.rpm,nfs-utils-1.3.0-0.68.el7.2.x86_64.rpm,rpcbind-0.2.0-49.el7.x86_64.rpm

当然如果是在有网络的情况下,可以使用yum命令进行在线安装,安装命令如下:

yum -y install httpd libnfsidmap  libtirpc nfs4-acl-tools  nfs-utils  rpcbind 


不要问为什么搭个NFS要这么多依赖,这都是在实践过后,踩完坑,才得到的最终可行性包。

二、服务端操作

1.安装rpm依赖包

在安装包的所在位置,执行如下命令进行安装

rpm -Uvh *.rpm --nodeps --force

2.设置开机启动

使用如下命令进行NFS服务的开机启动

for i in rpcbind nfs;do systemctl enable $i; done

也可以单独使用如下命令实现
systemctl enable rpcbind 
systemctl enable nfs

3. 防火墙设置

NFS在启动之后,会占用固定 111和2049 端口,那么就需要在防火墙设置端口信息

#NFS的防火墙特别难搞,因为除了固定的port111、2049外,还有其他服务如rpc.mounted等开启的不固定的端口,这样对防火墙来说就比较麻烦了。为了解决这个问题,我们可以设置NFS服务的端口配置文件。修改/etc/sysconfig/nfs文件,将下列内容的注释去掉,如果没有则添加:

RQUOTAD_PORT=1001
LOCKD_TCPPORT=30001
LOCKD_UDPPORT=30002
MOUNTD_PORT=1002

#保存好后,将端口加入到防火墙允许策略中。执行:

firewall-cmd --zone=public --add-port=111/tcp --add-port=111/udp --add-port=2049/tcp --add-port=2049/udp --add-port=1001/tcp --add-port=1001/udp --add-port=1002/tcp --add-port=1002/udp --add-port=30001/tcp --add-port=30002/udp --permanent

重新加载防火墙
firewall-cmd --reload

还可以执行如下:
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd

查看防火墙设置
firewall-cmd --list-all

4.关闭selinux
# 临时关闭selinux:
setenforce 0

# 永久关闭selinux:
sed -i 's/=enforcring/=disabled/' /etc/selinux/config

5.配置NFS服务器并生效

NFS 的配置文件是 /etc/exports ,在配置文件中加入一行:

允许所有:
/home/files/ *(rw,sync,no_root_squash)  //所有应用服务器都可以访问该NFS文件服务器

指定IP段:
/home/files/ 192.128.202.0/24(rw,sync,no_root_squash)  //192.128.202.0-24服务器可以访问该NFS文件服务器

#这行代码的意思是把共享目录/home/share/共享给192.128.202.0这个客户端ip,后面括号里的内容是权限参数,其中:
#rw 表示设置目录可读写。
#sync 表示数据会同步写入到内存和硬盘中,相反 rsync 表示数据会先暂存于内存中,而非直接写入到硬盘中。
#no_root_squash NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。
#no_all_squash 不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都不会拥有匿名用户权限。

注意项:
#如果有多个共享目录配置,则使用多行,一行一个配置。保存好配置文件后,需要执行以下命令使配置立即生效:

exportfs -r 

exportfs[-aruv] 
参数 含义 
a 全部挂载(或卸载)/etc/exports档案内的设定 
r 重新挂载/etc/exports 里面的设定,也同步的更新/etc/exports和/var/lib/nfs/xtab里面的内容 
u 卸载某一目录 
v 在export的时候,将分享的目录显示到荧屏上 
#exportfs -rv//重新export一次 
#exportfs -au//全部卸载 

6.启动并查看服务

可以使用联合命令进行启动,也可以单独一个个启动,主要启动命令是:

systemctl start rpcbind nfs-utils  
或者使用命令:
systemctl start rpcbind.service nfs-server.service

执行完命令之后,可以查看运行状态,使用命令:
 

systemctl status rpcbind nfs

如此证明已经安装成功了。

 三、客户端操作

1.软件安装

 在客户端,同样需要安装“准备依赖安装包”中的所有包,这样在客户端才会拥有NFS的能力,具体步骤参照服务端安装nfs 和rpcbind 操作。

2.查看共享目录

当nfs和rpcbind安装完成之后,使用如下命令查看NFS服务器共享的目录:

showmount -e nfs_server_ip //查看nfs服务端的可用挂载点

如果能看见: Export list for   xxx ,证明NFS服务器端已经正常共享了文件服务

3.客户端挂载目录

通过如下命令,实现挂载目录操作:

mount -t nfs nfs_server_ip:share_root_dict nfs_client_dict 
mount -t nfs NFS文件服务器:共享目录 客户端本地目录

例如:

mount -t nfs 192.168.18.100:/home/share  /home/share/ -o nolock,nfsvers=3,vers=3

4.检验是否成功

当实现完挂载之后,在客户端可以使用:cat 命令查看是否可以查看NFS服务器下的某个文件信息

例如:cat /home/share/test.txt

5.解除挂载

解除挂载只需要使用 umount 命令就行

umount /home/share/

如此就完成了NFS客户端文件目录的挂载操作。

6.永久挂载

由于每次开机都必须手动挂载以下,所以需要采用永久挂载的方式

1.编辑文件:
vim /etc/fstab



2.添加信息:
nfs_server_ip:share_root_dict nfs_client_dict  nfs     defaults,_netdev        0 0
NFS文件服务器:共享目录 客户端本地目录  nfs     defaults,_netdev        0 0

例如:
192.168.18.100:/home/share  /home/share/               nfs     defaults,_netdev        0 0

7.查看挂载

使用 df -h 命令进行挂载操作查看

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/859949.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号