基于nfs解决前端单点故障的问题

简介:

在之前,我们做过将apache、php、mysql分别部署在三台机器上,然而这样会出现单点故障,今天我们通过基于网络文件共享的方式来解决前段单点故障的问题,关于如何将apache、php、mysql分别部署在三台机器上,其移步至本人的相关博客,地址为http://wangfeng7399.blog.51cto.com/3518031/1381688

一、拓扑图

wKioL1MwWtrRRSt2AAEyBoNvTSg649.jpg

二、在后台php服务器上提供一个nfs共享目录

   在后台php的/etc/exports中添加如下内容

1
2
/www/html/wangfeng7399  192.168 . 1.0 / 24 (rw,sync,all_squash)
/www/html/wangfeng17399  192.168 . 1.0 / 24 (rw,sync,all_squash)

       这个配置文件就这样简单一行。共分为三部分,第一部分就是本地要共享出去的目录,第二部分为允许访问的主机(可以是一个IP也可以是一个IP段)第三部分就是小括号里面的,为一些权限选项。关于第三部分,简单介绍一下:


   rw :读写;


   ro :只读;


   sync :同步模式,内存中数据时时写入磁盘;


   async :不同步,把内存中数据定期写入磁盘中;


   no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;


   root_squash :和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root


   all_squash :不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;


  修改wangfeng7399和wangfeng17399的权限是nfsnobody能够读写

1
[root@localhost html]# setfacl -m u:nfsnobody:rwx *

三、在前端服务器上挂载共享的nfs服务器

1
2
[root@httpweb html]# mount -t nfs  192.168 . 1.201 :/www/html/wangfeng7399 /www/html/wangfeng7399
[root@httpweb html]# mount -t nfs  192.168 . 1.201 :/www/html/wangfeng17399 /www/html/wangfeng17399

四、测试,在一台服务器上创建一个文件,看是否在另外一台服务器上能否看到

1
2
在一台机器上创建一个test文件
[root@localhost wangfeng7399]# touch test

wKioL1MwctHihoumAAErF5YDx4Y316.jpg

index.html文件也都可以访问成功

wKiom1Mwc6bjy9ToAABk-2WuSXg281.jpg

wKioL1Mwc3_ipsYBAABso_hMNlA012.jpg

五、实现开机自动挂载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@httpweb html]# mount -a
在fstab中写入
192.168 . 1.201 :/www/html/wangfeng7399 /www/html/wangfeng7399  nfs,_dev defaults  0  0
192.168 . 1.201 :/www/html/wangfeng17399 /www/html/wangfeng17399  nfs,_dev defaults  0  0                                                                          
[root@httpweb html]# mount
/dev/mapper/vg0-root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid= 5 ,mode= 620 )
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/vg0-usr on /usr type ext4 (rw)
/dev/mapper/vg0- var  on / var  type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on / var /lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168 . 1.201 :/www/html/wangfeng7399 on /www/html/wangfeng7399 type nfs (rw,vers= 4 ,addr= 192.168 . 1.201 ,clientaddr= 192.168 . 1.109 )
192.168 . 1.201 :/www/html/wangfeng17399 on /www/html/wangfeng17399 type nfs (rw,vers= 4 ,addr= 192.168 . 1.201 ,clientaddr= 192.168 . 1.109 )

在DNS应该写入

optios{

    directory "/var/named"

      rrset-order{order random;};

}

由于本人水平有限,难免会出现错误,请各位大神批评指正!



本文转自wangfeng7399 51CTO博客,原文链接:http://blog.51cto.com/wangfeng7399/1383400,如需转载请自行联系原作者

相关文章
|
存储 NoSQL Linux
JuiceFS-开源分布式文件系统入门(一篇就够了)(下)
JuiceFS-开源分布式文件系统入门(一篇就够了)(下)
671 0
|
JavaScript
Vue使用emoji表情包
1.资料库 2.使用概述 2.1安装组件 2.2引入使用
1127 0
|
移动开发 JavaScript 前端开发
atom-shell: GitHub 开源的跨平台桌面应用框架(基于 Node.js 和 HTML 5)
atom-shell是 GitHub 随 Atom 一起开源的跨操作系统(Windows,Linux,MacOS X)的利用 Web 技术(Node.js、JavaScript、HTML 5)开发桌面应用的框架。Atom即构建在 atom-shell 之上。
970 0
atom-shell: GitHub 开源的跨平台桌面应用框架(基于 Node.js 和 HTML 5)
|
存储 Kubernetes 算法
MinIO 分布式集群搭建
MinIO 分布式集群搭建 分布式 Minio 可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务。由于硬盘分布在不同的节点上,分布式 Minio 避免了单点故障。 Minio 分布式模式可以搭建一个高可用的对象存储服务,你可以使用这些存储设备,而不用考虑其真实物理位置。
7324 0
|
消息中间件 Java Spring
SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列)
SpringBoot实现RabbitMQ的简单队列(SpringAMQP 实现简单队列)
242 1
深海探索:水下无人机与潜水器的最新进展
【9月更文挑战第20天】随着科技进步,深海探索迎来变革,水下无人机(UUV)与载人潜水器成为关键工具,不断突破技术壁垒,拓宽深海认知。UUV实现高自主性和智能化,如美国海军的“虎鲸”XLUUV及“蓑鲉”SUUV展现了多样化应用前景。载人潜水器如中国“蛟龙号”完成多次深潜任务,在西太平洋取得重要科学发现,并促进国际合作。未来,更先进的设备将助力深海研究、资源勘探及保护。
|
存储 Unix Linux
分布式文件系统协议:NFS(Network File System)网络文件系统
NFS(Network File System)网络文件系统是一种分布式文件系统协议,最初由Sun Microsystems开发,并在1984年首次发布。 NFS允许不同计算机通过网络共享资源,特别是文件和目录,就像它们是本地存储的一部分一样。使用NFS的客户端可以挂载远程服务器上的文件系统,使得用户能够以透明的方式访问远程数据,实现跨多个系统的文件共享。
5121 1
|
机器学习/深度学习 存储 SQL
数据仓库革新:Snowflake在云数据平台中的创新实践
【10月更文挑战第27天】Snowflake作为云原生数据仓库的领导者,以其多租户、事务性、安全的特性,支持高度可扩展性和弹性,全面兼容SQL及多种数据类型。本文探讨了Snowflake在现代化数据仓库迁移、实时数据分析、数据存储与管理及机器学习集成等领域的创新实践和应用案例,展示了其在云数据平台中的强大优势和未来潜力。
606 2
|
前端开发 JavaScript API
Vue 3 新特性:在 Composition API 中使用 CSS Modules
Vue 3 新特性:在 Composition API 中使用 CSS Modules
|
C# 图形学 开发者
宣布 freeCodeCamp 获得新的基础 C# 认证
欢迎大家来学习 .NET Conf 2023 发布的全新 C# 认证,我们与受人尊敬的 freeCodeCamp 合作,我们的认证不仅仅是一个徽章,而是优质教育的标志。它是全面的、全球可访问的、免费的。
940 3