部署NFS服务

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


NFS

概念:

Network File System 网络文件系统,基于内核的文件系统。共享存储,文件服务器。

原理:

nfsd默认端口2049

1.用户访问NFS客户端,将请求转化为函数
2.NFS通过TCP/IP连接服务端
3.NFS服务端接收请求,会先调用portmap进程进行端口映射
4.Rpc.nfsd进程用于判断NFS客户端能否连接服务端;
5.Rpc.mount进程用于判断客户端对服务端的操作权限
6.如果通过权限验证,可以对服务端进行操作,修改或读取

作用:

1、为了实现文件共享,

2、多台数据一致

nsf优缺点

优点:


缺点

1:nfs属于本地文件系统,在高并发场景和大存储量下,需要使用分布式存储mfs,  FastDFS, tfs(taobao)等。

2:客户端的数据都是通过明文传送。客户端没有用户认证机制,安全性能一般,所以建议一般在局域网内使用。

3:容易发生单点故障,即server服务器宕机所有的客户端都不能访问。

部署NFS

以centos7为例

前期准备

关闭防火墙:systemctl stop firewalld

关闭selinux:set enforce 0

修改文件永久关闭

vi /etc/selinux/config  

SELINUX=enforcing  	# 按 i 进入编辑模式,将参数修改为 SELINUX=disabled 。 修改完成后,按下键盘 Esc 键,执行命令 :wq ,保存并退出文件。 重启ECS实例。 试用 shutdown -r now 重启后,运行命令 getenforce ,验证SELinux状态为 disabled ,表明SELinux已关闭。

查看系统是否安装

rpm -aq |grep nfs
rpm -aq | grep rpcbind 

在这里插入图片描述

显示未安装

第一步:安装

yum install -y nfs-utils rpcbind 

在这里插入图片描述
至此安装成功
在这里插入图片描述

第二步:创建

安装完nfs服务一般会自动生成配置文件exports,如果没有就自己创建一个
在这里插入图片描述

nsf安装完成,自动创建nfsnobody用户
在这里插入图片描述

如果不指定共享用户,则nfs系统在分配权限时会以用户uid为主,客户端如果用root账户会在服务器被自动降级至nfsnobody。

mkdir -p /data/nfs

chown -R nfsnobody:nfsnobody /data/nfs

在这里插入图片描述
未报错,成功,也可自行手动创建用户

useradd www -r -M -s /sbin/nologin -u 996

第三步:修改配置文件

​ 编辑配置文件/etc/exports

vi /etc/exports

/data/nfs   172.16.1.0/20(rw,all_squash,sync)
/data/nfs  192.168.1.0/24(rw,,ll_squash,sync)

在这里插入图片描述

格式:共享目录 指定共享对象(共享参数)

​ /data 192.168.1.0/24(rw,sync)

配置参数

控制NFS读写权限
	rw			读写权限 (常用)
	ro			只读权限 (不常用)
				
控制访问NFS时,NFS基于的权限
				
	root_squash		当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户 (不常用)
	no_root_squash	当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员 (不常用)
	all_squash		无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户 (常用)
	no_all_squash	无论NFS客户端使用什么账户访问,都不进行压缩 (不常用)
				
控制NFS同步方式
	sync	同时将数据写入到内存与硬盘中,保证不丢失数据 (常用),但是会产生延时
	async	优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据 (不常用)
				
控制默认的用户(非必须)
	anonuid	配置all_squash使用,指定NFS的用户UID,必须存在系统 (常用)
	anongid	配置all_squash使用,指定NFS的用户UID,必须存在系统 (常用)

第四步:启动NSF服务

systemctl start rpcbind
systemctl start nfs-server 
#可以两个一起启动,特殊情况下,需单独启动

查看是否启动成功
netstat -lntp | grep rpc

在这里插入图片描述

第五步:查看NFS挂载点是否成功

shownount -e   	第一次查看可能只会有一个挂载项,查询完成后,需要多执行一条命令

增加NSF配置文件
exportfs -rv	

在这里插入图片描述

完成之后查看共享目录参数

cat /var/lib/nfs/etab

在这里插入图片描述

第六步:客户端配置

IP地址:192.168.15.100

前期准备
在这里插入图片描述

安装客户端软件:nfs-utils

在这里插入图片描述

nfs客户端安装成功
在这里插入图片描述

第八步:客户端挂载nfs共享目录

nfs挂载到服务端
mount -t nfs 192.168.15.77:/data/nfs /nfs  
查看是否挂载成功
df -h 

在这里插入图片描述

上传案例

第一步:在客户端上安装web服务软件

yum install -y httpd php

在这里插入图片描述

显示安装成功

在这里插入图片描述

第二步:切换到web目录下。创建php文件

文件内容

vi index.php
<?php
phpinfo;

在这里插入图片描述

第三步:开启web服务,浏览器访问

systemctl start httpd

在这里插入图片描述

第四步:从本地上传图片到nfs服务器

scp /Users/raoxurou/Pictures/pap.er/1.jpg root@192.168.15.77:/data

在这里插入图片描述

​ 在nsf服务器上查看

在这里插入图片描述

第五部:挂载NSF到web网站

mount -t nfs 192.168.15.77:/data/nfs /var/www/html/img/

第六步:在新的服务器上安装http和php

在这里插入图片描述

上传些好的代码到新服务器上

scp -r /Users/raoxurou/Desktop/kaoshi root@192.168.15.33:/var/www/html

在这里插入图片描述

将文件全部复制到html下

cd kaoshi/kaoshi/
cp -r ./*  /var/www/html/
cd /var/www/html/

在这里插入图片描述

第七部 创建用户(与之前的用户同步)

useradd www -r -M -s /sbin/nologin -u 996		

查看配置信息,修改httpd的启动用户

rpm -qc httpd
修改成用户刚刚创建的用户
vi /etc/httpd/conf/httpd.conf

User apache
Group apache


User www
Group www

在这里插入图片描述

修改完成

在这里插入图片描述

重新启动web服务器

systemctl restart httpd

修改站点目录的用户

chown -R www.www /var/www/html

在这里插入图片描述

第八步 上传文件到web1的服务器上

安装nfs服务

yum install nfs-utils -y 

上传的文件共享到原有web服务器中

mount -t nfs 192.168.15.77:/data/nfs /var/www/html/upload

在这里插入图片描述

前端上传图片

前端图片设置在192.168.15.33上,

在这里插入图片描述

第九步 实现文件同步备份

在本机上查看

在这里插入图片描述

在从挂载机器上查看

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值