集群管理高可用(HA)
(红帽企业6.5系统)
在做集群节点之前,要将每个节点的火墙刷掉,selinux关掉。集群的节点至少两个。
iptables -F
/etc/init.d/iptables save
要在每个节点及管理的主机上做解析 vim /etc/hosts
将yum源重新配置,因为现在的yum源默认的是镜像中的server包,而集群配置所需要的包在“高可用”包中。
cd /etc/yum.repos.d/ ls lftp i get dvd.repo ls rm -fr yum.repo rm -fr rhel-source.repo ls
yum clean all 现在需要在两个集群节点上安装集群配置的服务 ricci,两个节点的时间必须同步
yum install ricci -y 图形化的配置集群的服务
需要给ricci服务设置密码
passwd ricci
现在将ricci启动,并将它设置为开机启动
/etc/init.d/ricci start
chkconfig ricci on
在集群节点管理机上安装luci服务,它可以提供一个web网页来管理集群节点
yum install luci -y图形化的配置集群的服务
将此服务启动 /etc/init.d/luci start
在web上打开这个链接 https://desktop14.example.com:8084 这是luci的开启自动给出的 ,然后用超户密码登录,再给其他用户授权,这些用户必须是
本机有的。
隔离设备
fence device 隔离设备 用kvm虚拟机来做这个隔离设备,可以进行forceoff的
这个只是模拟的
需要在管理集群节点的机子上安装隔离设备的包
yum install fence-virt fence-virtd fence-virtd-libvirt fence-virtd-multicast -y # fence_virtd -c 设置隔离设备 Module search path [/usr/lib64/fence-virt]: Available backends: libvirt 0.1 Available listeners: multicast 1.0 Listener modules are responsible for accepting requests from fencing clients. Listener module [multicast]: The multicast listener module is designed for use environments where the guests and hosts may communicate over a network using multicast. The multicast address is the address that a client will use to send fencing requests to fence_virtd. Multicast IP Address [225.0.0.12]: Using ipv4 as family. Multicast IP Port [1229]: Setting a preferred interface causes fence_virtd to listen only on that interface. Normally, it listens on all interfaces. In environments where the virtual machines are using the host machine as a gateway, this *must* be set (typically to virbr0). Set to 'none' for no interface. Interface [none]: br0 The key file is the shared key information which is used to authenticate fencing requests. The contents of this file must be distributed to each physical host and virtual machine within a cluster. Key File [/etc/cluster/fence_xvm.key]: Backend modules are responsible for routing requests to the appropriate hypervisor or management layer. Backend module [libvirt]: The libvirt backend module is designed for single desktops or servers. Do not use in environments where virtual machines may be migrated between hosts. Libvirt URI [qemu:///system]: Configuration complete. === Begin Configuration === backends { libvirt { uri = "qemu:///system"; } } listeners { multicast { key_file = "/etc/cluster/fence_xvm.key"; interface = "br0"; port = "1229"; address = "225.0.0.12"; family = "ipv4"; } } fence_virtd { backend = "libvirt"; listener = "multicast"; module_path = "/usr/lib64/fence-virt"; } === End Configuration === Replace /etc/fence_virt.conf with the above [y/N]? y 注:以上设置除“Interface”处填写虚拟机通信接口外,其他选项均可回车保持默认。 dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1 scp /etc/cluster/fence_xvm.key node1:/etc/cluster scp /etc/cluster/fence_xvm.key node2:/etc/cluster service fence_virtd start chkconfig fence_virtd on # netstat -anulp |grep fence udp 0 0 0.0.0.0:1229 现在在网页管理上添加隔离设备
可以手动隔离一个节点,另一各节点可以热接管
fence_xvm -H joan
添加错误维护域
添加资源
添加服务组
再节点上执行的命令,
clusvcadm -d sss 关闭此服务组 clustat 查看节点和服务的状态 clusvcadm -e sss 开启此服务组
刚刚添加了apache服务
所以要在每个节点上安装apache服务
为了区分两台内容可以重新编辑一下默认访问主页
cd /var/www/html/
echo `hostname` > index.html
ok现在可以在web网页上访问 刚刚添加的那个ip服务,他是一个浮动ip
192.168.2.77
就可以看到你做的那个优先级高的再接管服务
如果将这个节点上的http关掉,那末那个优先级低的候补立马接管
如果ifconfig eth0 down 是这个节点的网可关掉,他会尝试恢复,如果恢复不了,他就会被集群forceoff,然后重启当替补,如果优先级高的话,那末他就会立即接管
给集群管理加存储服务
在一个存储服务器上共享一块硬盘,作为存储(在实验中,就直接在集群管理的那台服务器上共享一块硬盘)
yum install scsi-* vgs lvcreate -L 1G -n iscsi cinder-volumes lvs vim /etc/tgt/targets.conf
/etc/init.d/tgtd start
chkconfig tgtd on
在节点上要可以发现这个共享的存储设备 ,在所有的节点上都得执行
yum install iscsi-*
iscsiadm -m discovery -t st -p 192.168.2.14
fdisk -l /dev/dev
iscsiadm -m node -l 激活设备
1.现在在一个节点上给此设备做 分区和格式化 (做本地文件系统 ext4)
fdisk -cu /dev/sda
mkfs.ext4 /dev/sda1
现在将此设备先挂载到/var/www/html下
给设备上写入东西,方便访问
现在解挂 umount /var/www/html
交给集群管控,哪台工作,哪台被挂
在web管理界面上添加存储设备资源和资源组 先关闭资源组
再去资源组添加此资源
ok现在开启服务组
clusvcadm -e sss
2.现在在一个节点上给此设备做 分区和格式化 (做网络文件系统 gfs2)
clusvcadm -d sss 先停掉服务组
删掉服务组里的文件系统资源去掉,再到资源里删掉存储设备资源
fdisk -cu /dev/sda 把它做成LVM形式
t 8e p w
pvcreate /dev/sda1
lvmconf --enble-cluster 在 /etc/lvm/lvm.conf做更改,使它可以支持集群
重启服务 /etc/init.d/clvmd restart
格式化为gfs2的格式 -t跟更集群的名字:后是标签
(1)这中挂载是开机自动挂载 直接写入/etc/fstab 在所有节点都做这个操作
查看系统设备信息
vim /etc/fstab
现在mount -a 刷此文件,同时挂载
cd /var/www/html
vim index.html 写东西来测试web测试
访问集群配的ip资源 的ip 192.168.2.77可以看到
ok现在开启服务组
clusvcadm -e sss
(2)直接在web管理上面添加
clusvcadm -d sss 先停掉服务组
在/etc/fstab中注释掉gfs2设备的挂载 ,解挂
现在在资源加存储设备资源,集群管控 加服务组
ok现在开启服务组
clusvcadm -e sss
现在哪个节点工作,那个节点挂载
前提:clusvcadm -d sss 删掉原来的存储设备 lvs vgs vgremove clustervg lvs pvs pvremove /dev/sda1 iscsiadm -m node -u iscsiadm -m node -o delete 多路经存储(在一做存储的服务器上共享一快存储磁盘设备,在这个服务器上加一块虚拟磁盘,加一个虚拟网卡)
将这个虚拟磁盘共享出去
yum install scsi-*
vim /etc/tgt/targets.conf
/etc/init.d/tgtd start 配置另一快网卡cd /etc/sysconfig/network-scripts/ ls cp ifcfg-eth0 ifcfg-eth1
/etc/init.d/network restart
在所有节点上 登入这个共享设备 多路登入 做冗余
iscsiadm -m discovery -t st -p 192.168.2.43 iscsiadm -m node -p 192.168.2.43 -l iscsiadm -m discovery -t st -p 192.168.2.245 iscsiadm -m node -p 192.168.2.245 -l fdisk -l device-mapper-multipath yum install device-mapper-multipath ( multipath --enable(这个只需要在一个节点上做,其他的复制这个配置文件) vim /etc/multipath.conf
)
/etc/init.d/multipathd start 启动多路映射服务
scp /etc/multipath.conf 192.168.2.49:/etc/ 复制给另一节点
multipath -l 查看多路映射设备信息
fdisk -cu /dev/mapper/mpatha 在这个设备上做主分区(在一个节点上做,其他节点会同步)
cat /proc/partitions 看是否分区刷新成功(所有节点都做)
partprobe 没有的话刷新就刷新
mkfs.ext4 /dev/mapper/mpathap1 格式化
mount /dev/mapper/mpathap1 /var/www/html挂载测试 写个东西 cd /var/www/html ls vim index.html 在web管理上添加 存储设备资源 和服务组
ok现在开启服务组
clusvcadm -e sss
测试 192.168.0.77如果一个网卡down掉的话 存储就会跳到另一条路。