付出,终有回报!
分类: 系统运维
2015-05-25 17:33:42
准备:
1、需要三台实验机,两台虚拟机装ricci,ip分别为172.25.18.11,172.25.18.12;一台真机装luci(为了提供Conga配置用户界面),ip为172.25.18.10
2、为了避免其他因素影响实验,关闭所有的防火墙,禁用selinux
3、 配置高可用的yum源,最好移除其他的yum源配置文件,否则会有影响
172.25.254.10是我的物理机
# Main rhel6.5 server
[base]
name=Instructor Server Repository
baseurl=
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[HighAvailability]
name=Instructor HighAvailability Repository
baseurl=/HighAvailability
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[LoadBalancer]
name=Instructor LoadBalancer Repository
baseurl=/LoadBalancer
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ResilientStorage]
name=Instructor ResilientStorage Repository
baseurl=/ResilientStorage
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ScalableFileSystem]
name=Instructor ScalableFileSystem Repository
baseurl=/ScalableFileSystem
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
1.在ip为172.25.18.11,172.25.18.12的两台主机上同时执行以下操作:
(1)进行解析
vim /etc/hosts
172.25.18.11 new1.example.com
172.25.18.12 new.example.com
(2)安装ricci
yum install ricci -y
rpm -qa ricci
ricci-0.16.2-69.el6.x86_64,这是我在实验中用的版本
从红帽企业版 Linux 6.1 开始,您在任意节点中使用 ricci 推广更新的集群配置时要求输入密码。您在系统中安装 ricci 后,请使用 passwd ricci 命令为用户 ricci 将 ricci 密码设定为 root。
passwd ricci
/etc/init.d/ricci start
chkconfig ricci on
2.在ip为172.25.254.218的主机上安装luci
yum install luci -y
rpm -qa luci
luci-0.26.0-48.el6.x86_64
/etc/init.d/luci start
Point your web browser to (or equivalent) to access luci
根据给出的提示,在浏览器进行测试,
如果不能正常访问,则应添加本地解析
172.25.18.11 new1.example.com
172.25.18.12 new.example.com
172.25.18.10 tian.example.com
您首次访问 luci 时,网页浏览器会根据显示的自我签名 SSL 证书( luci 服务器的证书)给出具体提示。确认一个或者多个对话框后,您的网页显示器会显示 luci 登录页面。
3.登陆并创建集群
登陆时,使用ip为172.25.254.218的主机的root用户和密码
如下图,点击Cluster → Create,将ip为172.25.18.11,172.25.18.12的两台主机添加进集群,以上的各个选项可以根据自己的需求而选择。确定后点击Create Cluster。
之后,会出现下图,等待若干分钟后,即可看到创建的集群。
此时,在两个主机中的任一个上执行clustat,或者cat /etc/cluster/cluster.conf ,都可以查看到集群的信息。
clustat
Cluster Status for lingling @ Wed May 20 09:35:24 2015
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
172.25.18.11 1 Online, Local
172.25.18.12 2 Online
也可以使用cman_tool status查看本地集群状态信息
二、添加Fence
1、添加fence、安装软件
Manager Cluster → Fence Device → Add,选择Fence设备为上图所示,添加Name后,点击Submit,即可以成功。
集群中的节点使用多播地址彼此沟通。因此必须将红帽高可用附加组件中的每个网络切换以及关联的联网设备配置为启用多播地址并支持 IGMP(互联网组管理协议)。
从红帽企业版 Linux 6.2 开始,集群中的节点可以使用 UDP 单播传输机制进行沟通。但建议您在集群网络中使用 IP 多播。UDP 单播是 IP 多播不可用时的备用方法。
在物理机上执行如下操作,我的是172.25.18.10。安装以下关于fence的软件包:
# rpm -qa | grep fence
fence-virtd-0.3.0-16.el7.x86_64
fence-virtd-multicast-0.3.0-16.el7.x86_64
fence-virtd-libvirt-0.3.0-16.el7.x86_64
上面那些软件安装成功后,会自动在 /etc 下生成fence_virt.conf文件。这是一个配置模板,可以仿照它编写你自己的配置文件。但是,不用这么麻烦,安装fence相关软件后,就可以使用 fence_virtd 进行快捷配置了。关于 fence_virtd ,感兴趣的话可以查看man页。
# ll /etc/fence_virt.conf
-rw-r--r--. 1 root root 272 Feb 19 2014 /etc/fence_virt.conf
2、进行文件配置
创建fence_virt.conf配置文件,-c 指定进入Configuration mode。配置时尽量保持默认值,按回车键就可;如果需要修改,则在冒号后输入修改值。
# fence_virtd -c
Module search path [/usr/lib64/fence-virt]:
Available backends:
libvirt 0.1
Available listeners:
multicast 1.2
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 [virbr0]: br0
我的真机使用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]:
Configuration complete.
=== Begin Configuration ===
backends {
libvirt {
uri = "qemu:///system";
}
}
listeners {
multicast {
port = "1229";
family = "ipv4";
interface = "br0";
address = "225.0.0.12";
key_file = "/etc/cluster/fence_xvm.key";
}
}
fence_virtd {
module_path = "/usr/lib64/fence-virt";
backend = "libvirt";
listener = "multicast";
}
=== End Configuration ===
Replace /etc/fence_virt.conf with the above [y/N]? y
# mkdir /etc/cluster
# touch /etc/cluster/fence_xvm.key
# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1
1+0 records in
1+0 records out
128 bytes (128 B) copied, 0.000184309 s, 694 kB/s
# scp /etc/cluster/fence_xvm.key root@172.25.18.11:/etc/cluster
# scp /etc/cluster/fence_xvm.key root@172.25.18.12:/etc/cluster
# /etc/init.d/fence_virtd start
对两个节点分别执行以下操作
点击Node,选择一个节点打开,并点击Add Fence Method,如下图,输入name,此处的name名字随意取。
接着点击Add Fence Device(instance),如上图,选择Fence Device,添加Domain
注意:Domain应该是虚拟机的名称或是UUID,因为要与Virtual Machine Manager相关联
添加创建成功后,即可在/etc/cluster/cluster.conf看到相关信息。
执行clustat也会有如下的显示
Manager Cluster → Failover Domains → Add
Name随意取,下面的三个选项根据需要进行选择。Priority,数字越小则优先级越高,越早启动或者停止该资源类型