当前位置:首页 » 《关注互联网》 » 正文

Linux/centos上如何配置管理NFS服务器?

15 人参与  2024年04月28日 16:45  分类 : 《关注互联网》  评论

点击全文阅读


Linux/centos上如何配置管理NFS服务器?

1 NFS基础了解1.1 NFS概述1.2 NFS工作流程 2 安装和启动NFS服务2.1 安装NFS服务器2.2 启动NFS服务 3 配置NFS服务器和客户端3.1 配置NFS服务器3.2 配置NFS客户端 4 实际示例4.1 基本要求4.2 案例实现

1 NFS基础了解

NFS(Network File System)即文件操作系统;NFS允许网络中不同计算机相互之间共享资源。

1.1 NFS概述

1980年由SUN发展出来的在UNIX&Linux系统间实现文件共享的一种方法;是一种文件系统协议,支持应用程序在客户端通过网络存取位于服务器磁盘中的数据;NFS只提供网络文件共享,不提供数据传输功能;NFS客户端和服务端需借助RPC(Remote Procedure Calls)实现数据传输;NFS服务器目录被访问称为导出(export),客户机访问导出目录过程称为挂载(mount)或导入(import)。

1.2 NFS工作流程

第一步:访问NFS共享资源,NFS客户端发出询问请求,即客户端RPC服务通过网络向服务端RPC服务的111端口发出询问请求。

第二步: NFS服务端RPC找到对应已注册的NFSdaemon端口,通知客户端RPC;

第三步:NFS客户端获取端口,直接与NFSNFSdaemon联机存储数据。

第四步:NFS客户端吧数据存储成功后,告诉用户结果。

2 安装和启动NFS服务

2.1 安装NFS服务器

一般情况,系统均已安装NFS;先检查下是否安装NFS,以下两个是相关的依赖包:
rpm -qa | grep nfs-utilsrpm -qa | grep rpcbind
经检查是已经安装了的:
在这里插入图片描述如果系统没有安装NFS依赖包,则需要安装:
yum clean allyum -y install nfs-utils rpcbind

2.2 启动NFS服务

NFS状态查看:
systemctl status rpcbind.servicesystemctl status nfs.service 

在这里插入图片描述

启动NFS服务:
systemctl start rpcbind.servicesystemctl start nfs.service 
再次查看状态,都是启动的:
在这里插入图片描述停止NFS服务:
systemctl stop nfs.service
重启NFS服务:
systemctl restart nfs.service
设置开机自启动NFS服务:
systemctl enable rpcbind.service systemctl enable nfs.service

3 配置NFS服务器和客户端

3.1 配置NFS服务器

配置文件在/etc/exports;格式为:
共享目录 [客户端1(参数)] [客户端2(参数)] 

共享目录:NFS服务器需要共享的实际路径(绝对路径);
客户端:可以访问共享目录的计算机。

客户端常用形式:
客户端说明
192.168.1.111指定IP地址的主机
192.168.1.0/24指定子网的所有主机
192.168.1.*指定子网的所有主机
www.xxx.com指定域名的主机
*.xxx.com指定域中的所有主机
*所有主机

访问权限参数:访问权限设置。

常用访问权限:
访问权限说明
ro只读
rw读写

用户映射参数

