当前位置:文档之家› OpenStack 高可用指南20151012

OpenStack 高可用指南20151012

OpenStack 高可用指南20151012
OpenStack 高可用指南20151012

OpenStack高可用指南

current (2015-10-12)

版权 ? 2012-2014 OpenStack贡献者 All rights reserved.

摘要

本手册将对如何实现 OpenStack 各服务的高可用进行说明。

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.doczj.com/doc/8d16740093.html,/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

目录

Preface (v)

Conventions (v)

Document change history (v)

1. OpenStack高可用介绍 (1)

无状态和有状态服务 (1)

主/从 (2)

主/主 (2)

I. 主/从模式高可用集群 (3)

2. Packmaker 集群 (5)

安装软件包 (5)

Corosync 基本配置 (5)

启动Corosync (11)

启动 Pacemaker (11)

设置集群基本属性 (12)

3. OpenStack 控制服务 HA 集群配置 (13)

高可用的MySQL (13)

高可用的 RabbitMQ (16)

4. API 服务节点 HA 集群配置 (20)

配置VIP (20)

高可用 OpenStack 身份认证服务 (20)

高可用 OpenStack 镜像 API 服务 (22)

高可用 OpenStack 块设备存储服务 (23)

高可用 OpenStack 网络服务 (25)

高可用 Telemetry 监控代理 (26)

配置 Pacemaker 资源组 (27)

5. 网络控制节点 HA 集群配置 (28)

高可用 neutron L3 代理程序 (28)

高可用 neutron DHCP 代理程序 (29)

高可用 neutron metadata 代理程序 (29)

组织网络相关资源 (30)

II. 主/主模式高可用集群 (31)

6. 数据库 (33)

MySQL 和 Galera (33)

Galera MariaDB(基于红帽平台) (36)

7. RabbitMQ (39)

安装 RabbitMQ (39)

配置 RabbitMQ (40)

配置 OpenStack 各服务使用高可用的 RabbitMQ 服务 (41)

8. HAProxy 节点服务器 (43)

9. OpenStack 控制节点服务器 (46)

运行 OpenStack API 和 调度服务 (46)

Memcached (47)

10. OpenStack 网络节点服务器 (48)

运行 neutron DHCP 代理服务 (48)

运行 neutron L3 代理服务 (48)

运行 neutron 元数据代理服务 (49)

运行 neutron LBaas 代理服务 (49)

A. Community support (50)

Documentation (50)

https://www.doczj.com/doc/8d16740093.html, (51)

OpenStack mailing lists (51)

The OpenStack wiki (51)

The Launchpad Bugs area (51)

The OpenStack IRC channel (53)

Documentation feedback (53)

OpenStack distribution packages (53)

Preface

Conventions

The OpenStack documentation uses several typesetting conventions.

Notices

Notices take these forms:

注意

A handy tip or reminder.

重要

Something you must be aware of before proceeding.

警告

Critical information about the risk of data loss or security issues. Command prompts

$ prompt Any user, including the root user, can run commands that are prefixed with

the $ prompt.

# prompt The root user must run commands that are prefixed with the # prompt. You can also prefix these commands with the sudo command, if available, to run them. Document change history

This version of the guide replaces and obsoletes all earlier versions.

The following table describes the most recent changes:

Revision Date Summary of Changes

April 30, 2015?本教程针对Kilo版本有多项更新,比如添加MariaDB,更新MySQL信息,corosync和网络更新。

October 17, 2014?本手册根据 OpenStack 文档规范进行了修订,改正了不少细微的错误。

May 16, 2014?转换为DocBook格式。

April 17, 2014?清理一些拼写错误,相对于 Icehouse 版本没有大的改动。

January 16, 2012?本指南将介绍如何安装控制节点和计算节点

May 24, 2012?开始主干指定。

第 1 章 OpenStack高可用介绍

目录

无状态和有状态服务 (1)

主/从 (2)

主/主 (2)

实现系统高可用是为了减少以下 2 种异常情况:

面向客户的服务无法正常工作的时间超出服务承诺的上限。

系统

停机

意外发生的数据删除和数据损坏。

数据

丢失

大多数的高可用系统只能在发生单一故障的情况下为降低停机时间和避免数据丢失提供保

障。但是用户也期望高可用系统同样能够处理由单一故障演变为一系列连锁故障的情况。

在高可用系统中,最基本的原则是排除单点故障。所谓单点故障,是指系统中的某一单独部

件(硬件设备或者软件组件),当它发生故障时会导致系统停机或者数据丢失。可以通过检

查下列系统组成部分中是否包含冗余机制来消除单点故障:

?网络设备,如交换机、路由器;

?应用程序以及服务自动迁移工具;

?存储设备;

?辅助设施,如电源、空调、防火等;

当某个组件崩溃后, 备用系统必须把该组件的工作负载承接过来。绝大多数的高可用系统

会尽快的把崩溃的组件替换掉用以保证系统的必要冗余安全性。该处理方案中系统处在保护

降级状态中的时间要尽可能的少

大多数高可用系统都无法应对发生一连串不相关故障的情况,此时保护数据优先于保证系统

的高可用性。

通常,高可用系统能够保证 99.99% 的在线时间,相当于一年之中发生系统故障的累积时间

不超过 1 个小时。要达到这一目标,高可用系统应将故障恢复时间控制在 1 ~ 2 分钟之内甚

至更短。

OpenStack 的基础服务,在合理配置的情况下,能够满足上述 99.99% 在线时间的高可用性要

求。但是 OpenStack 不能保证单个虚拟机实例的 99.99% 在线时间。

避免单点故障的方法根据该服务是否属于无状态类型而有所不同。

无状态和有状态服务

无状态服务是指,当该服务对一个请求作出响应之后,不会再有任何相关操作。实现无

状态服务的高可用,只需要同时运行该服务的多个实例,并保证这些实例的负载均衡即

可。OpenStack 中无状态的服务包括: nova-api, nova-conductor, glance-api, keystone-api,

neutron-api and nova-scheduler 。

有状态服务,是指客户端发送的后续请求依赖于之前相关请求的处理结果。由于单独一项

操作可能涉及若干相关请求,有状态服务相对难于管理,只是通过多个实例和负载均衡无法

实现高可用。例如,如果每次访问 Horizon 时都是打开一个全新的页面(之前的操作都消失

了),对于用户来说是毫无意义的。OpenStack 中有状态服务包括 OpenStack 数据库和消息

队列。

实现有状态服务高可用的方案有“主/从”和“主/主” 2 种模式。

主/从

在“主/从”模式中,当系统中的资源失效时,新的资源会被激活,替代失效部份继续提供

服务。例如,在 OpenStack 集群中,可以在主数据库之外维护一套灾备数据库,当主数据库

发生故障时,激活灾备数据库可以保证集群继续正常运行。

通常情况下,针对无状态服务实现“主/从”模式的高可用是维护该服务的一个冗余实例,

在必要时,这一实例会被激活。客户端的请求统一发送到一个虚拟的 IP 地址(该地址指向

实际的后端服务),这样当发生切换时,后端服务和客户端几乎不需要进行任何改动。

有状态服务的“主/从”模式高可用则是维护一套额外的备份资源,当故障发生时,可以直

接替代失效部份继续工作。单独的应用程序(如 Pacemaker 、Corosync 等)负责监控各项

服务,并在发生故障时激活备份资源。

主/主

在“主/主”模式中,服务的冗余实例和主实例会同时工作。这样主实例发生故障,不会对

用户产生影响,因为冗余实例一直处于在线状态,后续客户端的请求直接由冗余实例处理,

而主实例的故障恢复可以同步进行。

