linux学习之使用RHCS套件搭建HA高可用集群

参考文档网站https://access.redhat.com/site/documentation/zh-CN/Red_Hat_Enterprise_Linux/index.html

这里使用rhel6.5操作系统

真机:192.168.2.42 ankse.example.com结点1:192.168.2.109 server109.example.com结点2:192.168.2.205 server205.example.com过程中注意各个结点解析,时间同步

1、两个结点配置yum[root@server205 ~]# vim /etc/yum.repos.d/rhel-source.repo# repos on instructor for classroom use# Main rhel6.5 server[base]name=Instructor Server Repositorybaseurl=http://192.168.2.251/pub/rhel6.5gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release# HighAvailability rhel6.5[HighAvailability]name=Instructor HighAvailability Repositorybaseurl=http://192.168.2.251/pub/rhel6.5/HighAvailabilitygpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release# LoadBalancer packages[LoadBalancer]name=Instructor LoadBalancer Repositorybaseurl=http://192.168.2.251/pub/rhel6.5/LoadBalancergpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release# ResilientStorage[ResilientStorage]name=Instructor ResilientStorage Repositorybaseurl=http://192.168.2.251/pub/rhel6.5/ResilientStoragegpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release# ScalableFileSystem[ScalableFileSystem]name=Instructor ScalableFileSystem Repositorybaseurl=http://192.168.2.251/pub/rhel6.5/ScalableFileSystemgpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[root@server205 ~]# yum clearn all真机yum添加# HighAvailability rhel6.5[HighAvailability]name=Instructor HighAvailability Repositorybaseurl=http://192.168.2.251/pub/rhel6.5/HighAvailabilitygpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release2、安装管理软件luci和ricci真机安装luci[root@ankse ~]# yum install luci -y[root@ankse ~]# /etc/init.d/luci start虚拟机结点分别[root@server205 ~]# yum install -y ricci[root@server205 ~]# passwd ricciChanging password for user ricci.New password: 修改密码为rootpasswd: all authentication tokens updated successfully.[root@server205 ~]# /etc/init.d/ricci start[root@server205 ~]# chkconfig ricci on3、配置集群真机浏览器访问https://ankse.example.com:8084首先使用真机root登入,之后在admin授权给一普通用户权限,避免使用root使用ankse登录,creat,创建集群名称,加入主机,密码是ricci的密码,选择下载包,加入集群重启,支持分享存储,创建;在结点上clustat命令查看集群状态。安装fence,当一台设备故障时,直接断掉它的电源,避免瞬间故障导致脑裂;[root@ankse ~]# yum install fence-virt fence-virtd fence-virtd-libvirt fence-virtd-multicast -y[root@ankse ~]# fence_virtd -c 生成配置文件Module search path [/usr/lib64/fence-virt]:Listener module [multicast]:Multicast IP Address [225.0.0.12]:Multicast IP Port [1229]:Interface [none]: br0Key File [/etc/cluster/fence_xvm.key]:Backend module [checkpoint]: libvirtLibvirt URI [qemu:///system]:Replace /etc/fence_virt.conf with the above [y/N]? y[root@ankse ~]# mkdir /etc/cluster[root@ankse ~]# cd /etc/cluster/[root@ankse cluster]# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1[root@ankse cluster]# scp fence_xvm.key 192.168.2.109:/etc/cluster/[root@ankse cluster]# scp fence_xvm.key 192.168.2.205:/etc/cluster/[root@ankse cluster]# /etc/init.d/fence_virtd start[root@ankse ~]# chkconfig fence_virtd on[root@ankse cluster]# netstat -anulp | grep fenceudp 0 0 0.0.0.0:1229 0.0.0.0:* 17405/fence_virtd 之后在网页上的集群中添加fence设备,选择设备为fence virt多波模式,name为vmfence,然后在每个结点上添加fence method,name为vmfence-1,再添加fence instance,domain写入从虚拟机管理器中得到的UUID。在cluster2:192.168.2.205上测试fence功能[root@server205 ~]# fence_xvm -H cluster1,之后cluster1就会重启添加failover domains输入name为web,prioritized优先级,restricted服务独占,no failback恢复不再接管。添加resource资源,IP地址192.168.2.208,向外部展示的虚拟ip,监控主机,不更新静态路由,时间间隔。script脚本,name为apache,Full Path to Script File /etc/init.d/httpd两个结点安装httpd,echo `hostname` > index.html。添加服务组,name为www,自动开启服务,恢复选择重新定位,再添加上边的两个资源。测试,访问192.168.2.208,关闭优先级高的httpd,会跳转到另一各结点;关闭运行httpd的结点eth0,该结点会被fence重启,httpd将运行到另一个结点上。内核崩溃测试echo c > /proc/sysrq-trigger.如果www为红色获取状态失败,在一个结点上查看状态clustat,如果一直recover,则关闭再激活clusvcamd -d www关闭 clusvcadm -e www激活添加设备资源在42真机上创建设备[root@ankse ~]# lvcreate -L 2G -n iscsi VolGroup[root@ankse ~]# yum install scsi-*[root@ankse ~]# vim /etc/tgt/targets.conf<target iqn.2014-05.com.example:server.target1> backing-store /dev/VolGroup/iscsi initiator-address 192.168.2.109 initiator-address 192.168.2.205</target>[root@ankse ~]# /etc/init.d/tgtd start[root@ankse ~]# chkconfig tgtd on[root@ankse ~]# tgt-admin -s 查看结点安装iscsi-initiator-utils[root@server109 ~]# iscsiadm -m discovery -t st -p 192.168.2.42[root@server109 ~]# iscsiadm -m node -l 登录到设备[root@server109 ~]# fdisk -cu /dev/sda 分区[root@server109 ~]# mkfs.ext4 /dev/sda1 格式化在网页中recources为集群添加设备,资源通过集群管理选择文件系统设备,name为wwwdata,挂载点选择/var/www/html,设备/dev/sda1,选择force unmount,快速状态检测,卸载设备失败重启结点,提交。服务组www里重新添加ip,设备,apache,提交。之后会自动挂在在某一结点上。selinux[root@server109 html]# ll -Z-rw-r–r–. root root unconfined_u:object_r:file_t:s0 index.htmldrwx——. root root system_u:object_r:file_t:s0 lost+found[root@server109 html]# restorecon -Rv .[root@server109 html]# ll -Z-rw-r–r–. root root unconfined_u:object_r:httpd_sys_content_t:s0 index.htmldrwx——. root root system_u:object_r:httpd_sys_content_t:s0 lost+found之后正常访问,一边httpd停止,则服务和磁盘转至另一结点。

