温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

高可用与存储的结合

发布时间:2020-06-12 16:45:03 来源:网络 阅读:503 作者:潇锋 栏目:数据库

高可用与存储的结合

之前我们做好了fence,今天将高可用和存储结合起来。

试验主机:172.25.0.2   172.25.0.3   172.25.0.251(做数据输出端)

第一部分:

##在做实验之前,需要将luci打开,并且查看集群状态:

高可用与存储的结合

##将集群的apach关闭:

高可用与存储的结合

##查看ip发现没有vip:

高可用与存储的结合

##检测server2的apache(也就是看他开启再关闭是否正常):

高可用与存储的结合

高可用与存储的结合

##确定集群的apache是关闭的:

高可用与存储的结合

##以上做法也不知道意义何在,且往下看

##增加存储,存贮在哪都可以,这里是将instructor这台主机的/dev/vol0/demo逻辑卷作为存贮空间,因为之前做实验这里边有数据,所以我们将它清空:

高可用与存储的结合

##这里是用scsi做为存贮类型用到iscsi协议,所以先查询需要的软件,可以用rpm  -qa |grep ##也可以用yum  list  ##

高可用与存储的结合

##在数据输出端(也就是做存储的机子)安装scsi,对应服务为tgtd,在集群节点中安装iscsi协议,服务名称是iscsi:

高可用与存储的结合

##编辑配置文件:

高可用与存储的结合

高可用与存储的结合

##开启服务:

高可用与存储的结合

##查看进程,只能有两个tgtd,这是正确的,这就需要每次在编辑配置文件时需要将tgtd关闭,这也是经常出的问题。

高可用与存储的结合

##查看配置信息:

高可用与存储的结合

高可用与存储的结合

##在两个节点上安装iscsi:

高可用与存储的结合

高可用与存储的结合

##默认iscsi是开机自启的:

高可用与存储的结合

##发现目标(target),后面的ip就是做存储的主机ip。

高可用与存储的结合

##登入节点:

高可用与存储的结合

#这个时候用fdisk  -l查看会发现多了一块磁盘:

高可用与存储的结合

##从节点上卸载iscsi:

高可用与存储的结合

#再用fdisk   -l就找不到那块共享的磁盘

#卸载后就可以将这个节点上的缓存删除,否则每次开启iscsi都会自动登陆这个磁盘:

高可用与存储的结合

#再次发现和登陆:

高可用与存储的结合

#创建分区,类型为8e逻辑卷:

高可用与存储的结合

#查询,sda1的类型是8e:

高可用与存储的结合

#查看clvmd服务,这是对集群中逻辑卷管理的服务,确定开启:

高可用与存储的结合

##在节点2创建逻辑卷,

高可用与存储的结合

##会发现现在节点3同步过来了,说明clvmd起作用了,他就是来管理逻辑卷的:

高可用与存储的结合

##当然了,节点2也会同步过来的:

高可用与存储的结合

高可用与存储的结合

##查看怎么创建集群vg:

高可用与存储的结合

##将刚刚创建的pv用作集群vg:

高可用与存储的结合

##查看我们刚刚创建的vg:

高可用与存储的结合

##用clustervg创建lv,名字叫demo:

高可用与存储的结合

##当然所做的一切都会在节点3中有相应体现。

##然后就是将集群逻辑卷格式化:

高可用与存储的结合

##然后就是在节点3中进行挂载到/mnt,在/mnt中写下首页,内容为www.westos.org。再卸载,当然首页将保存到磁盘中,如果换到http发布目录中将可以通过web访问。

高可用与存储的结合

##然后将逻辑卷(存储)添加到资源中:

高可用与存储的结合

高可用与存储的结合

##有时会因为超时的原因在你保存之后会退出lusi,这时只需要重新登录,再次填写相关内容就好。

##有了资源我们需要将它和http联系起来,这就要在服务选项中的http下面增加资源,选择webdata:

高可用与存储的结合

##这时候会多一个文件系统:

高可用与存储的结合

##我们这里是将http服务于存储整合,所以需要http服务,如果没有的话,当然需要自己先增加一个资源,然后再添加到papache中。

##查看现在的集群状态,并将集群的apache打开:

高可用与存储的结合