通常,无状态服务“主/主”模式的高可用会维护冗余的服务实例,同时通过虚拟 IP 地址以

及负载调度程序(如 HAProxy )对客户端的请求进行负载均衡。

而有状态服务的“主/主”模式高可用则是维护多个完全相同的冗余实例。例如,更新其中

一个数据库实例时,其它所有实例都会被更新。这样客户端发送给其中一个实例的请求相当

于发给了所有实例。负载调度程序管理客户端和这些实例之间的连接,确保请求发送到正常

运行的服务实例。

上面提到的是较为常见的高可用实现方案,但是并非只有这些方案可以实现系统的高可用。

基本原则只是保证服务冗余和可用,具体如何实现则是视需求而定的。本文档会提供如何实

现高可用系统的一些通用建议。

部分 I. 主/从模式高可用集群

目录

2. Packmaker 集群 (5)

安装软件包 (5)

Corosync 基本配置 (5)

启动Corosync (11)

启动 Pacemaker (11)

设置集群基本属性 (12)

3. OpenStack 控制服务 HA 集群配置 (13)

高可用的MySQL (13)

高可用的 RabbitMQ (16)

4. API 服务节点 HA 集群配置 (20)

配置VIP (20)

高可用 OpenStack 身份认证服务 (20)

高可用 OpenStack 镜像 API 服务 (22)

高可用 OpenStack 块设备存储服务 (23)

高可用 OpenStack 网络服务 (25)

高可用 Telemetry 监控代理 (26)

配置 Pacemaker 资源组 (27)

5. 网络控制节点 HA 集群配置 (28)

高可用 neutron L3 代理程序 (28)

高可用 neutron DHCP 代理程序 (29)

高可用 neutron metadata 代理程序 (29)

组织网络相关资源 (30)

第 2 章 Packmaker 集群

目录

安装软件包 (5)

Corosync 基本配置 (5)

启动Corosync (11)

启动 Pacemaker (11)

设置集群基本属性 (12)

OpenStack infrastructure high availability relies on the Pacemaker cluster stack,

the state-of-the-art high availability and load balancing stack for the Linux platform.

Pacemaker is storage and application-agnostic, and is in no way specific to OpenStack.

Pacemaker relies on the Corosync messaging layer for reliable cluster communications.

Corosync implements the Totem single-ring ordering and membership protocol. It also

provides UDP and InfiniBand based messaging, quorum, and cluster membership to Pacemaker.

Pacemaker 通过资源代理程序(RAs)(默认提供了 70 多种)和应用程序进行交互,在

Pacemaker 集群中应用第三方资源代理程序(RAs)也非常容易。OpenStack 高可用配置中使用

了 Pacemaker 自带的资源代理程序RAs(如 MySQL 数据库服务、虚拟 IP 地址等)、已有的第

三方资源代理程序(如 RabbitMQ 服务)以及 OpenStack 资源代理程序RAs(如 OpenStack 身份

认证服务、磁盘镜像服务)。

安装软件包

Pacemaker 中的节点服务器之间必须通过 Corosync 建立集群通信,需要安装以下软件包(以

及它们的依赖软件包,通常软件包管理器将自动所有依赖软件包):

?pacemaker (说明:crm 命令行工具需要另外单独下载。)

?crmsh

?corosync

?cluster-glue

?fence-agents (说明:只针对 Fedora 发行版;其它 Linux 发行版都使用 cluster-glue 软

件包中的 fence 资源代理)

?resource-agents

Corosync 基本配置

除了安装 Corosync 之外,还需要创建一个配置文件 /etc/corosync/corosync.conf

。Corosync 可以使用组播或者单播 IP 地址进行集群心跳通信。

配置 Corosync 使用组播

大多数 Linux 发行版都会中在 Corosync 软件包中附带一份配置示例

(corosync.conf.example)。Corosync示例配置文件如下:

Corosync 配置文件(corosync.conf).

logging {

fileline: off

to_stderr: yes

to_logfile: no

to_syslog: yes

syslog_facility: daemon

debug: off

timestamp: on

logger_subsys {

subsys: AMF

debug: off

tags: enter|leave|trace1|trace2|trace3|trace4|trace6

}}

token 是时间,单位为毫秒,在该配置项指定的时间内, Corosync 令牌应该

完成在回环网络中的传输。如果令牌传输超时就会被丢弃,而一台节点服务

器连续出现 token_retransmits_before_loss_const 令牌失效,将会被认为是

无效节点。也就是说,一台节点服务器最长的无响应时间不能超对 token ×

token_retransmits_before_loss_const 的乘积(单位毫秒),否则会被认为是无效节点。token 的默认值是 1000 (即 1 秒),同时默认的重试次数为 4 。默认配置的目标是尽量缩短故障恢复时间,但是可能出现较多的 “false alarm” 提醒,发生短期的网络故障时也有可能导致失效切换。本处示例中的配置参数更安全一些,但是失效切换的时间会长一些。

当启用 secauth 时,Corosync 节点之间通信时会使用一个 128 位的密钥进行双向认

证。密钥存放在 /etc/corosync/authkey 文件中,可以通过 corosync-keygen 命令生成。启用 secauth 后,集群通信数据也会进行加密。

Cororsync 可以使用冗余的心跳网络(即多个 interface 配置),但是必须同时将 RRP

模式设置为除 none之外的其它值,建议使用 active 模式。

在推荐的网络接口配置中有几件事需要注意:

?所有心跳网络的 ringnumber 配置不能重复,最小值为 0 。

?bindnetaddr 是心跳网卡 IP 地址对应的网络地址。示例中使用了两个子网掩码为 /24的 IPv4 网段。

?Multicast groups (mcastaddr) must not be reused across cluster boundaries. In

other words, no two distinct clusters should ever use the same multicast group.

Be sure to select multicast addresses compliant with RFC 2365, "Administratively

Scoped IP Multicast".

?Corosync 通信使用 UDP 协议,端口为 mcastport (接收数据)和 mcastport - 1 (发送数据)。配置防火墙时需要打开这两个端口。

pacemaker 对应的 service 配置段,可以放在 corosync.conf ,也可以单独作为一个配

置文件 /etc/corosync/service.d/pacemaker 。

注意

如果是在 Ubuntu 14.04 系统中运行 Corosync 2,那么应该将 stanza 对应的

service 配置段删除或者全部注释,以确保 Pacemaker 可以启动。corosync.conf (以及 authkey ,如果 secauth 启用)一旦创建,则必须在各节点服务器之间保持同步。

配置 Corosync 使用单播

某些环境中可能不支持组播。这时应该配置 Corosync 使用单播,下面是使用单播的

Corosync 配置文件的一部分:

Corosync 配置文件片断: ( corosync.conf ).

如果将 broadcast 设置为 yes ,集群心跳将通过广播实现。设置该参数时,不能设置

mcastaddr 。

transport 配置项决定集群通信方式。要完全禁用组播,应该配置单播传输参数 udpu

。这要求将所有的节点服务器信息写入 nodelist ,也就是需要在配署 HA 集群之前确定

节点组成。配认配置是 udp 。通信方式类型还支持 udpu 和 iba 。

在 nodelist 之下可以为某一节点设置只与该节点相关的信息,这些设置项只能包含在

node 之中,即只能对属于集群的节点服务器进行设置,而且只应包括那些与默认设置

不同的参数。每台服务器都必须配置 ring0_addr 。

注意

对于 UDPU ,每台节点服务器都需要配置所属的传输组。

可用的节点服务器配置项有:

The ringX_addr specifies the IP address of one of the nodes. X is the ring number.

The nodeid configuration option is optional when using IPv4 and required when using

IPv6. This is a 32-bit value specifying the node identifier delivered to the cluster

