共计 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
就可以查看该文件系统的文件了。