##当然也可以在图形中打开:

高可用与存储的结合

##现在是apache打开了,Apache下面包括资源vip,存储,http服务,当然这三者的打开顺序也应该是这样,显示vip,然后指存储,最后才是http服务,这也是为啥在我们往Apache中添加资源时先将之前的http服务停掉,在添加完存储之后再将http服务加上:

高可用与存储的结合

##查看集群是否管理了资源:

高可用与存储的结合

#vip添加上了。

##http也打开了,磁盘也实现了挂载:

高可用与存储的结合

##网页也能够访问了:

高可用与存储的结合

##现在将Apache手动交给连一个节点,当参数忘了,可以用clusvcadm  --help查看相关参数:

高可用与存储的结合

##使用-r -m 可以实现节点的转换:

高可用与存储的结合

##转换完成后节点二就会将vip添加,实现自动挂载,并且开启http服务,相反的节点3上会将相同的服务关闭,也就是说高可用集群同时只有一个在工作,解决的是单点故障。

高可用与存储的结合

第二部分:

##displayvg   clustervg:

高可用与存储的结合

##给集群逻辑卷扩展分区这里加的511就相当于加入2G这样更精确,现在逻辑卷就会有4G大小:

高可用与存储的结合

##扩展完成后,发现挂载的磁盘实际并没有刷新,这就需要刷新一下:

高可用与存储的结合

##df 默认显示的是块的大小,df  -h显示的是真实大小:

高可用与存储的结合

##从集群中删除Apache:

高可用与存储的结合

##将节点2逻辑卷挂载在/mnt,并复制passwd目录进去:

高可用与存储的结合

##在节点3上挂载,并且追加westos进去,但是,在节点3中只能看到自己的追加,并不能看到之前的文件:

高可用与存储的结合

##然后将两边都卸载。再挂载,在节点2中却只能看到在节点3中追加的westos,并不能看到之前的文件:

高可用与存储的结合

##这说明集群同一时间只能有一个节点接管存储,这是文件呢系统的原因,所以我们就用到了gfs2文件系统,也叫做可扩展的分布式文件系统(也叫做全局文件系统),可以实现多个节点同时挂载在同一文件系统,保证数据的同步性,说到同步我们需要知道,在RHCS套件中是css在处理文件系统的同步:

高可用与存储的结合

##检查逻辑卷的文件系统的正确性。

fsck(file system check)用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。

高可用与存储的结合

##将逻辑卷缩小,当然也可以不做这一步:

resize2fs命令被用来增大或者收缩未加载的“ext2/ext3”文件系统的大小。如果文件系统是处于mount状态下,那么它只能做到扩容,前提条件是内核支持在线resize。,linux kernel 2.6支持在mount状态下扩容但仅限于ext3文件系统。

高可用与存储的结合

##在查看大小,确实缩小了:

高可用与存储的结合

##当然这样并没有缩小逻辑卷还是用另一种方法来缩小吧:

高可用与存储的结合

##再删除逻辑卷,再创建逻辑卷:

高可用与存储的结合

##当然这些都是说明集群中逻辑卷的扩展,缩小,新建,这一步可以不做的。

##现在我们就拥有了一个2G的新的逻辑卷:

高可用与存储的结合

##补充一下裸设备与文件系统的区别:

裸设备到文件系统,格式化的才叫文件系统。

自己对裸设备的理解,。没有经过格式化的磁盘分区,操作系统不对其进行管理,而是应用程序直接管理,所以I/O效率更高,正因为这样对于读写频繁的数据库等应用程序可以用裸设备,这样可以极大的提高性能。

文件系统是对一个存储设备上的数据和元数据进行组织的机制。文件系统的工作就是维护文件在磁盘上的存放,记录文件占用了哪几个扇区。另外扇区的使用情况也要记录在磁盘上。文件系统在读写文件时,首先找到文件使用的扇区号,然后从中读出文件内容。如果要写文件,文件系统首先找到可用扇区,进行数据追加。同时更新文件扇区使用信息。在挂载后就可以将挂载点当做一个新的文件系统。