4、添加GFS2资源[root@server109 ~]# clusvcadm -d www网页上先删除服务组的磁盘。再在资源删除wwwdata,在某结点修改sda1为8e,常常使用LVM。[root@server109 ~]# fdisk -cu /dev/sdaCommand (m for help): tHex code (type L to list codes): 8eCommand (m for help): w[root@server109 ~]# pvcreate /dev/sda1[root@server109 ~]# lvmconf –enable-cluster 使lvm支持集群[root@server109 ~]# /etc/init.d/clvmd restart[root@server109 ~]# vgcreate -cy clustervg /dev/sda1[root@server109 ~]# lvcreate -L 1G -n gfs2demo clustervg 在另一个结点上使用pvs、vgs、lvs可以查看到[root@server109 ~]# mount /dev/clustervg/gfs2demo /var/www/html/[root@server109 ~]# cd /var/www/html/ 建立index文件[root@server109 html]# restorecon -Rv . 刷新selinux上下文,如果没开就不用做了然后在另一个结点上挂载,查看selinux上下文以及index文件同步情况。设置开机自动挂载,所有结点都做同样操作。[root@server109 html]# blkid 找出设备的UUID[root@server109 ~]# vim /etc/fstabUUID="71d573d1-fead-36b2-ab50-1e62286525b7" /var/www/html gfs2 _netdev,defaults 0 0[root@server109 ~]# umount /var/www/html/ 结点上卸载[root@server109 ~]# mount -a 然后df查看[root@server109 ~]# clusvcadm -e www 打开集群服务,访问网站测试[root@server109 ~]# clusvcadm -r www -m server205.example.com重定位服务结点,访问测试。使用集群管理网页添加gfs2文件系统[root@server109 ~]# clusvcadm -d www 停止服务[root@server109 ~]# vim /etc/fstab 去掉自动挂载[root@server109 ~]# umount /var/www/html/ 卸载文件系统[root@server109 ~]# clusvcadm -d wwwLocal machine disabling service:www…Success[root@server109 ~]# clusvcadm -e wwwLocal machine trying to enable service:www…Success添加日志记录结点数[root@server109 ~]# gfs2_tool journals /dev/clustervg/gfs2demo 查看结点日志数[root@server109 ~]# lvextend -l +255 /dev/clustervg/gfs2demo[root@server109 ~]# gfs2_grow /dev/clustervg/gfs2demo 扩大文件系统容量,每个日志占用128M[root@server109 ~]# gfs2_jadd -j 2 /dev/clustervg/gfs2demo 添加两个结点日志[root@server109 ~]# gfs2_tool journals /dev/clustervg/gfs2demo 再次查看挂载分布式锁文件系统当集群出现问题,由于锁机制的存在,不允许挂载,所以使用[root@server109 ~]# gfs2_tool sb /dev/clustervg/gfs2demo all 查看设备所属集群信息lftp i:/pub> get gfs2.img 下载hacluster集群的文件系统测试,可由dd命令得到[root@server109 ~]# gfs2_tool sb gfs2.img all sb_lockproto = lock_dlm sb_locktable = hacluster:mygfs[root@server109 ~]# mount -t gfs2 -o lockproto=lock_nolock,loop gfs2.img /mnt/ 挂载文件,使用loop参数[root@server109 ~]# ls /mnt/good\ luck就可以查看该文件系统的文件了。如果困难是堵砖墙,拍拍它说你还不够高。

linux学习之使用RHCS套件搭建HA高可用集群

相关文章:

你感兴趣的文章:

标签云: