完成一个包含5个节点的RHCS集群,测试功能,实现HTTP,SSH服务的任务调度和节点监控任务。
在VMWARE环境下,完成五个节点的LVS+KEEPALIVED系统安装调试。要求两台虚拟机完成LOADER调度工作+MONITOR监控节点工作,两台虚拟机完成HTTP,SSH服务工作,一台虚拟机管理ISCSI设备。
逻辑结构有四部分组成:
①调度监控部分:完成三个工作,第一是接受所有的客户请求包,第二是按照调度算法调度任务,第三是监控各个主机的工作状态。
②后台服务部分:完成业务请求,譬如完成HTTP应答或FTP应答。
③存储部分:提供统一的数据存储平台。RS需要的数据均通过网络从改部分读取和写入。
④时间同步部分:完成集群中各个节点的系统时钟同步,保证业务流程的执行。
地址规划表 | ||
---|---|---|
节点类型 | 主机名 | IP地址 |
主DS | RS1 | 192.168.146.162 |
备用DS | RS2 | 192.168.146.161 |
Master web | MasterWeb | 192.168.146.160 |
Backup web | BackupWeb | 192.168.146.159 |
ISCSI server | ISCSI | 192.168.146.163 |
VIP | 192.168.146.200 |
启动ipv6
vi /etc/modprobe.d/blacklist.conf
注释blacklist ipv6
注释install ipv6 /bin/true
五台机子选一台做为NTP上层服务器
配置NTP上层层服务器
restrict default nomodify
restrict -6 default nomodify
b) 删除所有server开头的行
c) 添加以下两行,使用本机CMOS时钟作为标准时间来源,并把本服务器设置为第8层
server 127.127.1.0
fudge 127.127.1.0 stratum 8
service ntpd restart ; chkconfig ntpd on
配置NTP下层服务器
server 192.168.146.160 maxpoll 3
service ntpd restart ; chkconfig ntpd on
使用date命令可查看本机时间。
1、在Master web服务器和Backup web服务器上安装keepalived(这里前提系统中有keepalived安装包)
yum install -y keepalived
2、编辑keepalived.conf文档
vi /etc/keepalived/keepalived.conf
Master web服务器的keepalived.conf如下
global_defs {
router_id MasterWeb
}
vrrp_instance NW3007 {
state MASTER
interface eth0
virtual_router_id 31
priority 100
advert_int 5
track_interface {
eth0 }
authentication {
auth_type PASS
auth_pass gr123456
}
virtual_ipaddress {
192.168.146.200
}
}
virtual_server 192.168.146.200 80{
delay_loop 3
lb_algo wrr
lb_kind DR
protocol TCP
ha_suspend
real_server 192.168.146.161 80 {
weight 3
TCP_CHECK {
connect_timeout 3
}
}
real_server 192.168.146.162 80 {
weight 3
TCP_CHECK {
connect_timeout 3
}
}
}
Backup web服务器keepalived.conf如下
global_defs {
router_id BackupWeb
}
vrrp_instance NW3007 {
state BACKUP
interface eth0
virtual_router_id 31
priority 96
advert_int 5
track_interface {
eth0 }
authentication {
auth_type PASS
auth_pass gr123456
}
virtual_ipaddress {
192.168.146.200
}
}
virtual_server 192.168.146.200 80{
delay_loop 3
lb_algo wrr
lb_kind DR
protocol TCP
ha_suspend
real_server 192.168.146.161 80 {
weight 3
TCP_CHECK {
connect_timeout 3
}
}
real_server 192.168.146.162 80 {
weight 3
TCP_CHECK {
connect_timeout 3
}
}
}
3、启动keepalived服务并设置为开机自启
chkconfig keepalived on
service keepalived start
4、安装ipvsadm
加载ip_vs
modprobe ip_vs
yum install -y ipvsadm
service ipvsadm start
ipvsadm -L -n
5、在RS1和RS2服务器上通过以下内容的shell脚本启停LVS功能
lvs.sh
#!/bin/bash
#description : start realserver
SNS_VIP=192.168.146.200 #定义了VIP变量,必须跟真是服务在一个网段
/etc/rc.d/init.d/functions
case "$1" in
start)
echo " start LVS of REALServer"
#增加并配置虚拟网卡 lo:0
/sbin/ifconfig lo:0 $SNS_VIP broadcast $SNS_VIP netmask 255.255.255.255 up
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
stop)
/sbin/ifconfig lo:0 down
echo "close LVS Directorserver"
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
chmod a+x lvs.sh
chmod a+x /etc/rc.d/init.d/functions
./lvs.sh start
运行成功后通过ifconfig命令可以发现多了个lo:0的网卡
6、在RS1和RS2上开启httpd服务
#!/bin/bash
#if [`yum list install | grep httpd|wc -l -eq 0 ];then
#echo 'installing httpd'
#output=`yum -y install httpd`
#unset output
#fi
#echo "installed httpd"
hostname=`hostname`
ipadd=`ifconfig eth0|grep "inet addr:"|awk -F":" '{print $2}'|awk '{prin t $1}'`
echo $hostname+$ipadd > /var/www/html/index.html
chkconfig httpd on
service httpd resrat
7、验证keepalived+lvs
8、gfs+ISCSI构建文件服务器
选取的服务器为ISCSI(192.168.146.163)、RS1(192.168.146.162)、RS2(192.168.146.161)
此处ISCSI服务器用的是第二块硬盘
(1)三台机器设置主机名解析
echo "192.168.146.161 RS2" >> /etc/hosts
echo "192.168.146.162 RS1" >> /etc/hosts
echo "192.168.146.163 ISCSI" >> /etc/hosts
(2)ISCSI安装luci,两台RS服务器安装必要软件包
ISCSI:
yum install -y luci
service luci start
两台RS:
yum install -y ricci
service ricci start
chkconfig ricci on
lvmconf --enable-cluster
yum install -y gfs2-utils lvm2-cluster rgmanager modcluster
chkconfig rgmanager on
chkconfig cman on
service rgmanager start
service cman start
启动cman如出现错误:
Starting cman… xmlconfig cannot find /etc/cluster/cluster.conf [FAILED]
是因为节点还没有加入集群,没有产生配置文件/etc/cluster/cluster.conf。
echo redhat | passwd --stdin ricci
使用passwd命令设置ricci用户的密码为’redhat’,这个用户及其密码用于集群间的交流认证。
(3)浏览器访问https://192.168.146.163:8084
用户密码为系统的root帐号密码。
创建新集群并把RS1和RS2加到集群节点里。
点击Manager Clusters—> Create 创建一个集群,集群名称,添加每个节点的主机名和密码,勾选Download Packages、Reboot Nodes Before Joining Cluster、Enable Shared Storage Support,最后点击Create Cluster创建集群,创建过程中两台节点会重启。重启后可以看到节点状态是Online,说明集群配置成功
(4)ISCSI安装scsi-target-utils
yum install -y scsi-target-utils
chkconfig tgtd on
service tgtd start
tgtadm --lld iscsi --op new --mode target --tid 1 -T webdata
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb
tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
tgtadm --lld iscsi --op show --mode target
可以看到多了个LUN
vi /etc/rc.local 将下面的配置写入rc.local
tgtadm --lld iscsi --op new --mode target --tid 1 -T webdata
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb
tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
(5)RS1或RS2映射ISCSI上的/dev/sdb
映射:
yum install -y iscsi-initiator-utils
iscsiadm -m discovery -t sendtargets -p 192.168.146.163
iscsiadm -m node -T webdata -p 192.168.146.163 -l
使用fdisk -l可查看多了一块/dev/sdb的盘
(6)配置gfs文件系统
pvcreate /dev/sdb
vgcreate datavg /dev/sdb
lvcreate -L 4G -n lv1 datavg
cman_tool status|grep Name #查看cluster name
Cluster Name: gr_web
mkfs.gfs2 -p lock_dlm -t gr_web:gfs -j 2 /dev/datavg/lv1
(7)在RS1和RS2上挂在gfs
echo " /dev/datavg/lv1 /var/www/html gfs2 defaults 0 0" >> /etc/fstab
mount -a
如果挂载bad请自行vi /etc/fstab
(8)验证配置
修改某一节点(RS1或者RS2)的/var/www/html里的内容另一台节点上也会更改。