2018.3.26 14周1次课

十四周一次课(3月26日)

14.1 NFS介绍

14.2 NFS服务端安装配置

14.3 NFS配置选项

14.1 NFS介绍

NFS是Network File System的缩写

NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本

NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。

NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致

NFS服务不监听端口,监听端口实现tcp/ip通讯服务的是RPC服务,,默认监听111端口。总之,NFS服务要借助RPC协议来进行通讯。

14.2 NFS服务端安装配置

在centos上是使用NFS服务需要安装两个包(nfs-utils和rpcbind),不过当使用yum工具安装nfs-utils时会一并安装rpcbind

在服务端192.168.37.101上安装nfs-utils:yum install -y nfs-utils

安装完nfs-utils包后,会自动打开监听111端口

服务端设置:

编辑vim /etc/exports加入如下内容

/home/nfstestdir 192.168.37.0/24(rw,sync,all_squash,anonuid=1002,anongid=1002)

共分为三部分:

  • 本地要共享出去的目录:/home/nfstestdir
  • 允许访问的主机(可以时一个ip,可以是一个ip段):192.168.37.0/24
  • 小括号里面的是一些权限选项

保存配置文件后,执行如下准备操作

mkdir /home/nfstestdir //创建nfstestdir共享目录

chmod 777 /home/nfstestdir //更改权限为777

systemctl start rpcbind //开启rpcbind服务

systemctl start nfs //开启nfs 服务,会自动启动跟rpc相关的服务,这些服务都是跟nfs相关联的。跟上图相比,多了几个rpc的服务

systemctl enable rpcbind //开机启动rpcbind

systemctl enable nfs //开机启动nfs

14.3 NFS配置选项

  • rw 读写
  • ro 只读
  • sync 同步模式,内存数据实时写入磁盘
  • async 非同步模式
  • no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大
  • root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户
  • all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户
  • anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid

客户端挂载nfs

在客户端192.168.37.100上安装nfs-utils:yum install -y nfs-utils

在客户端挂载nfs之前,我们需要先查看服务端共享了哪些目录,可以用showmount命令查看

showmount -e 192.168.37.101 //该ip为NFS服务端ip

报错,说明防火墙没有开启相应需要开启的端口,就算把111端口开启也没有用,要把服务端和客户端的防火墙都关掉

systemctl stop firewalld

getenforce

setenforce 0

可以看到192.168.37.101的共享目录为/home/nfstestdir,信任主机为192.168.37.0/24这个网段

也可以不关闭防火墙,在服务端可开启如下命令列出的所有端口即可

rpcinfo -p localhost

NFS v4内置远程挂装和文件锁定等协议支持,因此NFS v4不再需要与rpcbind、rpc.mount、rpc.statd和lockd互动。

但是,当NFS服务器使用exports命令时仍然需要rpc.mount守护进程,但不参与跨越线的操作。NFS v4的NFS服务

仍然监听tcp:2049端口。

NFS服务与防火墙

对于v4服务,仅开启对tcp:2049端口即可

firewall-cmd --add-service=nfs --permanent

firewall-cmd -reload

对于v3服务除了rpcbind、rpc.mount、rpc.nfsd之外,其与NFS相关的基于RPC的服务每次启动是其他端口号会随机

生成这为服务器配置防火墙的NFS规则带来困难,这就要设置/etc/sysconfig/nfs文件中的端口号,使强制NFS服务使用

固定端口

最后在配置防火墙

客户端挂载nfs

mount -t nfs 192.168.37.101:/home/nfstestdir /mnt

df -h

touch /mnt/aminglinux.txt //创建文件

ls -l /mnt/ //查看文件信息,属主和属组都是mysql,客户端是挂载服务端的/home/nfstestdir,所以其中uid和gid都是在服务端/etc/exports里设置的/home/nfstestdir/目录的权限:uid和gid都是1002,客户端机1002是mysql

ls -l /home/nfstestdir/ //在服务端查看共享目录,用户和属组都是aming,其中uid和gid都是在/etc/exports里设置的/home/nfstestdir/目录的权限:uid和gid都是1002,服务端机1002是aming

通过客户端ls -l /mnt/ 和服务端ls -l /home/nfstestdir/命令里看到的aminglinux.txt是同一文件

原文地址:http://blog.51cto.com/415326/2091362