用户映射参数表:
用户映射说明
all_squash将远程访问的所有用户映射为匿名用户或用户组(nfsnobody)
no_all_squash与上边相反(默认设置)
root_squash将root用户… (默认设置)
no_root_squash与上边相反
anonuid=xxx将该匿名账号为本地账号(UID=xxx
anongid=xxx将该匿名用户组为本地用户组(GID=xxx)

其它参数:对输出目录进行控制。

常用其它参数:
其它参数说明
secure限制客户端只能从小于1024的TCP/IP端口链接NFS
insecure语序客户端大于1024的TCP/IP端口连接NFS
sync将数据同步写入内存缓冲区与磁盘中
async将数据先保存在缓冲区中,必要时才写入磁盘
wdelay检查是否有相关的写操作
no_wdelay有写操作立即执行,与sync配合使用
subtree_check若输出目录为子目录,则NFS服务器将检查父目录的权限
no_subtree_check若输出目录为子目录,则NFS服务器不检查父目录的权限
比如将/mnt/temp目录,只给IP为172.16.1.33的计算机进行读写权限:
/mnt/temp 172.16.1.33 (rw, sync)
比如将/mnt/temp01目录,只给子网中为172.16.1.0/24的计算机进行读写权限,其他计算机制只读权限:
/mnt/temp0 172.16.1.0/24 (rw, async) * (ro)

3.2 配置NFS客户端

查看NFS服务器信息:
showmount [选项] (参数)

-d:仅显示已被NFS客户端加载的共享目录;
-e:显示NFS服务器上所有的共享目录。

showmount -e 192.168.0.190

在使用showmount时建议关闭防火墙,将SELinux设为为允许。

systemctl stop firewalld.servicesetenforce 0getenforce
挂在NFS服务器的共享目录:

将NFS的共享目录挂在到本地:
mount -t NFS服务器IP:输出目录 本地挂在目录

比如:
mkdir /mnt/mytempmount -t nfs 192.168.0.190:/mnt/mytemp /mnt/mytemp
卸载NFS服务器:
umount 挂载点
启动时自动挂在NFS共享目录:
192.168.0.190: /mnt/temp /mnt/mytemp nfs defaults 0 0

4 实际示例

4.1 基本要求

NFS服务器192.168.0.190; 要求1:共享目录/mnt/temp,允许192.168.0.0/24网段内计算机访问;要求2:共享目录/mnt/share, 允许用户zhang访问,IP为192.168.0.10;要求3:共享目录/mnt/upload,允许192.168.0.0/24网段作为上传目录,所属组为nfsupload,UID和GID均为666;要求4:共享目录/mnt/nfs,除192.168.0.0/24网段用户访问,只读,可向internet提供数据内容;

4.2 案例实现

安装NFS服务:
yum -y install rpcbindyum -y install nfs-utils
创建目录和测试文件:
# 创建目录:mkdir -p /mnt/tempmkdir -p /mnt/sharemkdir -p /mnt/uploadmkdir -p /mnt/nfs# 创建测试文件touch /mnt/temp/temp1.txt /mnt/temp/temp2.txt touch /mnt/share/data1.txt /mnt/share/data2.txttouch /mnt/upload/upload.txttouch /mnt/nfs/nfs1.txt /mnt/nfs/nfs2.txt

在这里插入图片描述
在这里插入图片描述

设置共享目录权限属性:
# 要求1:chmod 1777 /mnt/temp/ll -d /mnt/temp/

在这里插入图片描述

# 要求2:useradd zhangpasswd zhangcat /etc/passwd | grep zhangchmod 700 /mnt/share/chown -R zhang:zhang /mnt/share/ll -d /mnt/share/

在这里插入图片描述

# 要求3:groupadd -g 666 nfsuploaduseradd -g 666 -u 666 -M nfsuploadcat /etc/passwd | grep nfschown -R nfsupload:nfsupload /mnt/uploadll -d /mnt/upload/

在这里插入图片描述

# 要求4:ll -d /mnt/nfs/

在这里插入图片描述

编辑/etc/exports
/mnt/temp 192.168.0.0/24 (rw,no_root_squash)/mnt/share 192.168.0.10 (rw)/mnt/upload 192.168.0.0/24 (rw,all_squash,anonuid = 666,anongid = 666)/mnt/nfs 192.168.0.0/24 (ro) * (rw,all_squash)
关闭防火墙,设置Selinux为允许,重启NFS服务:
systemctl stop firewalld.servicesetenforce 0getenforcesystemctl restart nfs
NFS客户端安装客户端软件:
yum -y install nfs-utils
查看NFS服务器上共享的目录:
showmount -e 192.168.0.190

在这里插入图片描述

在客户机上创建目录,将NFS的目录挂在到该目录:
mkdir /mnt/ClientNFSmount -t nfs 192.168.0.190:/mnt/nfs/ /mnt/ClientNFS/
同样方法去挂载其他的NFS目录即可;并在客户机上创建组666:
groupaddd -g 666 nfsuploaduseradd -g 666 -u 666 -M nfsupload

以下内容请忽略哈~

var code = "b63aa6d3-45eb-4e38-a9db-4b391f9391f1"

点击全文阅读


本文链接:http://zhangshiyu.com/post/101591.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1