membership service. When using IPv4, this defaults to the 32-bit IP address to which

the system is bound with the ring identifier of 0. The node identifier value of zero is

reserved and should not be used.

Set up Corosync with votequorum library for a full-size cluster

This section describes a full-size cluster configuration with three or more members which

is appropriate for production deployments. For a two-node configuration that can be used

for demostrations and testing, please go to the next section.

Votequorum library is a part of the Corosync project. It provides an interface to the

vote-based quorum service and it must be explicitly enabled in the Corosync configuration

file. The main role of the votequorum library is to avoid split-brain situations, but it also

provides a mechanism to:

?查询quorum状态

?获取到quorum 服务的已知节点列表

?获取quorum状态改变的通知

?改变分配给节点的投票数

?改变一个集群合法的期望投票数

?在节点停止服务期间,连接一个额外的quorum设备来使小集群仍然处于合法状态

Votequorum library has been created to replace and eliminate from advanced cluster

configurations qdisk, disk-based quorum daemon for CMAN.

Votequorum服务在Corosync中配置.

提供者corosync_votequorum 启用votequorum库,这是唯一必须的选项。

集群拥有expected_votes7个节点(每个节点有1票)才能完整使用,quorum:4。

如nodelist中指定的节点列表,expected_votes被忽略。

wait_for_all当启动集群(所有节点关机)时,第一次它将拥有集群quorum直到所有节点

在线和加入集群(Corosync 2.0新增)。

last_man_standing enable Last Man Standing (LMS) feature (disabled by default: 0). If

a cluster is on the quorum edge (expected_votes: 7; online nodes: 4) for time longer

than configured in last_man_standing_window, the cluster can recalculate quorum and

continue operating even if the next node will be lost. This logic is repeated until the

number of online nodes in the cluster reach 2. In order to allow cluster step down from

2 members to only 1, what is not recommended auto_tie_breaker option needs to be set.

last_man_standing_window is time required to recalculate the quorum after one or

most hosts have been lost from the cluster. To do the new quorum recalculation, the

cluster needs to have quorum at least for last_man_standing_window, time in [ms]

(default: 10000ms).

Set up Corosync with votequorum library for two-host clusters

The two-node cluster configuration is a special case that Pacemaker supports for

demonstration and testing; it is a special feature of the votequorum library and is not

recommended for production environments.

Multicast votequorum service configuration for two-host Corosync cluster.

corosync_votequorum enables votequorum provider library.

Put the cluser into two-node operational mode (default: 0).

注意

Setting two_node to 1 enables wait_for_all by default. It is still possible

to override wait_for_all by explicitly setting it to 0. If more than 2 nodes

join the cluster, the two_node option is automatically disabled.

重要

Disabling wait_for_all in a two-node cluster may be dangerous as it can

lead to a situation (stonith deathmatch) where each node comes up,

assumes the other is down, and fences peer in order to safely start

clustered services. The peer eventually comes up and repeats the process

until the underlying fault is rectified.

Unicast (UDP) votequorum service configuration for two-host Corosync cluster.

corosync_votequorum enables votequorum provider library.

For the cluster to work with two members only two_node artificially sets quorum below

mathematical majority.

Unicast Corosync configuratrion requires nodelist option to explicitly provide a list

of cluster members.

启动Corosync

Corosync 启动方法和普通的系统服务没有区别,根据 Linux 发行版的不同,可能是 LSB init

脚本、upstart 任务、systemd 服务。不过习惯上,都会统一使用 corosync 这一名称:

?/etc/init.d/corosync start (LSB)

?service corosync start (LSB,另一种方法)

?start corosync (upstart)

?systemctl start corosync (systemd)

使用以下两个工具检查 Corosync 连接状态。

corosync-cfgtool ,执行时加上 -s 参数,可以获取整个集群通信的健康情况:

# corosync-cfgtool -s

Printing ring status.

Local node ID 435324542

RING ID 0

id = 192.168.42.82

status = ring 0 active with no faults

RING ID 1

id = 10.0.42.100

status = ring 1 active with no faults

corosync-objctl 命令可以列出 Corosync 集群的成员节点列表:

# corosync-objctl runtime.totem.pg.mrp.srp.members

runtime.totem.pg.mrp.srp.435324542.ip=r(0) ip(192.168.42.82) r(1) ip(10.0.42.100)

runtime.totem.pg.mrp.srp.435324542.join_count=1

runtime.totem.pg.mrp.srp.435324542.status=joined

runtime.totem.pg.mrp.srp.983895584.ip=r(0) ip(192.168.42.87) r(1) ip(10.0.42.254)

runtime.totem.pg.mrp.srp.983895584.join_count=1

runtime.totem.pg.mrp.srp.983895584.status=joined

status=joined标示着每一个集群节点成员。

注意

如果使用 Corosync v2 版本,请使用 corosync-objctl 命令的替代命令 corosync-

cmapctl 。

启动 Pacemaker

Corosync 服务启动之后,一旦各节点正常建立集群通信,就可启动 pacemakerd

( Pacemaker 主进程):

?/etc/init.d/pacemaker start (LSB)

?service pacemaker start (LSB,另一种方法)

?start pacemaker (upstart)

?systemctl start pacemaker (systemd)

Pacemaker 服务启动之后,会自动建立一份空白的集群配置,不包含任何资源。可以通过

crm_mon 工具查看 Packemaker 集群的状态:

============

Last updated: Sun Oct 7 21:07:52 2012

Last change: Sun Oct 7 20:46:00 2012 via cibadmin on node2

Stack: openais

Current DC: node2 - partition with quorum

Version: 1.1.6-9971ebba4494012a93c03b40a2c58ec0eb60f50c

2 Nodes configured, 2 expected votes

0 Resources configured.

============

Online: [ node2 node1 ]

设置集群基本属性

Pacemaker 启动之后,建议首先对集群基本属性进行配置。配置时,首先执行 crm 命令,然

后输入 configure 进入配置菜单。也可以执行 crm configure 命令直接进入 Pacemaker 配置

菜单。

然后,设置下列属性:

对于 2 个节点的 Pacemaker 集群,集群属性 no-quorum-policy="ignore" 是必须配置

的,因为:如果强制集群满足合法节点数要求,当 其中一个节点失效时,剩下的一个

节点无法达到集群多数节点在线的要求,从而不能接管原来运行在失效节点上的集群

资源。这种情况下,解决方法只能是忽略集群合法节点数要求。但是这一属性只能用

于 2 个节点的集群,对于 3 个节点及以上的集群来说,是不应该配置该属性的。需要

注意的是,2 个节点的集群配置该属性之后,会出现脑裂( split-brain)的风险,这是

因为当 2 个节点都在线但是互相无法通信时,2 个节点都认为对方出现故障,从而尝试

接管对方的集群资源。因此建议布署 3 个节点及以上的集群。

将 pe-warn-series-max 、 pe-input-series-max 以及 pe-error-series-max 设置为 1000,

是为了让 Pacemaker 保存更多 Policy Engine 的处理输入、错误以及警告信息。这些历

史记录对排除集群故障会有很大帮忙。

Pacemaker 处理集群状况时使用事件驱动机制。但是某些 Pacemaker 操作只会在固定的

时间间隔触发。该时间间隔可以配置,cluster-recheck-interval,默认值是 15 分钟。

针对特定的集群,可以适当缩短这一间隔,如 5 分钟或者 3 分钟。

作完这些改变后,可以提交更新配置。

第 3 章 OpenStack 控制服务 HA 集群配置

目录

高可用的MySQL (13)

高可用的 RabbitMQ (16)

OpenStack 控制服务运行在管理网络上,可以和其它任何 OpenStack 服务进行交互。

