学习笔记之WEB网站的高可用集群搭建

   集群(cluster)

       HA (High Availability),是高可用性的一种统称。包括从软件到硬件的多种技术来实现。HA就是有点像是笔记本的电池电源和交流电源一样。平常插着交流电源时。笔记本就一直使用交流电源。当紧急时刻断电时。才会使用电池电源。如果平常使用交流电源时。那么电池就是摆设。就是为了以防止没电时。顶上去。所以HA 就是让多个节点去为一件事去工作。但真正工作的只有一个节点。其他节点都是以备不测的。


准备工作

      4台主机。其中一台是物理真机,三台真机中的虚拟机。

学习笔记之WEB网站的高可用集群搭建_第1张图片

真机是redhat7.2 虚拟机用的是kvm


(其中真机是mine.example.com,剩下的三个是虚拟机)

为了方便,关闭所有主机的iptables还有selinux


     配置yum源。需要有HA。所有的主机都这么配置yum源

 

[Server]
name=Red Hat Enterprise Linux Server
baseurl=http://172.25.7.250/rhel6.5/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[HighAvailability]
name=Red Hat Enterprise Linux HighAvailability
baseurl=http://172.25.7.250/rhel6.5/HighAvailability
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ResilientStorage]
name=Red Hat Enterprise Linux ResilientStorage
baseurl=http://172.25.7.250/rhel6.5/ResilientStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ScalableFileSystem]
name=Red Hat Enterprise Linux ScalableFileSystem
baseurl=http://172.25.7.250/rhel6.5/ScalableFileSystem
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[LoadBalancer]
name=Red Hat Enterprise Linux LoadBalancer
baseurl=http://172.25.7.250/rhel6.5/LoadBalancer
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


注(再光盘yum源中。其实我们平时使用的是Server。但他还提供了,4个其他的目录,再HighAvailability 目录中就是HA搭建所需要的包)

学习笔记之WEB网站的高可用集群搭建_第2张图片

准备工作完成


配置server和client主机。desktop是管理主机

     server和client分别是节点1和节点2。desktop用来管理节点

server和client都下载安装ricci(注意:一定要将yum源配制成上图所示)(同样client也这么操作)

学习笔记之WEB网站的高可用集群搭建_第3张图片

这里只拿server做演示。client做同样的操作

给ricci用户改密码(同样client也这么操作)



给desktop管理端下载luci


开启刚才下载的所有服务

server:学习笔记之WEB网站的高可用集群搭建_第4张图片

client:   

desktop:学习笔记之WEB网站的高可用集群搭建_第5张图片


开始图形化的配置HA

打开浏览器,访问desktop的8084端口。注意两点1.是https协议。2.关闭防火墙

学习笔记之WEB网站的高可用集群搭建_第6张图片

输入desktop的超级用户root和root的密码

学习笔记之WEB网站的高可用集群搭建_第7张图片

登录后点击左侧Manage Clusters并且选择Create.Cluster Name随便输入。Node Name 输入两个节点的域名。输入IP 也行

Password就是刚才给ricci用户的密码。就是刚才那个123密码。

Download Packages 就是给节点安装HA相关的包,这个选上

Reboot Nodes Before Joining Cluster 再加入节点前。重启主机

Enable Shared Storage Support 使能共享存储


然后点击create cluster .接着就慢慢等待,时间有点长。这时在给节点下载HA的各种安装包

学习笔记之WEB网站的高可用集群搭建_第8张图片

通过top看看。主机浪费在ricci和yum上的资源很大



经过漫长的等待和重新启动节点。重新启动后应该可以看到下面的内容

学习笔记之WEB网站的高可用集群搭建_第9张图片


下来就需要添加fence。

      fence本来应该是一个硬件设备,为了负责当某台主机死机后就重起某台主机,他的重起方式是直接断电并且启动。相当于拔插销。由于是练习。所以我使用的是虚拟化的fence。多播模式。正因为是虚拟化的fence,所以在物理真机也要做一些配置,一会再说


在刚才那个WEB图形配置页面,选择Fence Devices。的Add

学习笔记之WEB网站的高可用集群搭建_第10张图片

做如下配置

学习笔记之WEB网站的高可用集群搭建_第11张图片

再选 Failover Domains .选择Add

学习笔记之WEB网站的高可用集群搭建_第12张图片

做如下配置

学习笔记之WEB网站的高可用集群搭建_第13张图片

这里配置的是如果web页面崩溃了怎么办

Prioritized 启用优先级,就是1号崩溃了,由2号顶上去,3号不能越级顶上去

Restricted 启用限制,就是下面Member打钩的才算入集群

No Failback 启用后,就是假如1号挂了,2号顶上去,但1号重起复活后,服务还是在2号上,不重新移交给1号


刚才说过了,因为这是虚拟fence,所以要在真机(mine.example.com)上做一些配置

