day03 部署NFS服务
day03 部署NFS服务
NFS的原理
1、什么是NFS
共享网络文件存储服务器
2、NFS的原理
1.用户访问NFS客户端,将请求转化为函数
2.NFS通过TCP/IP连接服务端
3.NFS服务端接收请求,会先调用portmap进程进行端口映射
4.Rpc.nfsd进程用于判断NFS客户端能否连接服务端;
5.Rpc.mount进程用于判断客户端对服务端的操作权限
6.如果通过权限验证(依赖系统用户),可以对服务端进行操作,修改或读取
3、NFS的优点:
1)NFS文件系统简单易用、方便部署、数据可靠、服务稳定、满足中小企业需求。
2)NFS文件系统内存放的数据都在文件系统之上,所有数据都是能看得见。
4、NFS的缺点:
1)存在单点故障, 如果构建高可用维护麻烦web->nfs()->backup
2)NFS数据明文, 并不对数据做任何校验。
3)客户端挂载NFS服务没有密码验证, 安全性一般(内网使用)
部署NFS
1、安装nfs服务
[root@nfs ~]# yum install nfs-utils rpcbind -y 安装nfs软件
2、关闭防火墙和selinux
[root@nfs ~]# setenfoce 0
[root@nfs ~]# systemctl stop firewalld
3、创建一个目录,用于存放文件的仓库
[root@nfs ~]# mkdir /data
4、创建一个系统用户,用于权限验证(权限验证时真正验证的时UID)
[root@nfs ~]# useradd www -r -M -s /sbin/nologin -u 995
5、修改NFS的配置文件(作用:指定NFS的仓库及权限)
NFS的配置文件:/etc/exports
格式:
[仓库地址] [可以访问的IP段](权限)
[root@nfs data]# vim /etc/exports
[root@nfs data]# cat /etc/exports
/data 172.16.1.0/20(rw,all_squash,sync)
6、启动NFS服务
[root@nfs ~]# systemctl start nfs-server rpcbind
7、查看NFS的挂载点是否设置成功
# 查看指定服务器的挂载点
[root@nfs data]# showmount -e 172.16.1.31
# 查看本机的挂载点
[root@nfs data]# showmount -e
8、给服务端设置权限
[root@nfs ~]# chown nfsnobody.nfsnobody /data/
9、挂载使用(客户端必须安装nfs-utils)
[root@web01 ~]# yum install nfs-utils -y
[root@web01 ~]# mount -t nfs 172.16.1.31:/data /opt
[root@web01 ~]# df -h # 查看挂载
注:要是想跟换用户
[root@nfs data]# vim /etc/exports
/data 172.16.1.0/20(rw,all_squash,sync,anonuid=995,anongid=995)
[root@nfs ~]# systemctl start nfs-server rpcbind
[root@nfs ~]# chown -R meng.meng /data/
NFS权限参数
控制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,必须存在系统 (常用)
NFS案例
1、安装web服务软件
[root@web01 ~]# yum install -y httpd php
2、上传代码
[root@web01 ~]# cd /var/www/html
[root@web01 html]# vim index.php
<?php
phpinfo();
3、开启web服务
[root@web01 html]# systemctl start httpd
案例1
案例:将nfs中的图片,共享到web01上来访问
1、将图片上传至NFS服务器
[root@nfs data]# ll
total 28
-rw-r--r-- 1 root root 26724 Oct 20 20:19 1.png
2、将NFS挂载到web网站对应目录
[root@web01 html]# mkdir img
[root@web01 html]# mount -t nfs 172.16.1.31:/data /var/www/html/img/
3、上传代码
[root@web01 html]# vim index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<img src="./img/1.png" alt="">
</body>
</html>
4、查看浏览器
案例2:
7、案例(注意:关闭selinux setenforce 0)
1、安装web服务软件
[root@web02 ~]# yum install httpd php -y
2、上传代码
3、将代码复制到网站根目录(/var/www/html)
[root@web02 kaoshi]# cp -r ./* /var/www/html/
4、开启web服务
[root@web02 html]# cd /var/www/html
[root@web02 html]# systemctl start httpd
5、统一用户
1、创建用户
[root@web02 html]# useradd www -r -M -s /sbin/nologin -u 996
2、修改httpd的启动用户
[root@web02 ~]# vi /etc/httpd/conf/httpd.conf
User www
Group www
3、重启WEB服务软件
[root@web02 ~]# systemctl restart httpd
4、修改站点目录的用户
[root@web02 ~]# chown -R www.www /var/www/html
5、关闭selinux
[root@web02 ~]#setenforce 0
6、上传的文件共享至web01中
[root@web02 html]# yum install nfs-utils -y
[root@web02 html]# mount -t nfs 172.16.1.31:/data /var/www/html/upload
[root@web02 html]# mount -t nfs 172.16.1.31:/data /var/www/html/img/
day03 部署NFS服务的更多相关文章
- LINUX 系统下部署 NFS服务
NFS服务 NFS,是Network File System的简写,即网络文件系统.也被称为NFS: NFS允许一个系统在网络上与他人共享目录和文件. NFS通常运行于2049端口. 部署NFS 前提 ...
- ubuntu14.04 部署nfs服务
安装nfs服务 apt-get install nfs-kernel-server 修改配置文件,共享目录为/var/www,*号可替换为客户端IP地址,*默认为任何部署了nfs客户端的IP可以挂载该 ...
- Linux部署NFS服务共享文件
NFS(网络文件系统)用于linux共享文件 第1步:配置所需要的环境 使用两台Linux主机 主机名称 操作系统 IP地址 NFS Centos7 192.168.218.139 NFSa Cent ...
- CentOS7 部署nfs服务
参考博客 参考博客 https://blog.51cto.com/addam/1576144 错误1: 客户端挂载nfs报错mount: wrong fs type, bad option, bad ...
- NFS服务搭建与配置
启动NFS SERVER之前,首先要启动RPC服务(CentOS5.8下为portmap服务,CentOS6.6下为rpcbind服务,下同),否则NFS SERVER就无法向RPC服务注册了.另外, ...
- nfs服务部署记录
一.概念介绍NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作系统能 ...
- NFS服务部署
NFS介绍 NFS基本概述 NFS(Network File System)网络文件系统主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录.NFS系统和Windows网络共享.网络驱动器 ...
- 使用URLOS在linux系统中极速部署NFS共享存储服务
如何在linux系统里搭建NFS服务?其实我们只需要安装一个URLOS面板,然后就能在3分钟内将NFS服务部署完成.近日,URLOS在应用市场中上架了一款NFS应用,它可以让我们的节点主机在3分钟内极 ...
- Linux NFS 服务部署
系统环境:Oracle Linux 5.7 服务端:192.168.1.111 客户端:192.168.1.171 一.服务端配置 二.客户端配置 一.服务端配置 1.依次启动portmap和nfs服 ...
随机推荐
- configure: error: C preprocessor "arm-linux-gnueabihf-g++" fails sanity check
今天在交叉编译某个编解码库过程中碰到一个configure错误 运行configure的时候设置了一些配置项目 ./configure CC=arm-linux-gnueabihf-gcc CPP=a ...
- (总结)Linux下su与su -命令的本质(转)
转载地址:http://www.ha97.com/4001.html 本人以前一直习惯直接使用root,很少使用su,前几天才发现su与su -命令是有着本质区别的! 大部分Linux发行版的默认账户 ...
- 二进制小数 牛客网 程序员面试金典 C++ Python
二进制小数 牛客网 程序员面试金典 题目描述 有一个介于0和1之间的实数,类型为double,返回它的二进制表示.如果该数字无法精确地用32位以内的二进制表示,返回"Error". ...
- Luogu P1196 [NOI2002]银河英雄传说 | 并查集
题目链接 并查集,具体看注释. #include<iostream> #include<cstdio> #include<cmath> using namespac ...
- Window黑客编程之资源释放技术
前言 今天说一下写病毒木马会广泛使用的一种技术--资源释放技术.为什么我们在写木马时会使用到资源释放技术呢?这是因为它可以使我们写的程序变得简洁.如果程序需要额外加载一些DLL文件或者文本文件,我们可 ...
- OpenHarmony LiteOS C-SKY指令集移植指北
摘要:本文介绍在OpenHarmony社区LiteOS-M项目中新增C-SKY指令集的开发流程,以及适配相应qemu工程的方法和步骤,供LiteOS内核相关开发者学习交流. 本文分享自华为云社区< ...
- Python3使用request/urllib库重定向问题
禁止自动重定向 python3的urllib.request模块发http请求的时候,如果服务器响应30x会自动跟随重定向,返回的结果是重定向后的最终结果而不是30x的响应结果. request是靠H ...
- CentOS8安装VirtualBox,并创建CentOS虚拟机
安装VirtualBox 执行以下命令并启用VirtualBox和EPEL包仓库 [root@localhost~] dnf config-manager --add-repo=https://dow ...
- redis异常:(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk.
(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on d ...
- PowerDotNet平台化软件架构设计与实现系列(03):系统应用平台
为了复用和解耦,快速开发更多的系统和应用,我们对自己经常说的"系统"和"应用"进行更高级的提取和抽象. 十多年前入行,辗转至今,写过很多很多应用,个人喜欢分门别 ...