高可用的MySQL

MySQL是许多OpenStack服务所使用的默认数据库服务。确保MySQL服务高可用涉及到:

?配置被MySQL使用的DRBD设备

?配置MySQL使用位于DRBD设备上的数据目录

?选择并绑定一个可以在各集群节点之间迁移的虚拟 IP 地址 (即 VIP )

?配置 MySQL 监听那个 IP 地址

?使用 Pacemaker 管理上述所有资源,包括 MySQL 数据库

注意

MySQL/Galera is an alternative method of configuring MySQL for high

availability. It is likely to become the preferred method of achieving MySQL

high availability once it has sufficiently matured. At the time of writing,

however, the Pacemaker/DRBD based approach remains the recommended one for

OpenStack environments.

配置 DRBD

基于 Pacemaker 的 MySQL 数据库需要一个 DRBD 设备,并将之挂载到 /var/lib/mysql 目录。

在示例中,DRBD 资源被简单命名为 mysql:

mysql DRBD 资源配置文件( /etc/drbd.d/mysql.res ).

resource mysql {

device minor 0;

disk "/dev/data/mysql";

meta-disk internal;

on node1 {

address ipv4 10.0.42.100:7700;

}

on node2 {

address ipv4 10.0.42.254:7700;

}

}

该资源使用了一块本地磁盘(DRBD 术语为“后端设备”, a backing device),该磁盘在两

台节点服务器( node1 , node2 )上对应相同的设备文件 —— /dev/data/mysql ,一 般情

况下,该磁盘是一个专门为此配置的 LVM 逻辑卷。meta-disk 配置项的值是 internal,指的

是 DRBD 元数据保存在后端设备的结尾(即元数据和实际数据保存在同一存储设备上)。设

备数据同步通过 10.0.42.100 和 10.0.42.254 完成,使用 TCP 7700 端口。当 DRBD 资源激活之

后,系统中将对应生成一个 DRBD 设备文件,次设备号为 0 ,设备文件是 /dev/drbd0 。

Enabling a DRBD resource is explained in detail in the DRBD User's Guide. In brief, the

proper sequence of commands is this:

初始化 DRBD 元数据,并在 /dev/data/mysql 上初始元数据集。两台节点服务器上都必

须完成该操作。

创建 /dev/drbd0 设备文件,将指定的后端存储设备附加到该 DRBD 资源,同时建立所

有节点服务器之间的通信连接。两台节点服务器上都必须完成该操作。

Kicks off the initial device synchronization, and puts the device into the primary

(readable and writable) role. See Resource roles (from the DRBD User's Guide) for

a more detailed description of the primary and secondary roles in DRBD. Must be

completed on one node only, namely the one where you are about to continue with

creating your filesystem.

创建文件系统

当 DRBD 资源已经激活并处于 “primay” 角色(可能初始化同步正在进行,还没有完成),可

以开始创建文件系统。 XFS 由于拥有日志系统,分配效率高,性能好等优点,是建议选择的

文件系统。

# mkfs -t xfs /dev/drbd0

也可以使用 DRBD 设备的另外一个名称,该名称有解释含义,更容易记忆:

# mkfs -t xfs /dev/drbd/by-res/mysql

完成后,可以安全地把设备变回 “secondary” 角色。已经启动的设备同步将在后台继续进

行:

# drbdadm secondary mysql

MySQL 针对 Pacemaker HA 架构的前期准备

要通过 Pacemaker 实现 MySQL 高可用,必须首先保证 MySQL 的数据文件使用 DRBD 存储设

备。如果使用已有的数据库,最简单的方法是将已有的数据库文件 /var/lib/mysql 迁移到

DRBD 设备之上的文件系统中。

警告

下面的步骤在必须关闭MySQL数据库服务器之后进行。

# mount /dev/drbd/by-res/mysql /mnt

# mv /var/lib/mysql/* /mnt

# umount /mnt

如果使用全新的数据库,可以执行 mysql_install_db 命令:

# mount /dev/drbd/by-res/mysql /mnt

# mysql_install_db --datadir=/mnt

# umount /mnt

这里列出的这些步骤只需要在其中一个集群节点上操作一遍即可。

在 Pacemaker 中添加 MySQL 资源

现在可以在 Pacemaker 中填加 MySQL 相关资源。执行 crm configure 命令进入 Pacemaker 配

置菜单,然后加入下列集群资源:

primitive p_ip_mysql ocf:heartbeat:IPaddr2 \

params ip="192.168.42.101" cidr_netmask="24" \

op monitor interval="30s"

primitive p_drbd_mysql ocf:linbit:drbd \

params drbd_resource="mysql" \

op start timeout="90s" \

op stop timeout="180s" \

op promote timeout="180s" \

op demote timeout="180s" \

op monitor interval="30s" role="Slave" \

op monitor interval="29s" role="Master"

primitive p_fs_mysql ocf:heartbeat:Filesystem \

params device="/dev/drbd/by-res/mysql" \

directory="/var/lib/mysql" \

fstype="xfs" \

options="relatime" \

op start timeout="60s" \

op stop timeout="180s" \

op monitor interval="60s" timeout="60s"

primitive p_mysql ocf:heartbeat:mysql \

params additional_parameters="--bind-address=192.168.42.101" \

config="/etc/mysql/https://www.doczj.com/doc/8d16740093.html,f" \

pid="/var/run/mysqld/mysqld.pid" \

socket="/var/run/mysqld/mysqld.sock" \

log="/var/log/mysql/mysqld.log" \

op monitor interval="20s" timeout="10s" \

op start timeout="120s" \

op stop timeout="120s"

group g_mysql p_ip_mysql p_fs_mysql p_mysql

ms ms_drbd_mysql p_drbd_mysql \

meta notify="true" clone-max="2"

colocation c_mysql_on_drbd inf: g_mysql ms_drbd_mysql:Master

order o_drbd_before_mysql inf: ms_drbd_mysql:promote g_mysql:start

这个配置创建

?p_ip_mysql,MySQL 服务将会使用的虚拟 IP 地址(192.168.42.101),

?p_fs_mysql,Pacemaker 管理的文件系统,挂载点为 /var/lib/mysql,该文件系统将在运

行 MySQL 服务的节点上挂载,

?ms_drbd_mysql,管理 DRBD 设备的主/从资源,

OpenStack安装文档

OpenStack Nova安装手册 作者: yz 日期: 2011-11-27 版本: v0.3 网址: https://www.doczj.com/doc/8d16740093.html,

目录 实验环境 (3) 架构部署 (3) 服务器系统安装 (3) 控制节点安装 (4) NTP时钟服务安装 (4) MYSQL数据库服务安装 (4) RABBITMQ消息队列服务安装 (5) NOVA服务安装 (5) GLANCE镜像存储服务安装 (5) KEYSTONE、noVNC、Dashboard服务相关依赖包安装 (5) KEYSTONE认证服务安装 (5) https://www.doczj.com/doc/8d16740093.html,PUTE扩展库安装 (8) OPENSTACKX扩展库安装 (8) PYTHON-NOVACLIENT扩展库安装 (8) QUANTUM模块安装 (9) OPENSTACK-DASHBOARD控制面板安装 (9) noVNC服务安装 (11) NOVA服务配置 (12) GLANCE镜像存储服务配置 (14) noVNC服务配置 (15) 计算节点安装 (16) NTP时钟同步配置 (16) NOVA服务安装 (16) NOVA服务配置 (17) DASHBOARD使用基础 (20) 建立Keypairs (20) 建立安全组 (20) 启动实例 (21) 通过VNC连接实例 (22) 为实例分配外网IP (23)

实验环境 硬件: DELL R410(1台) CPU:Intel(R) Xeon(R) CPU E5620 @ 2.40GHz * 2 内存:16GB 硬盘:300GB 网卡:Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet * 2 DELL R710(1台) CPU:Intel(R) Xeon(R) CPU E5606 @ 2.13GHz * 2 内存:32GB 硬盘:250GB 网卡:Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet * 4 系统: Ubuntu Server 11.04 x64 Openstack版本: Diablo 4 release(2011.3) 架构部署 机器型号/主机名外网IP 内网IP 作用 R410/r410-control1 60.12.206.111 192.168.1.2 控制节点 R710/r710-compute1 60.12.206.99 192.168.1.3 计算节点1 实例网段为10.0.0.0/24,floating ip为60.12.206.114,实例网段桥接在内网网卡上,网络模式采用FlatDHCP 服务器系统安装 1.Ubuntu server 11.04 x64使用默认安装方式 2.服务器外网使用eth0 3.服务器内网使用eth1 4.除apache及noVNC外,所有服务均监听内网IP

openstack安装、配置过程中常见问题及解决办法

openstack安装、配置过程中常见问题及解决办法: by-lilin == 问题一:由于网络节点只有2个物理网卡,当给网络节点配置虚拟子网(10.10.10.52,10.20.20.52)时,无法ping通计算节点网络(10.10.10.53/54/55,10.20.20.53/54/55)== 解决方法: 在网络节点其中一个物理网卡eth0安装虚拟网卡,构建虚拟vlan,实现同一个网卡分配2个不同网段的IP地址(10.10.10.52和10.20.20.52)。 安装步骤如下所示: **安装vlan(vconfig)和加载8021g模块: # aptitude install vlav # modprobe 8021g # lsmod |grep -i 8021q **使用linux cvonfig命令配置vlan(在eth0网卡上虚拟两个vlav端口,端口号为5、7): # vconfig add eth0 5 Added VLAN with VID == 5 to IF -:eth0 # vconfig add eth0 7 Added VLAN with VID == 7 to IF -:eth0 **设置VLAN的REORDER_HDR参数,默认就行了: # vconfig set_flag eth0.5 1 1 Set flag on device -:eth0.5:- Should be visible in /proc/net/vlan/eth0.5 # vconfig set_flag eth0.7 1 1 Set flag on device -:eth0.7:- Should be visible in /proc/net/vlan/eth0.7 **可以使用cat /proc/net/vlan/eth0.5查看eth0.5参数: # cat /proc/net/vlan/eth0.5 eth0.5 VID: 5 REORDER_HDR: 1 dev->priv_flags: 1 total frames received 623 total bytes received 32353 Broadcast/Multicast Rcvd 606 total frames transmitted 71 total bytes transmitted 9420 Device: eth0 INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0 EGRESS priority mappings:

openstack安装详解

Centos6.4 Openstack 部署 官方推荐环境配置: Step 0: Prerequisites Software:Red Hat Enterprise Linux (RHEL) 6.4, or the equivalent version of one of the RHEL-based Linux distributions such as CentOS, Scientific Linux, etc., or Fedora 19 or later. See also RDO repository info for details on required repositories. Please name the host with a fully qualified domain name rather than a short-form name to avoid DNS issues with Packstack. Hardware: Machine with at least 2GB RAM, processors with hardware virtualization extensions, and at least one network adapter. 看了人家的要求果断放弃6.3,弃暗投明6.4 环境部署:VM+Centos6.4(64bit)(免费的水用谁知道它的好^_^) 看了源代码版的安装虚拟机的一篇配置方法(照抄了)

应用(没用的都关了吧,省的更新一大推没用的,留一个firfox足以) 因为要用到mysql数据库(Mysql全起之,嘿嘿)

Openstack搭建

Openstack 云平台配置文档 一基本系统安装 1.Controller: a)硬件: i.CPU: 4核Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz ii.内存:4G iii.硬盘:500G b)系统: Ubuntu11.04 Server 2.Node: a)硬件: i.CPU: 4核Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz ii.内存:4G iii.硬盘:500G b)系统: Ubuntu11.04 Server 二安装Openstack Nova 1.配置网络: a)Controller: i. b)Node: i. 2.配置网桥 a)Controller:

