阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

155次阅读
没有评论

共计 10067 个字符,预计需要花费 26 分钟才能阅读完成。

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

相关阅读

RHCS+GFS(红帽 HA+GFS) http://www.linuxidc.com/Linux/2014-04/99574.htm

基于 RHCS+iSCSI+CLVM 实现 Web 服务的共享存储集群架构 http://www.linuxidc.com/Linux/2013-05/84888.htm

RHCS 多节点部署应用企业环境 http://www.linuxidc.com/Linux/2013-05/84456.htm

RedHat 5.8 x64 RHCS Oracle 10gR2 HA 实践配置 http://www.linuxidc.com/Linux/2013-03/81589.htm

RHCS 基于 Java 的 HA 双机热备 http://www.linuxidc.com/Linux/2012-12/76587.htm

图解 RHCS 的安装配置与应用 http://www.linuxidc.com/Linux/2012-11/75111.htm
 
这里使用 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 Repository
 baseurl=http://192.168.2.251/pub/rhel6.5
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 
# HighAvailability rhel6.5
 [HighAvailability]
 name=Instructor HighAvailability Repository
 baseurl=http://192.168.2.251/pub/rhel6.5/HighAvailability
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 
# LoadBalancer packages
 [LoadBalancer]
 name=Instructor LoadBalancer Repository
 baseurl=http://192.168.2.251/pub/rhel6.5/LoadBalancer
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 
# ResilientStorage
 [ResilientStorage]
 name=Instructor ResilientStorage Repository
 baseurl=http://192.168.2.251/pub/rhel6.5/ResilientStorage
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 
# ScalableFileSystem
 [ScalableFileSystem]
 name=Instructor ScalableFileSystem Repository
 baseurl=http://192.168.2.251/pub/rhel6.5/ScalableFileSystem
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 [root@server205 ~]# yum clearn all
 真机 yum 添加
 # HighAvailability rhel6.5
 [HighAvailability]
 name=Instructor HighAvailability Repository
 baseurl=http://192.168.2.251/pub/rhel6.5/HighAvailability
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 

2、安装管理软件 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 ricci
 Changing password for user ricci.
 New password: 修改密码为 root
 passwd: all authentication tokens updated successfully.
 [root@server205 ~]# /etc/init.d/ricci start
 [root@server205 ~]# chkconfig ricci on

 

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-05/102023p2.htm

3、配置集群
 真机浏览器访问 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]: br0
 Key File [/etc/cluster/fence_xvm.key]:
 Backend module [checkpoint]: libvirt
 Libvirt 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 fence
 udp        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.html
 drwx——. 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.html
 drwx——. root root system_u:object_r:httpd_sys_content_t:s0 lost+found
 之后正常访问,一边 httpd 停止,则服务和磁盘转至另一结点。

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

相关阅读

RHCS+GFS(红帽 HA+GFS) http://www.linuxidc.com/Linux/2014-04/99574.htm

基于 RHCS+iSCSI+CLVM 实现 Web 服务的共享存储集群架构 http://www.linuxidc.com/Linux/2013-05/84888.htm

RHCS 多节点部署应用企业环境 http://www.linuxidc.com/Linux/2013-05/84456.htm

RedHat 5.8 x64 RHCS Oracle 10gR2 HA 实践配置 http://www.linuxidc.com/Linux/2013-03/81589.htm

RHCS 基于 Java 的 HA 双机热备 http://www.linuxidc.com/Linux/2012-12/76587.htm

图解 RHCS 的安装配置与应用 http://www.linuxidc.com/Linux/2012-11/75111.htm
 
这里使用 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 Repository
 baseurl=http://192.168.2.251/pub/rhel6.5
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 
# HighAvailability rhel6.5
 [HighAvailability]
 name=Instructor HighAvailability Repository
 baseurl=http://192.168.2.251/pub/rhel6.5/HighAvailability
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 
# LoadBalancer packages
 [LoadBalancer]
 name=Instructor LoadBalancer Repository
 baseurl=http://192.168.2.251/pub/rhel6.5/LoadBalancer
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 
# ResilientStorage
 [ResilientStorage]
 name=Instructor ResilientStorage Repository
 baseurl=http://192.168.2.251/pub/rhel6.5/ResilientStorage
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 
# ScalableFileSystem
 [ScalableFileSystem]
 name=Instructor ScalableFileSystem Repository
 baseurl=http://192.168.2.251/pub/rhel6.5/ScalableFileSystem
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 [root@server205 ~]# yum clearn all
 真机 yum 添加
 # HighAvailability rhel6.5
 [HighAvailability]
 name=Instructor HighAvailability Repository
 baseurl=http://192.168.2.251/pub/rhel6.5/HighAvailability
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 

2、安装管理软件 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 ricci
 Changing password for user ricci.
 New password: 修改密码为 root
 passwd: all authentication tokens updated successfully.
 [root@server205 ~]# /etc/init.d/ricci start
 [root@server205 ~]# chkconfig ricci on

 

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-05/102023p2.htm

4、添加 GFS2 资源
 [root@server109 ~]# clusvcadm -d www
 网页上先删除服务组的磁盘。再在资源删除 wwwdata,在某结点修改 sda1 为 8e,常常使用 LVM。
 [root@server109 ~]# fdisk -cu /dev/sda
 Command (m for help): t
 Hex code (type L to list codes): 8e
 Command (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 ~]# mkfs.gfs2 -p lock_dlm -t ankse:mygfs2 -j 3 /dev/clustervg/gfs2demo 格式化为 gfs2 文件系统,使用分布式锁,指定集群标签, 日志记录结点个数,以后还可以添加。
 [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/fstab
 UUID=”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/ 卸载文件系统
 网页管理上添加资源,选择 GFS2,使用设备名、标签、UUID 均可作为挂载标识,强制卸载,卸不了重启,提交。
 服务组里边添加 GFS2 设备,apache 服务。开启 www,访问测试。测试结果只有添加设备名 /dev/mapper/clustervg-gfs2demo 可以,UUID,标签都不能成功。
 [root@server109 ~]# clusvcadm -d www
 Local machine disabling service:www…Success
 [root@server109 ~]# clusvcadm -e www
 Local 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
 就可以查看该文件系统的文件了。

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计10067字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中