时间: 2024-11-05 19:26:26

2018.3.26 14周1次课的相关文章

2018.02.26 9周4次课

九周第四次课(2月26日) 11.1 LAMP架构介绍 11.2 MySQL.MariaDB介绍 11.3/11.4/11.5 MySQL安装 11.1 LAMP架构介绍 MySQL.MariaDB介绍 MySQL是一个关系型数据库,由mysql ab公司开发,mysql在2008年被sun公司收购(10亿刀),2009年sun公司被oracle公司收购(74亿刀) MySQL官网https://www.mysql.com  最新版本5.7GA/8.0DMR MySQL5.6变化比较大,5.7性

2018.3.29 14周4次课

十四周四次课(3月29日) 16.1 Tomcat介绍 16.2 安装jdk 16.3 安装Tomcat 16.1 Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开发而成. java程序写的网站用tomcat+jdk来运行 tomcat是一个中间件,真正起作用的,解析java脚本的是jdk jdk(java development kit)是整个ja

2018.4.26 六周第二次课 (正则sed 替换)

sed工具介绍(替换.及替换指定的字符) sed介绍:sed工具主要是替换的文本输出到屏幕上,而且还有其他更丰富的功能.sed命令格式:sed -n 'n' p filename,单引号内的n是一个数字,表示几行.-n选项的作用就是只显示我们要打印的行,无关紧要的内容不显示. 创建一个sed目录,把passwd文件拷贝进来,方便后面学习. [[email protected] ~]# mkdir sed #创建一个目录 [[email protected] ~]# cd sed/ #进入到目录s

2018.3.1 10周2次课

十周第二次课(3月1日) 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机 11.14/11.15 Apache和PHP结合 配置httpd支持php httpd主配置文件/usr/local/apache2.4/conf/httpd.conf vim /usr/local/apache2.4/conf/httpd.conf   //修改以下4个地方 ServerName 搜索ServerName,把#ServerName www.example

2018.1.9 5周2次课

五周第二次课(1月9日) 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装 7.6 yum更换国内源 1.恢复之前备份的文件 2. 进入"/etc/yum.repos.d"目录 3.删除"CentOS-Base.repo"文件 4.下载"163.repo"文件 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo curl -O http://mirrors

2018.1.16 6周2次课

六周第二次课(1月16日) 9.4/9.5 sed 9.4/9.5 sed 其实grep工具的功能还不够强大,它实现的只是查找功能,而不能把查找的内容替换.以前用vim操作文档的时候,可以查找也可以替换, 但只限于在文本内部操作,而不能输出到屏幕上.sed工具以及后面要介绍的awk工具就能把替换的文本输出到屏幕上,而且还有其他更丰富的功能.sed和awk都是流式编辑器,是针对文档的行来操作的. sed  '/x/'p filename:匹配x字符 sed  -n  '/x/'p  filenam

2018.4.23 17周4次课

十七周4次课(4月23日) 20.20 告警系统主脚本 20.21 告警系统配置文件 20.22 告警系统监控项目 20.20 告警系统主脚本 创建告警系统的目录: [[email protected] /usr/local/sbin]# mkdir mon [[email protected] /usr/local/sbin]# ls mon  nginx_log_rotate.sh [[email protected] /usr/local/sbin]# cd mon [[email pro

2018.1.29 8周1次课

八周一次课(1月29日) 10.23 linux任务计划cron 10.24 chkconfig工具 10.25 systemd管理服务 10.26 unit介绍 10.27 target介绍 10.23 linux任务计划cron 其实大部分系统管理工作都是通过定期自动执行某个脚本来完成的, 那么如何定期执行某个脚本呢? 这就要借助Linux的cron功能了 Linux任务计划功能的操作都是通过crontab命令来完成的, 其常用的选项有以下几个. -u:表示指定某个用户,不加- u选项则为当

2018.1.8 5周1次课

五周第一次课(1月8日) 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库 7.1 安装软件包的三种方法 rpm工具 yum工具 源码包 在Windows系统下安装软件很简单,只要双击后缀为.exe的文件,然后根据提示连续单击"下一步" 按钮即可. 然而在Linux系统下安装软件就没那么容易了,因为我们不是在图形界面下.所以,你必须学会如何在Linux下安装软件 前面我们多次提到了yum命令,它是Red Ha