i. ii.重启网络b)Node: i. ii.重启网络

3.NTP同步 a)sudo ntpdate https://www.doczj.com/doc/8d16740093.html, 4.安装配置数据库(Controller) a)OpenStack Nova 需要数据库的支持,这里选用MySQL i.Sudo apt-get install mysql-server b)修改MySQL绑定地址,以便其他的节点服务器也能访问这个数据库: i.Sudo vi /etc/mysql/my.conf ii.#bind-address=127.0.0.1 -> bing-address =0.0.0.0 iii.Sudo /etc/init.d/mysql restart c)创建一个名为nova的数据库,并设置root从任何IP访问的权限和密码: i.Sudo mysql –uroot –pfdse –e ‘CREATE DATABASE nova;’ ii.Sudo mysql –uroot –pfdse –e “GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’WITH GRANT OPTION;” iii.Sudo mysql –uroot –pfdse –e “SET PASSWORD FOR ‘root’@’%’= PASSWORD(‘fdse’);” 5.安装Glance镜像服务(Controller) a)Sudo apt-get install glance 6.安装OpenStack Nova a)Controller: i.Sudo apt-get install rabbitmq-server nova-common nova-doc python-nova nova-api nova-network nova-volume nova-objectstore nova-scheduler nova-compute ii.Sudo apt-get install –y euca2ools iii.Sudo apt-get install –y unzip b)Node i.Sudo apt-get install –y nova-compute nova-volume python-nova nova-common vlan ii.Sudo apt-get install –y unzip iii.Sudo apt-get install –y euca2ools

OpenStack安装配置

OpenStack安装配置篇 OpenStack是一套用来管理虚拟机的平台软件。它不是一个单一的软件,而是集成了很多个组件用来协同合作。简单的来说,譬如有十台服务器,在VMware的情况下,我们在每台服务器上安装esx或者esxi,然后装一台vcenter,在vcenter的管理界面里把十台服务器的esx通过域名或者ip加入,就能在vcenter里面统一管理。类似的,红帽也有virsh 这种管理虚拟机的程序。 在这里我不介绍其他的云平台的管理软件,只是介绍如何从技术角度来使用OpenStack。如果要作为生产环境的话,你还需要考虑更多,譬如架构,网络拓扑,存储的方式,节点的分布等等。 在本篇文章里,我将介绍采用ec2兼容认证的方式。所有组件安装在一台controller 上。 关键字定义 控制端:类似vcenter的管理系统。 节点:类似安装了esx的服务器。 nova组件:安装在节点上,让节点能按照控制端的命令来操作节点上的虚拟机或者存储。 glance组件:用来管理镜像。 环境准备 ubuntu 11.10,服务器双网卡 步骤 安装完基本的操作系统后 $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install bridge-utils #安装网桥软件 配置网络接口

在这里我的架构是eth0连接了外网,即我們可以访问的网口。eth1做了网桥,和节点之间通过一个交换机连接。这样的好处是,内部节点和控制器的流量都走br100的交换机,而不会影响虚拟机上的应用使用的网络。 $ sudo vi /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.200.21 netmask 255.255.255.0 network 192.168.200.0 broadcast 192.168.200.255 gateway 192.168.200.10 auto br100 iface br100 inet static bridge_ports eth1 bridge_stp off bridge_maxwait 0 bridge_fd 0 address 10.200.200.2 netmask 255.255.255.0 $ sudo /etc/init.d/networking restart 初期准备工作做好,接下来就是要安装关于nova,glance等组件 $ sudo apt-get install -y rabbitmq-server #安装MQ消息組件 $ sudo apt-get install -y python-greenlet python-mysqldb #安装Python dependencies 接下来安装各个nova组件及依赖 $ sudo apt-get install nova-volume nova-vncproxy nova-api nova-ajax-console-proxy $ sudo apt-get install nova-doc nova-scheduler nova-objectstore