fsck是如何工作的:通常情况下,当 Linux 系统启动时,首先运行fsck,由它扫描/etc/fstab 文件中列出的所有本地文件系统。fsck 的工作就是确保要装载的文件系统的元数据是处于可使用的状态。当系统关闭时,fsck又把所有的缓冲区数据转送到磁盘,并确保文件系统被彻底卸载,以保证系统下次启动时能够正常使用。

##得到最恰当的块大小:

高可用与存储的结合

##查看帮助:

高可用与存储的结合

##然后就是对逻辑卷的再次格式化:

高可用与存储的结合

##然后就是两个节点都挂载:

高可用与存储的结合

高可用与存储的结合

##然后在节点2的中写一个首页:

高可用与存储的结合

高可用与存储的结合

##这会同步到节点三中:

高可用与存储的结合

##当然在节点3的首页中增加一行,也会在节点2中同步:

高可用与存储的结合

##要想实现文件系统的永久挂载,查看UUID,然后将挂载信息添加到/etc/fstable:

高可用与存储的结合

高可用与存储的结合

高可用与存储的结合

##当然在节点3中也要做相同的挂载

高可用与存储的结合

##把service group中之前的那个ext3文件系统删除,再在资源中增加一个新的文件系统:

高可用与存储的结合

##上面这一步是不是可以改为只是把service  group中的文件系统删除,而不增加另一个文件系统,这样在重新开启Apache是否会自动添加???

##查看iscsi状态,是开启的.

##查看系统中的可挂载设备和pv:

高可用与存储的结合

##当然,做完,最好能先卸载掉,查看是否 能够自动挂载:

高可用与存储的结合

##现在开启Apache:

高可用与存储的结合

高可用与存储的结合

##就可以访问了:

高可用与存储的结合

第三部分 将Apache换成数据库:

##首先将apache删除:

高可用与存储的结合

##当然也可以用命令删除,然后安装MySQL

高可用与存储的结合

##进入MySQl目录,将MySQL打开:

高可用与存储的结合

##当然节点3上也要安装:

高可用与存储的结合

##检查存储,因为我们要将资源交给集群管理,所以我们要将存储资源关闭:

高可用与存储的结合

高可用与存储的结合

##并且将逻辑卷挂载到MySQL的发布目录中:

高可用与存储的结合

##然后将逻辑卷挂载到/mnt上,并且将MySQL发布目录中的所有数据移动到/mnt下,然后从/mnt下面卸载:

高可用与存储的结合

##这样MySQL中就没有文件,文件被保存到逻辑卷中,然后再用mount   -a,就实现逻辑卷到数据库默认目录的挂载:

高可用与存储的结合

##这样数据库的配置文件就有回来了。

##将数据库的apache的首页文件删除,并打开数据库:

高可用与存储的结合

##当然最后还是要关闭的将它交给集群,我们在这里的一番折腾只是检测存储与MySQL都没有错误,可以正常使用:

高可用与存储的结合

##节点3中也要做相同的工作:

高可用与存储的结合

高可用与存储的结合

高可用与存储的结合

高可用与存储的结合

##为数据库增加资源,还是添加一个脚本,这里脚本是只需要输入名字,和启动的路径这样就可以让集群来管理开关了:

高可用与存储的结合

##查看集群,发现并没有将数据库加进来:

高可用与存储的结合

##这就需要将资源加进服务:

高可用与存储的结合

##Run exclusive:意思是这个服务独占集群,当然不能这样了。然后就是将我们的资源vip和数据库加进来:

高可用与存储的结合

##在查看集群,发现就将数据库服务加进来了:

高可用与存储的结合

##现在就可以登录数据库了:

高可用与存储的结合

##将数据库服务转交给节点3:

高可用与存储的结合

##现在逻辑卷挂载到了节点3,vip也转移到了节点3:

高可用与存储的结合

高可用与存储的结合

##在节点三登录数据库:

高可用与存储的结合

##删除集群数据库:

高可用与存储的结合

##在两个节点中都将存储卸载:

高可用与存储的结合

##之前所做没有将存储加进去:

逻辑卷的挂载是我们手动挂载的,现在将gfs资源加进MySQL服务就可以实现自动挂载了:

高可用与存储的结合

##然后在DB服务中将之前增加的数据库先删了,再添加存储和数据库,因为集群在启动服务中的资源时,是按照资源的顺序的,而在数据库之前必须要有存储。

