Azure现在不是一个什么新鲜话题了,但可以说Azure的功能还在逐渐增加,包括性能上的优化,具体就不多介绍了,近期呢闲着没事,就尝试在Azure上部署Apache服务的高可用性部署,如果在本地部署Apache服务的高可用性的话,会用到LVS+Keepalived等服务来实现Apache的高可用性配置,如果我们将Apache服务部署到windows azure上的话,就省去了LVS+Keepalived的配置,所以相对比较简单一点。在Azure上部署高可用性配置的基本原理为,将多台VM配置到同一个云服务下(一个云服务代表一个公网IP),然后配置相应的终结点高可用性和负载平衡器就可以实现了,Apache和Nginx的配置一样,具体见下:
环境介绍:
Hostname:Webserver01.iternalsoft.com
IP:10.10.1.20
Role:Apache Server
Hostname:Webserver02.iternalsoft.com
IP:10.10.1.21
Role:Apache Server
Cloud Service:Iternal
我们选择从库中选择Centos7
在此我们需要注意,我们需要将该VM和上面的VM放在同一个云服务下可实现高可用性
接下来就是开始配置可用性集了
我们单击进入服务器配置----配置---可用性集合
接着我们同样将webserver02加入到该可用性集即可
我们选择-刚才新建的可用性集合--保存即可加入到可用性集合中
可用性配置完成后,我们接下来配置开发端口了-----终端
单击vm---终端店---添加
在此我们需要选择需要开发的端口--终结点---HTTP
注:需要勾选创建负载均衡节点
我们所需服务的对应的端口已经创建了负载平衡集
HTTPS 443
HTTP 80
接下来就是配置webserver02了,我们需要按照同样的方法操作,唯一区别就是webserver02只需要添加到刚才新建的负载平衡集合中即可
我们选择将中街店添加到现有的负载平衡集中终结点负载平衡添加完成
接下来我们就使用xshell连接到两台服务器上开始安装及配置服务
连接前我们需要确认的是,如果从外部ssh的话需要确认端口,因为两台vm使用的是同一个云服务,ssh的默认端口是22,所以我们需要确认端口信息
Webserver01的外网ssh端口为22
登录的第一件事是我们需要启用root管理员,因为默认azure是没有启用root的,所以我们需要启用root管理员信息
1
|
Sudo -
su
root
|
输入gavin默认账户的信息进行确认
然后我们passwd root 修改root的密码进行启用
1
2
|
Passwd root
New
pwd
|
root登录后,我们接下来就是修改计算机名了
1
2
|
Hostnamectl
set
-
hostname
web-server01
|
关闭防火墙
1
2
|
Systemctl stop firewalld
Systemctl disable firewalld
|
关闭性能调试
1
|
Vim
/etc/selinux/config
|
如果需要以上服务生效的话我们需要重启系统
Reboot
接着我们按照以上方法需要修改webserver02的相关信息
接下来就是安装apache服务了
1
|
Yum
install
-y httpd
|
安装完成后,可以通过rpm查看httpd的版本,我们查看到已安装的是httpd-2.4.6-31
1
|
rpm -qa |
grep
httpd
|
我们首先是备份httpd.conf的文件,因为我们需要修改httpd.conf的文件,所以建议操作前备份一下
1
|
Cp
/etc/httpd/conf/httpd
.conf
/etc/httpd/conf/httpd
.conf.bak
|
1
|
Ls
/etc/httpd/conf/
|
1
2
3
|
启动httpd服务
Systemctl start httpd
Netstat -anlpt
|
接下来为了更好的演示页面,所以我们修改默认页面内容:
我们都知道apache默认的访问页面在
1
|
/etc/httpd/conf
.d
/welcome
.conf
|
接下来我们创建一个默认的index.html文件来定义显示内容
1
|
Cd
/var/www/html
|
该默认路径没有index.html文件,所以我们要创建一个,然后编辑内容
1
|
vim index.html
|
保存后,我们重启httpd服务,继续访问
1
|
Systemctl restart httpd
|
继续访问测试,结果是可以的
接着我们开始配置webserver02的以上信息
1
|
我们yum
install
-y httpd
|
然后我们在server01上运行scp讲index.html文件拷贝到server02上
1
|
scp
/var/www/html/index
.html 10.10.10.5:
/var/www/html/index
.html
|
保存后,我们就重启服务
1
|
Systemctl restart httpd
|
接下来我们进行两次高可用测试
首先我们在server01上停止httpd服务,然后尝试访问
由于server01的httpd停止,所以会访问server02的信息
现在我们将server01的httpd启用,然后将server02的httpd停止
继续访问测试;会跳转到server01的配置页面
在此windowsazure下的高可用配置介绍完成,
最后我们再说说azure上可以实现对可用性服务的缩放服务,所谓的缩放服务就是对高可用群集服务进行停机维护,当服务在满负载的情况下会运行,服务不高的时候会自动停机来节省费用
因为在windows azure上定义高可用性集就是所谓的多台vm对应一个云服务,所以我们配置缩放需要在云服务下进行配置
单击云服务----缩放
我们可以看见缩放可以根据:CPU、队列进行缩放配置;当然我们也可以通过时间段进行缩放配置呢:
1.如果根据时间进行缩放的话,可以定义一个时间段对某个服务进行停机,然后经过定义的时间段会自动启动
2.通过CPU定义的话,如果CPU超过定义值,服务器具会自动启动
3.通过队列进行定义,如果队列超过了指定的值,服务器也会自动启动
本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1711602,如需转载请自行联系原作者