iso安装openstack虚拟机

Openstackiso安装实例 用户指南 上海天玑科技股份有限公司 二零一五年十二月 版权所有? 2015 上海天玑科技股份有限公司。保留一切权利。 非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

商标声明 玑云均为上海天玑科技股份有限公司的注册商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意 您购买的产品、服务或特性等应受天玑公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,天玑公司对本文档内容不做任何明示或默示的声明或保证。 由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。 上海天玑科技股份有限公司 地址:上海市桂林路406号2号楼11-12层 网址:https://www.doczj.com/doc/8d16740093.html, 邮箱:support@https://www.doczj.com/doc/8d16740093.html, 24小时服务热线:400-820-2885 800-820-2885 前言 读者对象 本指南介绍了,在没有完整的镜像模板时,如何通过iso镜像在openstack平台中去创建虚拟机 本文档(本指南)主要适用于以下读者对象: ? 技术支持工程师 ? 系统管理员 ? 普通用户 符号约定 在本文中可能出现下列标志,它们所代表的含义如下。

表示有高度或中度潜在危险,一定会引起系统错误。 表示有潜在风险,可能会引起系统错误;或是需要引起用户注意的 地方 以本标志开始的文本能帮助您解决某个问题或节省您的时间。 以本标志开始的文本是正文的附加信息,是对正文的强调和补充。 修订记录 修改记录累积了每次文档更新的说明。最新版本的文档包含以前所有文档版本的更新内容。 文档版本01 (2015-08-20) 第一次正式发布。

云计算平台OpenStack学习教程

云计算平台OpenStack 学习教程 OpenStack 是一种免费的开源平台,帮助服务提供商实现类似于亚马逊EC2 和S3 的基础设施服务。OpenStack 当前有三个核心项目:计算(Nova),对象存储(Swift),镜像管理(Glance)。每个项目可以独立安装运行,该文档将帮助您快速学习OpenStack。

目录 OpenStack 背景现状 (3) OpenStack 是什么? (3) OpenStack 核心项目 (3) OpenStack 版本信息 (4) OpenStack 功能 (4) OpenStack 架构 (5) OpenStack 项目架构一: C ompute(Nova)的软件架构 (5) Nova 组件的作用 (6) Nova 的硬件架构 (7) Nova 功能介绍 (9) OpenStack 项目架构二: Swift 架构 (9) Swift 功能 (9) OpenStack 项目架构三– Glance 架构 (10) Glace 组件架构 (10) Glace 组件架构特性 (10) OpenStack 功能 (11) Openstack 创建i nstance 的流程 (11) OpenStack 在企业中的应用 (14)

OpenStack 背景现状 OpenStack 是由Rackspace Cloud 和NASA(美国航天局)于2010 年7 月开始共同开发支持, 整合了Rackspace 的Cloud Files platform 和NASA 的Nebula platform 技术,目的是能为任何一个组织创建和提供云计算服务。 目前,超过150 家公司参与了这个项目,包括Crtrix Systems, Dell, AMD, Intel, Cisco, HP 等。OpenStack 最近发布了Austin 产品,它是第一个开源的云计算平台,它是基于Rackspace 的 云服务器加上云服务,以及NASA 的Nebula 技术发布的。似乎是作为对此的响应,Amazon 为新用户提供一年的AWS免费使用方式。在OpenStack 发布Austin 之后,微软也宣称Windows Server 2008 R2 Hyper-V 可以与OpenStack 整合。微软会为https://www.doczj.com/doc/8d16740093.html, 提供架构和 技术上的指引,它会编写必要的代码,从而OpenStack 能够在微软的虚拟平台上运行。 这些代码会在https://www.doczj.com/doc/8d16740093.html, 上提供。 OpenStack 是什么? OpenStack 核心项目 OpenStack 是一种免费的开源平台,帮助服务提供商实现类似于亚马逊EC2 和S3 的基础设施服务。OpenStack 当前有三个核心项目:计算(Nova),对象存储(Swift),镜像管理(Glance)。每个项目可以独立安装运行。另外还有两个新增项目:身份验证(Keystone)和仪表盘(Horizon)。 OpenStack 计算是一个云控制器,用来启动一个用户或一个组的虚拟实例,它也用于配置每 个实例或项目中包含多个实例为某个特定项目的联网。 OpenStack 对象存储是一个在具有内置冗余和容错的大容量系统中存储对象的系统。对象存 储有各种应用,如备份或存档数据,存储图形或视频(流媒体数据传输到用户的浏览器), 储存二级或三级静态数据,发展与数据存储集成新的应用程序,当预测存储容量困难时存储 数据,创造弹性和灵活的云存储Web 应用程序。 OpenStack 镜像服务是一个查找和虚拟机图像检索系统。它可以配置三种方式:使用OpenStack 对象存储来存储图像;使用亚马逊S3 直接存储,或使用S3 对象存储作为S3 访问 中间存储。

centos7安装openstack经典已实践

Centos7安装openstack经典已实践 三个节点ip信息 controller:192.168.100.10 network:192.168.100.20 compute1:192.168.100.30 修改各节点的/etc/hosts 文件 测试各节点到https://www.doczj.com/doc/8d16740093.html,的连通性 controller node 配置NTP服务 yum install -y ntp vi /etc/ntp.conf 修改文件如下: server NTP_SERVER iburst #此处未做修改,采用默认 restrict -4 default kod notrap nomodify restrict -6 default kod notrap nomodify systemctl enable ntpd.service #开机启动 systemctl start ntpd.service

其他节点同样安装 yum install ntp 修改/etc/ntp.conf文件如下: server controller iburst 开机启动服务: systemctl enable ntpd.service systemctl start ntpd.service OpenStack packages Install the yum-plugin-priorities package to enable assignment of relative priorities within repositories: # yum install -y yum-plugin-priorities Install the epel-release package to enable the EPEL repository: # yum install https://www.doczj.com/doc/8d16740093.html,/pub/epel/7/x86_64/e/epel-release-7-5.noarch .rpm Install the rdo-release-juno package to enable the RDO repository: # yum install https://www.doczj.com/doc/8d16740093.html,/openstack-juno/rdo-release-juno.rpm Upgrade the packages on your system: # yum upgrade # reboot

Openstack安装部署手册

Openstack安装部署手册 Havana版本

目录 1.环境 (4) 2.组件整体结构 (4) 3.环境准备 (5) 3.1. 网卡配置 (5) 3.2. 修改主机名 (5) 3.3. 安装mysql 数据库 (5) 4.安装openstack包 (6) 4.1. 安装openstack 单元包 (6) 4.2. 安装Messaging server (6) 5.安装keystone认证服务 (6) 5.1. 创建openstack keystone 与数据库的连接 (6) 5.2. 定义一个授权令牌 (6) 5.3. 配置创建密钥与证书 (7) 5.4. 启动keystone (7) 5.5. 定义用户租客和roles (7) 5.6. 创建服务与定义API endpoint (8) 6.配置glance (9) 6.1. 安装glance 组建 (9) 6.2. 创建glance数据连接 (9) 6.3. keystone下定义名为glance的用户 (9) 6.4. 添加glance roles (9) 6.5. 配置imgae的服务的身份验证 (9) 6.6. 添加凭证到/etc/glance/glance-api-paste.ini 和/etc/ (10) 6.7. glance/glance-registry-paste.inifiles.两个文件 (10) 6.8. keysotne创建glance 服务 (10) 6.9. 启动glance服务 (11) 6.10. 校验glance服务 (11) 7.安装nova 组建 (12) 7.1. 配置nova数据连接 (12) 7.2. keysotne创建nova user (12) 7.3. 添加roles (12) 7.4. 配置计算服务的身份验证 (13) 7.5. keysotne创建nova service (13) 7.6. 创建endpoint (13)

