配置前提:
1.节点的名字必须跟uname -n的名字相同,而且两个主机必须能通过主机名来访问。尽量不通过DNS来访问。时钟时间保持一样。
2.双方的通信要必须通过SSL的无障碍通信机制
3.双节点之间可以通过某个IP来提供连接,但是这只是通信Ip,我们需要VIP来对外提供服务。
4.我采用虚拟机的方式实现配置,操作系统使用rhel5.4,x86平台
5.两个节点主机IP分别为192.168.145.100(node1.a.com),以及192.168.145/200(node2.a.com)
6.集群服务为apache的httpd服务
7.提供Web服务的地址(VIP)为192.168.145.10
8.在两个节点上分别准备一块大小为2G的分区用于实现DRBD的共享。(本文使用新分区/dev/sda5)
node1.a.com 配置
1.准备工作
[root@localhost ~]# vim /etc/sysconfig/network
HOSTNAME=node1.a.com
[root@localhost ~]# hostname node1.a.com
重新登录
[root@localhost ~]# vim /etc/sysconfig/network
HOSTNAME=node2.a.com
[root@localhost ~]# hostname node2.a.com
我们首先要保证两节点之间时间相差不应该超过1秒
[root@node1 ~]# hwclock -s
[root@node2 ~]# hwclock -s
分别在两个节点上设置
# vim /etc/hosts
192.168.145.100 node1.a.com node1
192.168.145.200 node2.a.c node2
生成密钥,确保通信正常
node1节点
[root@node1 ~]# ssh-keygen -t rsa
[root@node1 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub node2
node2节点
[root@node2 ~]# ssh-keygen -t rsa
[root@node2 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub node1
由于需要用到软件的依赖,这里配置yum,在node1上
# vim /etc/yum.repos.d/rhel-debuginfo.repo
1 [rhel-server]
2 name=Red Hat Enterprise Linux server
3 baseurl=file:///mnt/cdrom/Server
4 enabled=1
5 gpgcheck=1
6 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-RedHat-release
7 [rhel-cluster]
8 name=Red Hat Enterprise Linux cluster
9 baseurl=file:///mnt/cdrom/Cluster
10 enabled=1
11 gpgcheck=1
12 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
13 [rhel-vt]
14 name=Red Hat Enterprise Linux vt
15 baseurl=file:///mnt/cdrom/VT
16 enabled=1
17 gpgcheck=1
18 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
19 [rhel-clusterstorage]
20 name=Red Hat Enterprise Linux clusterstorage
21 baseurl=file:///mnt/cdrom/ClusterStorage
22 enabled=1
23 gpgcheck=1
24 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
[root@node2 ~]# scp node1:/etc/yum.repos.d/rhel-debuginfo.repo /etc/yum.repos.d/
在node1, node2上安装apache服务,为了测试在node1上创建含’node1.a.com’的index.html文件,在node2上创建’node2.a.com’的index.html确保服务能启动,这里采用yum安装:
# mount /dev/cdrom /mnt/cdrom
# yum install -y httpd
[root@node1 ~]# echo "node1.a.com" >>/var/www/html/index.html //node1上
[root@node2 ~]# echo "node2.a.com" >/var/www/html/index.html //node2上
# service httpd start
# chkconfig httpd on