设为首页 收藏本站
查看: 3514|回复: 0

[经验分享] RHEL7配置APACHE服务的HA

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-6 08:27:33 | 显示全部楼层 |阅读模式
  本文主要目的是可以帮助你按部就班的配置出一套RHEL7的双机服务出来,这里面暂时不会讲到双机概念和为什么这么做,参数为什么这么写,为什么敲这个命令,再详细的文章,等以后,我一定会出

        系统版本:RHEL7

        ha1::192.168.1.80  
ha2 :192.168.1.81
vip: 192.168.1.82

    1:先安装两个RHEL7操作系统,安装步骤略,网上镜像和文章一大把,我就不赘述,唯一要注意的是,安装包那里我们选择最基本的basic安装就行了,不需要图形化.

    2:配置IP,注意的是,RHEL7最小化安装默认是没有ifconfig命令的,因为从RHEL7开始,已经是全新的网络管理,推荐使用ip命令进行操作,所以,我们最好也随俗,如果你非要用ifconfig命令,安装net-toos这个软件包,那么配置ip的方法我就不赘述了,直接修改配置文件即可
[iyunv@ha1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR=00:1A:4A:CF:B4:5C
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
NAME=eth0
UUID=7e983225-8a8e-4c5f-bb5b-ffa160b3bf93
ONBOOT=yes
IPADDR=192.168.1.80
NETMASK=255.255.255.0
GATEWAY=192.168.1.1


    3:修改主机名,并且写入hosts里面
[iyunv@ha1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.80    ha1
192.168.1.81    ha2
192.168.1.82    app
[iyunv@ha1 ~]# cat /etc/hostname
ha1

    4:关闭selinux和关闭防火墙
我们需要将selinux配置文件里面修改成disable,比如
[iyunv@ha1 ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
然后关闭防火墙
    systemctl stop firewalld
    systemctl disable firewalld
重启你的服务器,两台都需要做

    5:安装双机软件,我们这里通过yum去做,把你的光盘放进系统,并且挂载到/iso目录下面,然后编写yum配置文件
[iyunv@ha1 ~]# cat /etc/yum.repos.d/wuhao.repo
[rhel7]
name=rhel7
baseurl=file:///iso
enable=1

[1]
name=cluster
baseurl=file:///iso/addons/HighAvailability
enable=1


[2]
name=cluster1
baseurl=file:///iso/addons/ResilientStorage
enable=1

然后我们开始安装
     yum install  lvm2-cluster corosync pacemaker pcs fenceagents-all -y --nogpgcheck

两边都要操作
    6:开始配置集群软件
       首先注意的是,我们安装操作系统时候没有选择图形化界面,也就是说我们所有的配置将是用命令行去完成,图形化的配置方法我自己研究了下,发现,不是点这个按钮没反映,就是点完以后报莫名其妙的错误,完全没有命令行来的快,这也许可能是我比较菜 j_0016.jpg 也可能是7.0,的确不是一个稳定的版本吧.那么我们下面开始配置属于我们自己的HA服务
    先两台都启动pcs服务
systemctl start pcsd   
然后给hacluster用户设置统一的密码,这用户说白了就是统一管理集群用的,同时负责认证集群中的节点.
passwd hacluster
xx
xx
我们验证两台节点
[iyunv@ha1 ~]# pcs cluster auth ha1 ha2
ha1: Already authorized
ha2: Already authorized

因为我已经验证过了,所以这里说已经验证.第一次验证要你输的用户和密码记得是上面的hacluster,不是root哦!
pcs cluster setup --name wuhaocluster ha1 ha2  (wuhaocluster填你想取的名字)
然后我们启动集群
[iyunv@ha1 ~]#  pcs cluster start  --all
查看我们的集群状态  
[iyunv@ha1 ~]# pcs status
Cluster name: wuhaocluster
Last updated: Mon Jan  5 14:59:34 2015
Last change: Mon Jan  5 14:25:46 2015 via cibadmin on ha1
Stack: corosync
Current DC: ha2 (2) - partition with quorum
Version: 1.1.10-29.el7-368c726
2 Nodes configured
2 Resources configured


Online: [ ha1 ha2 ]
注意我红色的地方,说明你的HA已经启动成功,其实到这里,你的双机就已经配好了,剩下的只不过是加一些资源进去而已
    那么我们这次要用的只有两个资源,就是apache和一个浮动IP,let's do it!
pcs property set stonith-enabled=false 这条命令的意思是,双机不起用stonith设备,什么是stonith?自己g一下,或者你不需要管,你就按照敲一下就行了,以后我会放概念文章的

[iyunv@ha1 ~]# pcs   resource create ClusterIPocf:heartbeat:IPaddr2   ip=192.168.1.82cidr_netmask=24 op monitor interval=30s   
这里你唯一要修改的就是 ip和cidr_netmask两个值,改成你的虚拟IP和掩码就行了,其他的你不许要弄懂什么意思,至少目前

然后我们看一下双机状态!
[iyunv@ha1 ~]# pcs status
Cluster name: wuhaocluster
Last updated: Mon Jan  5 15:05:20 2015
Last change: Mon Jan  5 14:25:46 2015 via cibadmin on ha1
Stack: corosync
Current DC: ha2 (2) - partition with quorum
Version: 1.1.10-29.el7-368c726
2 Nodes configured
2 Resources configured


Online: [ ha1 ha2 ]

Full list of resources:

ClusterIP    (ocf::heartbeat:IPaddr2):    Started ha2
注意红色的部分,你成功将虚拟IP添加进入了你的集群!
下面,我们还要添加http服务进入到你的集群,你需要先安装他,并且写一个首页文件
yum install httpd

[iyunv@ha1 ~]# cat /var/www/html/index.html
这里是1号机
[iyunv@ha2 ~]# cat /var/www/html/index.html
这里是2号机
写这个文件不是必须的,但是可以测试的时候更加直观一点
还有一点注意的是,我们需要配置apache的监控方法,这里我们按照官网的一个办法,就是配置apache-status,两台节点都要修改成下面这样哦!

        vi /etc/httpd/conf/httpd.conf
        <Location /server-status>
          SetHandler server-status
           Orderdeny,allow
           Denyfrom all
           Allowfrom 127.0.0.1
        </Location>

然后我们添加进入到集群当中来

[iyunv@ha1~]#pcs resource create Webocf:heartbeat:apache configfile=/etc/httpd/conf/httpd.conf       statusurl="http://localhost/server-status"op monitor interval=30s

查看集群状态

[iyunv@ha1 ~]# pcs status
Cluster name: wuhaocluster
Last updated: Mon Jan  5 15:13:21 2015
Last change: Mon Jan  5 14:25:46 2015 via cibadmin on ha1
Stack: corosync
Current DC: ha2 (2) - partition with quorum
Version: 1.1.10-29.el7-368c726
2 Nodes configured
2 Resources configured


Online: [ ha1 ha2 ]

Full list of resources:

ClusterIP    (ocf::heartbeat:IPaddr2):    Started ha2
Web    (ocf::heartbeat:apache):    Started ha1

注意红色的部分,到这里,恭喜你的HA已经配置好了,剩下的只是一些调整了,有没有注意到你的两个服务分别跑在两台机器上面?其实这是RHEL7双机比较好的地方,他认为应该利用每个节点的硬件资源,所以会智能的把服务跑在各个节点,但是对于我们这个http架构来说,入股你的虚拟IP和你的APACHE都不在一台机器上面,客户如何访问你的页面?所以我们需要修改
pcs constraintcolocation add Web ClusterIP INFINITY
上面的命令就是强制的把web和CLusterIP两个服务绑在一台机器上面,另外我们还需要确保ip服务一定是在http服务之前运行起来的,你想想看,没有IP,你httpd起来有什么意义?如果是一些特殊场景,比如数据库,你的数据在存储上面,如果存储不是在数据库启动脚本之前就被挂载起来,那ORACLE启动脚本怎么可能执行成功?
[iyunv@ha1 ~]# pcs constraint order ClusterIP then Web

好,我们再看下双机状态
[iyunv@ha1 ~]# pcs status
Cluster name: wuhaocluster
Last updated: Mon Jan  5 15:13:21 2015
Last change: Mon Jan  5 14:25:46 2015 via cibadmin on ha1
Stack: corosync
Current DC: ha2 (2) - partition with quorum
Version: 1.1.10-29.el7-368c726
2 Nodes configured
2 Resources configured


Online: [ ha1 ha2 ]

Full list of resources:

ClusterIP    (ocf::heartbeat:IPaddr2):    Started ha2
Web    (ocf::heartbeat:apache):    Started ha2



PCSD Status:
  ha1: Online
  ha2: Online

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/disabled

现在都运行在2机上面了,打开你的浏览器,我们访问你的虚拟IP,应该是下面的结果
这里是2号机
好了,到此你的RHEL7+APACHE服务就配置好了,你可以尝试重启,停止网络等服务,来测试切换是否顺利,这篇文章的目的,是帮助那些接触过REDHAT双机的人快速上手的,更基础的文章,我日后会放出,另外PCS非常强大,有一起研究的可以在我的博客下面留言,大家一起学习进步!有问题加我的QQ
447040885

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-40262-1-1.html 上篇帖子: Apache部署django项目 下篇帖子: apache 中文乱码问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表