今天,咱们继续接着昨天的建立高可用OpenStack云系列共6篇发帖
昨天的前三篇内容请参见如下:
1、建立高可用OpenStack云-- 《建立高可用OpenStack云(一):安装集群》
2、建立高可用OpenStack云系列共6篇--《建立高可用OpenStack云(二):安装Mysql》
3、建立高可用OpenStack云--建立HA Openstack云(三):安装RabbitMQ
建立HA Openstack云 (四):安装Keystone
现在准备工作已经完成了,该来安装Keystone,并使它高度可用,在本教程里我不会涉及安装的部分,因为手册里已经全都包括了。
只有两处不同:
·你必须在两个主机上都安装keystone,不是一个
·要将MySQL主机设置为“clustermysql”,这样它在MySQL主机之上。
·当你定义为每个服务创建虚拟IP的服务时(这里是指keystoneip, glanceip, novacomputeip等,并在建立终端时指向它们)
现在你已经安装好Keystone并创建了用户,角色,服务和终端,我们来让它“高度可用”,我们需要在启动时禁用自动载入,在两台主机上这样做:
- echo "manual" > /etc/init/keystone.override
复制代码
现在下载资源代理:
- mkdir /usr/lib/ocf/resource.d/openstack
- cd /usr/lib/ocf/resource.d/openstack/
- wget https://raw.github.com/madkiss/keystone/master/tools/ocf/keystone
- chmod u+x *
复制代码
然后为Keystone创建基元:
- crm configure primitive keystoneService ocf:openstack:keystone \
- params config="/etc/keystone/keystone.conf" os_auth_url="http://clusterkeystone:5000/v2.0/" os_password="admin" os_tenant_name="admin" os_username="admin" user="keystone" client_binary="/usr/bin/keystone" \
- op monitor interval="15s" timeout="30s"
复制代码
“clusterkeystone”处是分配给Keystone的虚拟IP,os_*是你在安装Keystone设置的管理员用户的认证信息。
对虚拟IP和服务分组是很有用的,这样它们就能在同一主机开启:
- crm configure group Keystone keystoneIP keystoneService
复制代码
在MySQL主机开启后运行Keystone,可以这样做:
- crm configure order keystone_after_mysqlmasterIP inf: mysqlmasterIP:start Keystone
复制代码
这样你就有了一个能用的keystone故障恢复,以防主机故障。
一个例子,两个主机都在运行:
- ============
- Last updated: Mon Jul 30 15:03:40 2012
- Last change: Mon Jul 30 15:03:38 2012 via cibadmin on server2
- Stack: openais
- Current DC: server1 - partition with quorum
- Version: 1.1.6-9971ebba4494012a93c03b40a2c58ec0eb60f50c
- 2 Nodes configured, 2 expected votes
- 5 Resources configured.
- ============
- Online: [ server1 server2 ]
- mysqlmasterIP (ocf::heartbeat:IPaddr2): Started server1
- Master/Slave Set: ms_MySQL [clustermysql]
- Masters: [ server1 ]
- Slaves: [ server2 ]
- Resource Group: Keystone
- keystoneIP (ocf::heartbeat:IPaddr2): Started server2
- keystoneService (ocf::openstack:keystone): Started server2
复制代码
现在停止server1,几秒后你会得到:
- ============
- Last updated: Mon Jul 30 15:08:34 2012
- Last change: Mon Jul 30 15:08:26 2012 via crm_attribute on server2
- Stack: openais
- Current DC: server2 - partition WITHOUT quorum
- Version: 1.1.6-9971ebba4494012a93c03b40a2c58ec0eb60f50c
- 2 Nodes configured, 2 expected votes
- 5 Resources configured.
- ============
- Online: [ server2 ]
- OFFLINE: [ server1 ]
- mysqlmasterIP (ocf::heartbeat:IPaddr2): Started server2
- Master/Slave Set: ms_MySQL [clustermysql]
- Masters: [ server2 ]
- Stopped: [ clustermysql:0 ]
- Resource Group: Keystone keystoneIP (ocf::heartbeat:IPaddr2): Started server2
- keystoneService (ocf::openstack:keystone): Started server2
复制代码
下一篇:
建立高可用OpenStack云系列--建立HA Openstack云(五):安装Glance
|