##现在DB服务是关闭的,我们将只需将DB服务打开,就可以自动调配其他的资源,包括资源的开启,当一个存储有问题会自动跳到另一台机子上等:

高可用与存储的结合

高可用与存储的结合

##已经实现了存储的自动挂载:

高可用与存储的结合

##将DB服务转交给节点2:

高可用与存储的结合

##存储和vip都转移到了节点2:

高可用与存储的结合

高可用与存储的结合

##至此,我们就完成了数据库的服务的高可用,就解决了数据库的单点故障。

第四部分:图形修改对应进程:

##将DB服务关闭并且删除,将gfs2资源删除:

高可用与存储的结合

第五部分:不用图形的高可用集群(不用luci的高可用集群)pacemake。

##在rhcl7之后就没有了luci,就不能借助图形来管理集群了,下面就来介绍费图形界面的高可用集群管理。

##首先将之前在rhcl6中做的都给删除,包括将节点从集群中脱离并删除:

高可用与存储的结合

##还有cman,rgmanager

高可用与存储的结合

##还有modclusterd

高可用与存储的结合

##还有iscsi,关闭,启动项也关闭:

高可用与存储的结合

##在安装scsi的机子上,检查iscsi的情况:

高可用与存储的结合

##将scsi关闭:

高可用与存储的结合

##两个节点安装pacemake:

高可用与存储的结合

高可用与存储的结合

##若用新的虚拟机,需要安装heartbeat、drbd、mysql-server、httpd

##安装完pacemake后将会有一个控制心跳的配置文件目录:

高可用与存储的结合

##编辑配置文件:

#原始的例子内容:

高可用与存储的结合

##修改后的配置文件其实就修改了两处,一个是将绑定的网络地址改为集群的网络地址,在最后一行增加服务:

高可用与存储的结合

............................................

高可用与存储的结合

##上述修改的目的:

高可用与存储的结合

高可用与存储的结合

#当最后的ver设置为1的时候,插件打不开pacemake的守护进程,这里我们还是设置为0,表示可以打开pacemaker的守护进程,通过组件调动而不是脚本。

Plugin:插件

Daemons:是守护进程的意思,代表在后台运行而没有终端或者运行的shell与其结合的进程。

##可以到官网下载关于pacmake的官方文档:

高可用与存储的结合

##将修改后的配置文件复制到节点3.

高可用与存储的结合

##开启心跳服务:

高可用与存储的结合

高可用与存储的结合

##这里的报错是因为stonish的原因,默认stonish是开启的这样verify时会报错,并且也不能commit,所以在配置之前需要将stonish关闭:

高可用与存储的结合

##然后需要安装连个包,最好先安装pssh在安装crm,,因为第二个是第一个的依赖性,当然也可以一起安装,但是需要安装两遍:

高可用与存储的结合

高可用与存储的结合

##然后将两个包拷贝给节点3,安装:

高可用与存储的结合

##然后就可以用crm服务了:

因为之前coroysnc的原因这里节点指直接加进去的,如果没有加进去可以用edit加进去,也可以重启coroysnc,这样就加进去了。

高可用与存储的结合

##然后切换到资源管理模块:

高可用与存储的结合

##将stonish关闭:

高可用与存储的结合

##这样检测语法就不会有错了:

高可用与存储的结合

##不管在哪边增加策略,两边都会同步的:

高可用与存储的结合

##定义资源:

例子:

crm(live)configure# primitive webvip ocf:heartbeat:IPaddr params ip=172.16.12.100 op monitor interval=30s timeout=20s on-fail=restart

//定义一个主资源名称为webvip,资源代理类别为ocf:heartbeat,资源代理为IPaddr。params:指定定义的参数 ,op代表动作,monitor设置一个监控,每30s检测一次,超时时间为20s,一旦故障就重启

#增加一个vip资源:

高可用与存储的结合

##也可以用edit编辑配置文件:

高可用与存储的结合

高可用与存储的结合

##在0.251这台机子上是可以ping通增加的资源的:

高可用与存储的结合

##对参数的解释:

crm_verify -LV  检测配置信息    
crm_mon  监控主机状态

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI