前面写了如何安装HA配置工具Trekking Tool,见这里:安装及配置红旗高可用服务器 HA 5.0 [1] – 安装Trekking Tool 。接下来,需要把应用软件部署为适合高可用集群的环境。这是非常重要的一步。
由于今后应用软件的启动、关闭、切换等操作,都会由HA软件来进行。所以,在部署应用软件时,需要考虑以下几点:
2、因应用可能需运行在不同的服务器上,所以,若应用有保存数据,这些数据需放在共享盘柜上,以便应用切换后可以继续访问;
3、HA集群通常使用浮动IP地址对外提供服务,所以,应用需要在浮动IP地址上监听,而不是服务器的实际IP地址;
四、服务器系统环境准备
在使用Trekking Tool生成HA配置文件前,需要先把参与HA集群的两服务器环境设置好。以前面描述的系统架构为例。
1、设置服务器网卡地址
修改两服务器的网卡配置文件,设置为固定IP地址方式,其中,eth0用于外网,eth1用于两服务器互联心跳。
eth0:192.168.228.221 eth1:10.0.0.1
hatest2:
eth0:192.168.228.222 eth1:10.0.0.2
2、修改服务器主机名
在/etc/sysctl.conf的最后加入一行:
然后执行:
对于hatest2进行类似的设定。
3、修改hosts文件
两服务器修改/etc/hosts文件为如下内容:
192.168.228.221 hatest1
192.168.228.222 hatest2
192.168.228.223 hatestvip
10.0.0.1 hatest1_ip
10.0.0.2 hatest2_ip
127.0.0.1 localhost.localdomain localhost
☆ 务必在两服务器上,使用如ping hatest1等方式,测试网络状态、主机名设定是否正常。
4、连接共享盘柜
由于我使用的是VMware环境,要实现共享盘柜,需要在VMware的host主机环境中进行一些修改工作。
首先,使用Vmware Server的配置界面,给其中一台虚拟机hatest1添加一个磁盘,并选中File Options中“Allocate all disk space now”,以及Disk Mode中“Independent”–“Persistent”,还有Policies中“Optimize for safety”。
而Virtual Device Node,建议添加一个Adapter,即用SCSI 1(本地磁盘用SCSI 0)。
假设生成的文件存放在:
然后,在另外一台hatest2的配置界面上,添加一个磁盘,使用“Use an Existing Virtual Disk”,选择上面的磁盘分区,参数配置如上相同。完成后,修改两虚拟主机的配置文件,例如hatest1/rhel4.vmx,添加或修改原配置为:
scsi1.sharedBus = "virtual"
scsi1.virtualDev = "lsilogic"
scsi1:0.present = "TRUE"
scsi1:0.fileName = "/vmware/share/share.vmdk"
scsi1:0.writeThrough = "TRUE"
scsi1:0.mode = "independent-persistent"
disk.locking="false"
tools.syncTime = "TRUE"
保存后,启动hatest1主机。
在系统上用fdisk、mkfs.ext3等工具进行分区和格式化,并用用mount测试读写是否正常。再启动另外一台主机hatest2,检查/dev/sdb1是否可正常识别,在hatest1已经umount该设备的情况下,mount上/dev/sdb1读写。测试两机器是否可以单独对该盘柜进行操作。若成功,表示共享盘柜配置完成。
5、部署应用软件
如前面系统架构说明中描述的,这次我们的应用以httpd(Apache 2.0)为例。为方面演示,我们会建立一台虚拟主机,然后把其目录定义在共享盘柜上,也就是:
修改/etc/httpd/conf/httpd.conf,再最后添加:
ServerAdmin webmaster@linuxfly.cn
DocumentRoot /data
ServerName haexample.linuxfly.cn
ErrorLog logs/haexample.linuxfly.cn-error_log
CustomLog logs/haexample.linuxfly.cn-access_log common
</VirtualHost>
6、测试脚本
在/data建立一个index.php的文件,内容如下:
IP: <? echo $_SERVER["SERVER_ADDR"] ?> <br>
PORT: <? echo $_SERVER["SERVER_PORT"] ?> <br>
HOSTNAME:
<?
// php v5.1
//echo $_ENV["HOSTNAME"];
// php v5.0
system("hostname")
?> <br>
DOCUMENT_ROOT: <? echo $_SERVER["DOCUMENT_ROOT"] ?> <br>
SCRIPT_FILENAME: <? echo $_SERVER["SCRIPT_FILENAME"] ?> <br>
CLIENT_IP: <? echo $_SERVER["REMOTE_ADDR"] ?> <br>
7、测试应用
按今后HA启动、关闭应用时执行的步骤顺序手动运行,以测试应用是否可在各服务器上独立运行。
a、激活浮动IP
在hatest1上执行:
# arping -c 5 -s 192.168.228.223 192.168.228.153
※ 命令arping的意思是用指定的浮动IP地址192.168.228.223作为源地址,尝试连接网关192.168.228.153。作用是强制更新交换机的缓存,让其他客户端访问服务器时,知道浮动IP对应这台服务器的eth0的MAC地址。不进行这步,可能会导致即使激活浮动IP,但客户端仍访问不到的问题。
b、挂载盘柜
在hatest1上执行:
# mount /dev/sdb1 /data
c、启动应用
在hatest1上执行:
在客户端上使用浏览器访问http://haexample.linuxfly.cn,看结果是否正常。
(客户端需可以从DNS得到域名haexample.linuxfly.cn到浮动IP 192.168.228.223的对应关系。)
d、停止hatest1的服务
在hatest1上执行:
# umount /data
# ifconfig eth0:0 down
e、在备机上启动应用
确认hatest1上停止应用、卸载盘柜后,在hatest2上执行:
# arping -c 5 -s 192.168.228.223 192.168.228.153
# mkdir /data
# mount /dev/sdb1 /data
# /etc/init.d/httpd start
再次从客户端浏览器访问http://haexample.linuxfly.cn,看结果是否正常。
※ 千万要注意,不要在两服务器上同时挂载及读写盘柜,否则会导致数据损坏
配置Vmware vSphere 5.0 Auto Deploy服务:配置Auto Deploy 服务
配置Vmware vSphere 5.0 Auto Deploy服务:准备自定义脱机库
给VMware vSphere Hypervisor(ESXi) 5.0 添加第三方驱动
创建VMware vSphere 5 使用的共享磁盘
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/linux/111298.html