OpenStack Compute节点安装

OpenStack Compute调研及安装

目录 1. OpenStack调研 (3) 1.1 虚拟化简介 (3) 1.1.1 纯软件虚拟化 (3) 1.1.2 完全虚拟化 (3) 1.2 OpenStack Compute简介 (4) 1.2.1 Nova概念 (4) 1.2.2 Nova服务架构 (5) 1.2.3 Nova运行 (5) 2. OpenStack Compute安装 (6) 2.1 实验环境 (6) 2.2 Nova安装过程 (6) 2.3安装OpenStack基于Web的管理控制台 (9) 2.5 Nova存储管理 (10) 2.6问题及可能的解决方案 (11)

1. OpenStack调研 1.1 虚拟化简介 虚拟化是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。目前比较流行的虚拟化技术主要分为纯软件虚拟化和完全虚拟化两方面。 1.1.1 纯软件虚拟化 在纯软件虚拟化解决方案中VMM(Virtual Machine Monitor)在软件套件中的位置是传统意义上操作系统所处的位置,而操作系统的位置是传统意义上应用程序所处的位置;客户操作系统很多情况下是通过VMM来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。 纯软件虚拟化的工作原理是这样的,所谓虚拟机是对真实计算环境的抽象和模拟,而VMM需要则为每个虚拟机分配一套数据结构来管理它们状态,VMM 调度虚拟机时将其部分状态恢复到主机系统中。主机处理器直接运行Guest OS 的机器指令,由于Guest OS运行在低特权级别,当访问主机系统的特权状态时,权限不足导致主机处理器产生异常,将运行权自动交还给VMM。此外,外部中断的到来也会导致VMM的运行。VMM可能需要先将该虚拟机的当前状态写回到状态数据结构中,分析虚拟机被挂起的原因,然后代表Guest OS执行相应的特权操作。最后VMM将运行权还给Guest OS,Guest OS从上次被中断的地方继续执行,或处理VMM “塞入”的虚拟中断和异常。这种经典的虚拟机运行方式被称为Trap-And-Emulate,虚拟机对于Guest OS完全透明,Guest OS不需要任何修改,但是VMM 的设计会比较复杂,系统整体性能受到明显的损害。 1.1.2 完全虚拟化 现阶段较为流行的完全虚拟化方法使用名为hypervisor的一种软件,即在虚拟服务器和虚拟化技术底层硬件之间建立一个抽象层。完全虚拟化是处理器密集型技术,因为它要求hypervisor管理各个虚拟服务器,并让它们彼此独立。hypervisor需要具有捕获CPU指令的能力,并为指令访问硬件控制器和外设充当中介。

openstack虚拟化云计算平台详细安装流程报告-单机

Openstack虚拟化云计算平台详细安装流程报告1.写在前面的话 Openstack到目前为止(201403),已经包含多个稳定版本(A-H),最新的稳定版本是Havana版,我们现在使用的实验版本也是havana版本。由于openstack的版本相互之间差异比较大,组件的安装命令等也略有相同,所以在参考此文档时要注意区别openstack的版本。 Openstack的各个组件相互之间是通过网络来进行互联互通,不同的组件理论上都可以部署在不同的节点上,可以通过一些的额外的步骤来提高openstack的可用性。基于我们的实验环境和现实情况,我们选择了官网推荐的最经典的安装方式,因此阅读此文档的读者在阅读文档时,注意我们使用的安装方式不是openstack的唯一安装方式。 2.Openstack架构 2.1基础组件

2.2组件对应关系 3.基础配置 1.硬件配置情况介绍: 2.节点情况介绍:

3.网络情况介绍: 通过一台单独的交换机进行网络访问,因此网络中有大量可用的10.10.70.XX段地址,可以分配给不同的虚拟机。 实验环境的网络速度有限速,所以很多措施是节省网络代码,如果网络条件好,很多步骤可以省略或者替换。 4.相关密码统计 4.基本的操作系统配置 重要提醒 在进行下面的所有操作时,必须要有 4.1基础网络设置 1.将节点的IP设置成静态的IP地址。

修改文件: vi/etc/sysconfig/network-scripts/ifcfg-eth0 需要注意的内容如下: 设置完成之后,重启网络: service network restart 2. 设置节点的网关 修改对应网卡的网关的配置文件 vi /etc/sysconfig/network 修改以下内容 1.重要提醒

openstack安装、配置过程中常见问题及解决办法4.doc

openstack安装、配置过程中常见问题及解 决办法4 openstack安装、配置过程中常见问题及解决办法: by-lilin == 问题一:由于网络节点只有2个物理网卡,当给网络节点配置虚拟子网(10.10.10.52,10.20.20.52)时,无法ping通计算节点网络(10.10.10.53/54/55,10.20.20.53/54/55)== 解决方法: 在网络节点其中一个物理网卡eth0安装虚拟网卡,构建虚拟vlan,实现同一个网卡分配2个不同网段的IP地址(10.10.10.52和10.20.20.52)。 安装步骤如下所示: **安装vlan(vconfig)和加载8021g模块: # aptitude install vlav # modprobe 8021g # lsmod |grep -i 8021q **使用linux cvonfig命令配置vlan(在eth0网卡上虚拟两个vlav端口,端口号为5、7): # vconfig add eth0 5 Added VLAN with VID == 5 to IF -:eth0

# vconfig add eth0 7 Added VLAN with VID == 7 to IF -:eth0 **设置VLAN的REORDER_HDR参数,默认就行了: # vconfig set_flag eth0.5 1 1 Set flag on device -:eth0.5:- Should be visible in /proc/net/vlan/eth0.5 # vconfig set_flag eth0.7 1 1 Set flag on device -:eth0.7:- Should be visible in /proc/net/vlan/eth0.7 **可以使用cat /proc/net/vlan/eth0.5查看eth0.5参数: # cat /proc/net/vlan/eth0.5 eth0.5 VID: 5 REORDER_HDR: 1 dev->priv_flags: 1 total frames received 623 total bytes received 32353 Broadcast/Multicast Rcvd 606 total frames transmitted 71 total bytes transmitted 9420 Device: eth0

OpenStack安装配置篇

OpenStack是一套用来管理虚拟机的平台软件。它不是一个单一的软件,而是集成了很多个组件用来协同合作。简单的来说,譬如有十台服务器,在VMware的情况下,我们在每台服务器上安装esx或者esxi,然后装一台vcenter,在vcenter的管理界面里把十台服务器的esx通过域名或者ip加入,就能在vcenter里面统一管理。类似的,红帽也有virsh 这种管理虚拟机的程序。 在这里我不介绍其他的云平台的管理软件,只是介绍如何从技术角度来使用OpenStack。如果要作为生产环境的话,你还需要考虑更多,譬如架构,网络拓扑,存储的方式,节点的分布等等。 在本篇文章里,我将介绍采用ec2兼容认证的方式。所有组件安装在一台controller 上。 关键字定义 控制端:类似vcenter的管理系统。 节点:类似安装了esx的服务器。 nova组件:安装在节点上,让节点能按照控制端的命令来操作节点上的虚拟机或者存储。 glance组件:用来管理镜像。 环境准备 ubuntu 11.10,服务器双网卡 步骤 安装完基本的操作系统后 $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install bridge-utils #安装网桥软件 配置网络接口

