IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 2021 => 手把手教你NFS部署(实用) -> 正文阅读

[系统运维]2021 => 手把手教你NFS部署(实用)

NFS服务

原理:供文件共享服务,为Web Server 配置集群中的后端存储。 支持多节点同时挂载以及并发送与写入。

架构解析

这是一张大型网站高并发架构图,我们只需注意图中圈红的地方

建立NFS文件系统本质就是用来进行存储,一般数据是不会放本地

比如一些MySQL数据库/var/lib/mysql ,nginx网站目录 /usr/share/nginx/html/..........还有很多

这些都可以结合NFS网络文件系统进行挂载与远程存储

主要是增加数据的可靠性与安全性,方便与数据灾备方案与备份.........

? 一、环境准备

CentOS版本: CentOS Linux release 7.9.2009 (Core)

端口:111

1、关闭firewalld、selinux

2、准备两台机器:

  • nfs-servce:192.168.178.135

  • nfs-cilent:192.168.178.139

nfs-server/nfs-client

#两台主机同时进行
?
#1. 关闭防火墙:
[root@192 ~]# systemctl stop firewalld
[root@192 ~]# systemctl disable firewalld
?
#2. 关闭Selinux:
[root@192 ~]# sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config       #永久关闭
?
#3. 因为永久关闭要重启,先进行临时关闭
[root@192 ~]# setenforce 0
?
#4. 查看是否成功关闭Selinux:
[root@192 ~]# getenforce 
Permissive      #出现此,代表临时关闭Selinux成功

二、安装软件与配置

nfs-server

#1. 进行域名解析:
[root@nfs-server ~]# vim /etc/hosts
192.168.178.135 nfs-server      #Server IP
192.168.178.139 nfs-client      #Client IP
?
#2. 获取阿里云源:
[root@nfs-server ~]# yum -y install wget && wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
?
#3. 安装相关软件:
[root@nfs-server ~]# yum -y install nfs-utils
?
#4. 创建网站文件存放目录:
[root@nfs-server ~]# mkdir /webdata
[root@nfs-server ~]# chmod 777 /webdata/
[root@nfs-server ~]# echo "nfs-test 2021-09-23 Sunny" > /webdata/index.html
[root@nfs-server ~]# df /webdata/ -hT
文件系统                类型  容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs   3.5G  1.5G  2.1G   42% /
?
#5. 编写NFS配置:
[root@nfs-server ~]# vim /etc/exports
#添加
/webdata 192.168.178.0/24(rw)    #代表所有的178网段的主机拥有读写权限
?
#6. 开启服务:
[root@nfs-server ~]# systemctl start nfs-server && systemctl enable nfs-server
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
?
#7. 检查语法格式:
[root@nfs-server ~]# exportfs -v
/webdata        192.168.178.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
?
#8. 查看nfs-server是否启动成功:
[root@nfs-server ~]# ss -anpt | grep 111
LISTEN     0      128          *:111                      *:*                   users:(("rpcbind",pid=1709,fd=8))
LISTEN     0      128       [::]:111                   [::]:*                   users:(("rpcbind",pid=1709,fd=11))

nfs-client

#1. 进行域名解析:
[root@nfs-client ~]# vim /etc/hosts
192.168.178.135 nfs-server
192.168.178.139 nfs-client
?
#2. 获取阿里云源:
[root@nfs-client ~]# yum -y install wget && wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
?
#3. 安装相对应的软件:
[root@nfs-client ~]# yum -y install nfs-utils httpd
?
#4. 启动网站服务:
[root@nfs-client ~]# systemctl start httpd && systemctl enable httpd
?
#5. 查看nfs-server上可用的挂载点:
[root@nfs-client ~]# showmount -e nfs-server
Export list for nfs-server:
/webdata 192.168.178.0/24
?
#6. 进行挂载到httpd的默认网站目录:
[root@nfs-client ~]# mount -t nfs nfs-server:/webdata /var/www/html/
[root@nfs-client ~]# df -hT
文件系统                 类型      容量  已用  可用 已用% 挂载点
192.168.178.135:/webdata nfs4      3.5G  1.5G  2.1G   42% /var/www/html
?
#7. 获取网站主页:
[root@nfs-client ~]# curl nfs-client:80
nfs-test 2021-09-23 Sunny   #远程挂载共享文件成功
 

🗡问题解决:客户端不能写入

在服务端:
# vim /etc/exports   
/var/lib/mysql 192.168.178.0/24(rw,no_root_squash) #只需添加 no_root_squash

其他一些权限的代码

  • rw:可读写的权限;
  • ro:只读的权限;
  • no_root_squash:登入到NFS主机的用户如果是root,该用户即拥有root权限;(不添加此选项ROOT只有RO权限)
  • root_squash:登入NFS主机的用户如果是root,该用户权限将被限定为匿名使用者nobody;
  • all_squash:不管登陆NFS主机的用户是何权限都会被重新设定为匿名使用者nobody。
  • anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中。
  • anongid:同anonuid,但是变成group ID就是了!
  • sync:资料同步写入存储器中。 async:资料会先暂时存放在内存中,不会直接写入硬盘。
  • insecure:允许从这台机器过来的非授权访问。

?

三、设置开机自动加载

#1. 在家目录中加载:
[root@nfs-client ~]# cat ~/.bashrc 
#加入
mount -t nfs nfs-server:/webdata /var/www/html/     #就是把之间挂载的命令写进去,开机会加载该文件
?
#2. 通过/etc/profile加载:
[root@nfs-client ~]# vim /etc/profile
#在最后一行加入即可:
mount -t nfs nfs-server:/webdata /var/www/html/
?
#3. 使用fstab自动挂载:
[root@nfs-client ~]# vim /etc/fstab
#加入 挂载的服务器上的路径  要挂载到本机的路径  类型  
nfs-server:/webdata      /var/www/html      nfs  defaults 0 0

解析:

  • Defaults 同事具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置
  • 第1个1 表示备份文件系统,
  • 第2个1 表示从/分区的顺序开始fsck磁盘检测,0表示不检测。
  • _rnetdev 表示主机无法挂载直接跳过,避免无法挂载主机无法启动
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-24 10:59:51  更:2021-09-24 11:00:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:34:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码