依次yum安装以下工具(yum -y install fence-virtd fence-virtd-libvirt fence-virtd-multicast)那个serial串口的其实可以不用安装

学习笔记之WEB网站的高可用集群搭建_第14张图片

启动服务。(第二个服务默认就开着,主要是fence)

创建目录/etc/clustart.(默认是没有,需要创建的 mkdir /etc/cluster)

将key复制给server和client。注意也需要放到/etc/cluster 下。server和client默认是有这个目录的

学习笔记之WEB网站的高可用集群搭建_第15张图片

在物理真机下再执行命令(执行后,一直回车,再选择网卡  Interface时 需要输入自己和虚拟机相连接的那个网卡,最后需要输入个y表示确认。别回车上瘾了。。。。)

学习笔记之WEB网站的高可用集群搭建_第16张图片


配置节点node

    进入Node 点击 server.example.com.并一直往下拉

学习笔记之WEB网站的高可用集群搭建_第17张图片

选择 Add fence Method

学习笔记之WEB网站的高可用集群搭建_第18张图片

同理操作client.example.com 当然这时候就是fence-2了。


再选择Add Fence Device ,就是再刚才那个Add Fence Method 上边 。选择 fence_vm(你自己起的名字)填Domain。这是server.example.com 的UUID(同理client.example.com)

学习笔记之WEB网站的高可用集群搭建_第19张图片

      有人可能要问了虚拟机的UUID 在哪查呢。在virt-manager 里面.(Basic Detail 里的第二行就有UUID)我这是KVM,其他的虚拟机的UUID在哪查,就自己看吧

学习笔记之WEB网站的高可用集群搭建_第20张图片


测试cluster。其实这时的集群已经配置成功了,来测试一下(server 成功关闭了client。现象时client直接强行关机又重启动了)

若不成功,请在真机(mine.example.com)上执行 systemctl restart fence_virtd.service


好了。可以配置web网站了,将网站资源加到集群中


配置web网站

   给server 和 client 都下载安装httpd

    回到那个 配置用的网站。点击上方第一排的资源(Resources)。点击添加

第一个添加IP Address ,这个IP 地址必须是没有任何人使用的空IP。(集群工作时。谁在运行谁拥有这个IP)

学习笔记之WEB网站的高可用集群搭建_第21张图片

后来写完blog发现IP写错了(不要在意)

再选择添加,这会是脚本。(还有个选项是Apache,但那个是源码安装的,用yum安装的选这个)

学习笔记之WEB网站的高可用集群搭建_第22张图片

再返回添加资源组(Resource Group)选择Add

学习笔记之WEB网站的高可用集群搭建_第23张图片

创建一个Web组,做以下配置

Automactically Start This Service 自动开启此服务

Run Exclisive

学习笔记之WEB网站的高可用集群搭建_第24张图片

再选择添加资源。Add Resource ,就是Submit上面那个


添加顺序是IP -----> Apache

学习笔记之WEB网站的高可用集群搭建_第25张图片

submit后就OK!


使用clustat查看

学习笔记之WEB网站的高可用集群搭建_第26张图片

现在如果server.example.com 挂了,就自动接到client.example.com 了


Web的集群搭建初见成效了


开始将Web页面也以iscsi的形式


将server和client的web页面放到desktop上面。

在desktop上面上执行安装iscsi的服务器端

在server上和client上安装iscsi的客户端


在desktop上添加一块硬盘,并且配置配置文件分享出去

配置文件内写入(配置文件是 /etc/tgt/targets.conf)

学习笔记之WEB网站的高可用集群搭建_第27张图片

开启服务


使用如下命令,看到如下内容就算是分享成功了

[root@desktop ~]# tgt-admin -s
Target 1: iqn.2017.02.com.example:server.target1
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: null
            Backing store path: None
            Backing store flags: 
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 2147 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdb
            Backing store flags: 
    Account information:
    ACL information:
        172.25.7.10
        172.25.7.11


server和client都将desktop共享的盘弄过来


可以把其打造成逻辑巻

当逻辑巻创建好后,使用命令

格式化为gfs2的形式

开始在图形化配置工具上面配置

再在资源中添加文件系统

学习笔记之WEB网站的高可用集群搭建_第28张图片

再在资源组中添加这个文件系统。删掉上面的httpd.因为必须要有顺序。

ip ---> filesystem ---> httpd

学习笔记之WEB网站的高可用集群搭建_第29张图片


再将这个盘。手动挂载起来,要挂在/var/www/html 下.再写到fstab里面

学习笔记之WEB网站的高可用集群搭建_第30张图片




OK!!! 集群搭建完毕,将主页写到/var/www/html下吧。好了


这下就可以访问一个稳健的网页了

学习笔记之WEB网站的高可用集群搭建_第31张图片

你可能感兴趣的:(运维)