在这里我的架构是eth0连接了外网,即我們可以访问的网口。eth1做了网桥,和节点之间通过一个交换机连接。这样的好处是,内部节点和控制器的流量都走br100的交换机,而不会影响虚拟机上的应用使用的网络。 $ sudo vi /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.200.21 netmask 255.255.255.0 network 192.168.200.0 broadcast 192.168.200.255 gateway 192.168.200.10 auto br100 iface br100 inet static bridge_ports eth1 bridge_stp off bridge_maxwait 0 bridge_fd 0 address 10.200.200.2 netmask 255.255.255.0 $ sudo /etc/init.d/networking restart 初期准备工作做好,接下来就是要安装关于nova,glance等组件 $ sudo apt-get install -y rabbitmq-server #安装MQ消息組件 $ sudo apt-get install -y python-greenlet python-mysqldb #安装Python dependencies 接下来安装各个nova组件及依赖 $ sudo apt-get install nova-volume nova-vncproxy nova-api nova-ajax-console-proxy $ sudo apt-get install nova-doc nova-scheduler nova-objectstore

openstack安装图解

本帖最后由cryboy2001 于2014-08-15 14:52 编辑 目录 1、云计算与openstack介绍 传统的信息中心 云计算介绍 openstack介绍 物理架构 2、openstack架构 3、安装openstack方法 4、使用openstack 5、openstack配置文件 6、管理openstack 7、详解openstack 计算资源池 存储资源池 网络资源池 Glance镜像资源池 前端界面 Keystone认证管理 (不管会不会写完,象openstack一样,先把框架搞大点) 一、云计算与openstack介绍 1、传统的信息中心。当然下面画的很简单(自己画的),如果加上多个出口、设备冗余、线路冗余、服务器集群就会复杂。云计算就是用虚拟技术实现以下功能,如果理解了下面的网络功能,要理解openstack会很简单的,在openstack中都有与下面图中对应的模块。

缺点:1、部署应用时间长,工作量大,至少几个月2、资源利用率,有的服务器资源不够用,有的服务器大量资源浪费。2、管理复杂3、扩展麻烦,灵活性差。等等,这些也是云计算的优点。 2、云计算介绍 云计算(Cloud Computing )是网格计算(Grid Computing )、分布式计算(Distributed Computing )、并行计算(Parallel Computing )、效用计算(Utility Computing )、网络存储(Network Storage Technologies )、虚拟化(Virtualization )、负载均衡(Load Balance )等传统计算机技术(如以上图)和网络技术发展融合的产物。 个人理解:把一堆功能小的设备,整合成一大个功能强大设备,再把这个强大的设备划分成小设备,然后按你的需要买给你。

openstack安装配置详细手册(单节点)

openstack安装配置手册V1.0 目录 一、控制节点系统及环境安装 (1) 1:准备光盘 (1) 2:安装OS (1) 3:设置root权限 (1) 4:设置网络 (1) 5:安装bridge (2) 6:设置NTP () (2) 7:设置Iscsi (2) 8:安装rabbitmq (2) 二:安装mysql和创建相关数据库 (2) 1:安装mysql (3) 2:安装phpmyadmin (3) 3:创建数据库 (3) 三:安装和配置keystone (3) 1:安装keystone (3) 2:配置keystone (4) 创建服务 (6) 3:验证安装 (7) 四:安装和配置glance (8) 1:安装软件 (8) 2:配置/etc/glance/glance-api-paste.ini (8) 3:设置/etc/glance/glance-registry-paste.ini (8) 4:配置/etc/glance/glance-registry.conf (9) 5:配置/etc/glance/glance-api.conf (9) 6:同步数据库 (9) 7:验证glance服务是否正常 (9) 8:下载镜像并上传 (10) 五:安装配置nova (10) 1:安装nova相关组件 (10) 2:配置/etc/nova/nova.conf (10) 3:配置/etc/nova/api-paste.ini (12) 4:停止和重启nova相关服务 (12) 5:同步数据库 (12) 6:检查nova服务 (13) 六:安装和配置Dashbaord (14) 1:安装dashbaord (14) 2:配置/etc/openstack-dashboard/local_settings.py (14) 3:重启服务 (14) Appendix A: 使用nova-volume (14) Appendix B: glance使用swift存储镜像 (15) Appendix C: 多计算节点配置 (17)

OpenStack Juno 版本 All-in-one 离线安装指导

OpenStack Juno All-in-one 2014-10-16 ! @ HW http://lingxiankong.github.io/ ISO OpenStack 2014.10.28 The English Version is here Juno Ubuntu 14.04 server OpenStack Ubuntu OpenStack discovered by you…… ISO https://www.doczj.com/doc/8d16740093.html,/c04z4ngxxc(2014.10.23 ) BMC IP PXE all in one ISO OpenStack all in one ISO

Ubuntu ISO 1 4G 4CPU 30G 10G virtio 2 ISO 3 OpenStack 4 optional ALT+F2 root/root tailf/opt/openstack/install.log openstack OK OpenStack

5 optional all-in-one 1.cd/opt/openstack/etc/&&/bin/bash createvm.sh{CIDR}

CIDR external ( 24 ) 192.168.10.1 192.168.10.0/24 external net API nova list 6 host root/root openstack 7 optional host OpenStack Neutron eth0 br-ex IP host 8 http://lingxiankong.github.io/blog/2014/05/12/huawei-allinone-operation-guide/

虚拟环境下使用Fuel安装部署OpenStack

虚拟环境下使用Fuel安装部署 OpenStack 课程名称:云计算 实验名称:虚拟环境下使用Fuel安装部署OpenStack 学号: 姓名: 专业班级:软件工程1班 指导教师: 实验时间: 2015年12月15日

目录 1 openstack和fuel简介 (1) 1.1 openstack简介 (1) 1.2 fuel简介 (1) 2 安装虚拟机 (2) 2.1 安装前准备 (2) 2.1.1 安装虚拟机软件 (2) 2.1.2 下载openstack镜像文件 (2) 2.1.3 网卡配置 (2) 2.2 安装master节点 (5) 2.2.1 新建虚拟机 (5) 2.2.2 配置虚拟机 (9) 2.2.3 安装过程 (11) 2.3 安装controller节点 (14) 2.4 安装compute节点 (15) 3 部署openstack (15) 3.1 新建openstack环境 (16) 3.2 增加节点 (18) 3.3 网络配置 (20) 3.3.1 各个网络简介 (20) 3.3.2 节点的网络配置 (21) 3.3 验证网络 (23) 3.4 部署变更 (24) 4 启动云主机 (26) 4.1 启动云主机 (26) 4.2 访问云主机 (27) 4.2.1 绑定浮动IP (27) 4.2.2 添加管理规则 (28) 5 实验总结 (30)

1 openstack和fuel简介 本实验使用fuel在虚拟环境下搭建openstack平台,以下是对fuel和openstack的简单介绍。 1.1 openstack简介 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。 OpenStack是一个开源的云计算管理平台项目,由nova等几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。 OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack除了有 Rackspace 和 NASA 的大力支持外,还有包括 Dell、Citrix、 Cisco、 Canonical等重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。 1.2 fuel简介 Fuel是一个开源的部署和管理openstack的工具,它提供了一个直观的图形用户部署和管理界面,专注于openstack的部署、测试和第三方选件。其功能含盖自动的PXE方式的操作系统安装,DHCP服务,Orchestration服务和puppet 配置管理相关服务等。 使用Fuel部署openstack有以下优势: (1) 节点的自动发现和预校验;

相关主题
文本预览
相关文档 最新文档