Deploy Helion Openstack 2.0 KVM for Ceph

目  录

1. 安装Lifecycle Manager 1

2. 配置Lifcecycle Manager 1

3. 配置环境 2

4. 安装部署裸机 2

5. 部署Helion 3

6. 配置Ceph存储 5

7. 安装后配置 10

附1:配置public证书 12

1. 安装Lifecycle Manager

1 VM 拓扑

基于此拓扑及下面的配置,可以完成部署,可以在ceph 集群上创建卷并挂载到VM 上。

在第一台控制节点上从Helion光盘启动操作系统

输入install启动安装

选择语言,仅支持英文

选择位置

选择键盘类型

设定网络

创建账号,用stack用户

2. 配置Lifcecycle Manager

必须用stack用户登陆系统,且在执行下面命令时不要随意加sudo

sudo mount Helion-OpenStack-X.X.X.iso /media/cdrom

cp /media/cdrom/hos/hos-2.XXX.tar ~stack/

cd ~stack

tar xvf hos-2.XXX.tar

~/hos-2.X.X/hos-init.bash

在此可以设定一个密码,用于Ansible连接到其它节点时保护密钥,可以为空

在无人值守环境中,可以用export HOS_INIT_AUTO=y来避免提示输入密钥

如设定了密钥,可用eval $(ssh-agent); ssh-add ~/.ssh/id_rsa来避免Ansible每次连接到其它节点时都需输入密码

3. 配置环境

拷贝配置样例至配置文件目录

cp -r ~/helion/examples/entry-scale-kvm-vsa/* ~/helion/my_cloud/definition

编辑配置文件

可选(如果通过域名访问Public API):配置Public证书

提交配置

cd ~/helion/hos/ansible

git add -A

git commit -m "<commit message>"

每次改动配置文件后都需进行提交

4. 安装部署裸机

部署Cobbler

确认IPMI连通性

cd ~/helion/hos/ansible

ansible-playbook -i hosts/localhost bm-power-status.yml

部署Cobbler

cd ~/helion/hos/ansible

ansible-playbook -i hosts/localhost cobbler-deploy.yml

部署Cobbler时需要设定其它节点的操作系统密码(该密码将加密保存在Cobbler),用户名和该节点相同

使用Cobbler部署其它节点的操作系统

在所有其他节点上启用PXE网卡的网络启动功能,并将第一启动顺序配置为网络启动

重启所有其它节点

重启后自动通过网络启动安装,等待安装完毕自动关机

修改第一启动顺序为磁盘,并且重启

等待节点自动配置并验证SSH免输密码登陆

如果部分节点安装失败,需要重新安装

cd ~/helion/hos/ansible

ansible-playbook -i hosts/localhost bm-reimage.yml [-e nodelist=node1,node2,...]

如果没有nodelist选项,将自动查找该yml文件中netboot-enabled: True的节点,在重新安装前可以确认自动查找结果

也可以通过该命令查看哪些节点启用了网络启动:sudo cobbler system find --netboot-enabled=1

5. 部署Helion

运行配置处理器

cd ~/helion/hos/ansible

ansible-playbook -i hosts/localhost config-processor-run.yml

该步骤需要输入加密密码,该密码用来加密系统产生的敏感信息,比如:内部服务密码

在第一个提示中输入要设定的密码或已经设定的密码(已经运行过配置处理器)

在第二个提示中输入修改后的密码(如果要修改密码)或直接按回车忽略(第一次运行或不修改密码)

在无人值守环境中采用以下命令可以禁用加密

ansible-playbook -i hosts/localhost config-processor-run.yml -e encrypt="" -e rekey=""

部署云

创建部署目录

cd ~/helion/hos/ansible

ansible-playbook -i hosts/localhost ready-deployment.yml

可选:擦除磁盘

cd ~/scratch/ansible/next/hos/ansible

ansible-playbook -i hosts/verb_hosts wipe_disks.yml

运行site.yml脚本

cd ~/scratch/ansible/next/hos/ansible

ansible-playbook -i hosts/verb_hosts site.yml

如果运行配置处理器时采用了密码,请改用以下命令,并在提示时输入之前设定的密码

ansible-playbook -i hosts/verb_hosts site.yml --ask-vault-pass

如果有节点部署失败需要单独重新部署

ansible-playbook -i hosts/verb_hosts site.yml --limit @/home/stack/site.retry

ansible-playbook -i hosts/verb_hosts site.yml --limit helion-cp1-comp0002-mgmt

该阶段将运行osconfig命令配置云,并运行hlm-deploy命令部署云,预计需要45分钟,视节点数量而定

检测部署结果

ping任一控制节点的/etc/hosts文件中列出的ip地址

6. 配置Ceph存储

前面的工作将自动安装Ceph软件于指定的节点上,此部分内容描述在此之后的还需进行的手动配置Ceph后端的操作

Ceph集群将会把用于管理网络的网络组保留为默认值,比如MANAGEMENT,改变它将会导致部署失败

Ceph集群监视服务默认安装于控制节点,但也可将其安装于独立的节点

在安装部署云时,需要拷贝的样例配置文件为entry-scale-kvm-ceph/*

仅HOS2.0:当使用--limit选项执行site.yml剧本时,受限节点清单还将包括Ceph的监视服务节点

部署Openstack Cinder后端

登陆Lifecycle Manager

安装Ceph客户端

cd ~/scratch/ansible/next/hos/ansible

ansible-playbook -i hosts/verb_hosts ceph-client-prepare.yml

对已经存在的节点,执行上述命令,对以后新增的节点,使用--limit开关

将会在计算节点上安装Ceph客户端

仅HOS2.0,安装Ceph客户端后将需要手动配置Keyring

拷贝以下文件从Lifecycle Manager节点至所有其它控制节点的相应目录

/etc/ceph/ceph.client.cinder-backup.keyring

/etc/ceph/ceph.client.cinder.keyring

/etc/ceph/ceph.client.glance.keyring

/etc/ceph/client.cinder.key

修改这些文件的权限:chmod 0644 FILES

仅HOS2.1,当Lifecycle Manager为独立节点时:在Lifecycle Manager上安装客户端和配置Keyring文件

需进行配置和设置Keyring文件,使得Lifecycle Manager能够访问Ceph集群

cd ~/scratch/ansible/next/hos/ansible

ansible-playbook -i hosts/verb_hosts ceph-setup-deployer-as-client.yml

将选择其中1台同时具备admin和mon Keyring的控制节点作为管理节点

如果将Ceph做Cinder的存储后端——

编辑~/helion/my_cloud/config/cinder/cinder.conf.j2

# Configure the enabled backends

enabled_backends=ceph-1

[ceph-1]

rbd_secret_uuid = <secret-uuid>

#UUID见~/helion/my_cloud/config/ceph/user_model.yml文件的secret_id——

ceph_user_models:

- user:

name: cinder

type: openstack

secret_id: 457eb676-33da-42ec-9a8c-9293d545c337

#uuidgen能够产生新UUID,建议修改

pools:

- name: volumes

rbd_user = <ceph-cinder-user>

rbd_user见~/helion/my_cloud/config/ceph/user_model.yml文件的user name

内容同上,默认为cinder

rbd_pool = <ceph-cinder-volume-pool>

rbd_pool见~/helion/my_cloud/config/ceph/user_model.yml文件的pool name

内容同上,默认为volumes(有多个pool,采用用途为cinder-volume的pool)

rbd_ceph_conf = <ceph-config-file>

Ceph配置文件位置,通常为/etc/ceph/ceph.conf

volume_driver = cinder.volume.drivers.rbd.RBDDriver

volume_backend_name = <ceph-backend-name>

设定一个backend名称,后面将会用到

编辑~/helion/my_cloud/config/nova/kvm-hypervisor.conf.j2,配置下面内容:

[libvirt]

rbd_user = cinder        #用户名见上面

rbd_secret_uuid = 457eb676-33da-42ec-9a8c-9293d545c337        #UUID见上面

此内容指示libvirt去挂载Ceph,使用从Ceph创建的虚拟机,而不是让内核集成的Ceph功能去挂载它

如果需要将从镜像创建的虚拟机也默认存储在Ceph上,需要添加下面内容:

images_rbd_ceph_conf = /etc/ceph/ceph.conf

images_rbd_pool = vms

images_type = rbd

o 如果将Ceph做Cinder的备份后端——

编辑~/helion/my_cloud/config/cinder/cinder.conf.j2

[DEFAULT]

backup_driver = cinder.backup.drivers.ceph

backup_ceph_conf = <ceph-config-file>

Ceph配置文件位置,通常为/etc/ceph/ceph.conf

backup_ceph_user = <ceph-backup-user>

User见~/helion/my_cloud/config/ceph/user_model.yml文件的Cinder-backup User——

- user:

name: cinder-backup

type: openstack

pools:

- name: backups

backup_ceph_pool = <ceph-backup-pool>

Pool见~/helion/my_cloud/config/ceph/user_model.yml文件的pool name

内容同上

o 如果将Ceph做Glance的存储后端——

编辑~/helion/my_cloud/config/glance/glance-api.conf.j2

[glance_store]

stores = rbd

default_store = rbd

#============ RBD Store Options ============

rbd_store_ceph_conf = /etc/ceph/ceph.conf

rbd_store_user = glance

rbd_store_pool = images

rbd_store_chunk_size = 8

注释下面Swift小节的全部选项

#============ SWIFT Store Options ============

注意:HOS默认采用Swift作为Glance的后端

如果已经上载了镜像,需要重新上载到RDB上,并且快照或删除使用了这些镜像的实例然后重新创建它

重新部署Ceph

cd ~/helion/hos/ansible

git add -A

git commit -m "config Ceph backends"

export HOS_USER_PASSWORD_ENCRYPT_KEY=<encryption key>

#如果启用了密码加密

ansible-playbook -i hosts/localhost config-processor-run.yml

ansible-playbook -i hosts/localhost ready-deployment.yml

cd ~/scratch/ansible/next/hos/ansible

ansible-playbook -i hosts/verb_hosts cinder-reconfigure.yml

ansible-playbook -i hosts/verb_hosts nova-reconfigure.yml

ansible-playbook -i hosts/verb_hosts glance-reconfigure.yml

创建卷类型

用admin登陆Openstack Dashboard,转到Admin | System | Volumes页面

Volume Types -> Create Volume Type -> 输入一个名字 -> Create Volume Type

找到刚创建的卷类型,展开右侧的下拉菜单,选择View Extra Specs -> Create

key和value可以用

必须—Key:volume_backend_name;Value:之前在cinder.conf.j2中配置的backend名称

7. 安装后配置

~/scratch/ansible/next/hos/ansible/group_vars存储有admin用户和demo用户的身份凭据

登陆Lifecycle Manager

设置环境变量使得命令行客户端可以正确使用

cd ~/scratch/ansible/next/hos/ansible

ansible-playbook -i hosts/verb_hosts cloud-client-setup.yml

/etc/hosts下不再有Lifecycle Manager的入口,这将会使得访问变慢,可手动添加

127.0.0.1        localhost        hlm

备份SSH Key,位于Lifecycle Manager的~/.ssh目录

附1:配置public证书

(如果采用域名访问Public API,则需配置)

回到安装流程

根据生成的VIP或FQDN来生成证书

openssl req -nodes -newkey rsa:2048 -keyout my-public-cert.key -out my-public-cert.csr -text -subj ‘/C=US/O=Helion Test Certificate/CN=your.domain.com/[email protected]/‘

将生成私钥文件my-public-cert.key和证书请求文件my-public-cert.csr

生成v3 extensions文件

cat > v3_ext.cnf << *EOF*

[ v3_req ]

subjectAltName=DNS:your.domain.com,DNS:10.0.0.1, IP:10.0.0.1

*EOF*

自签名证书

openssl x509 -days 365 -extfile v3_ext.cnf -extensions v3_req -in my-public-cert.csr -signkey my-public-cert.key -req -text -out my-public-cert.crt

将生成证书公钥文件my-public-cert.crt

合成Helion需要的证书

将my-public-cert.key和my-public-cert.crt的内容合并为my-public-cert.crt文件,拷贝到~/helion/my_cloud/config/tls/certs/

my-public-cert.key的内容在前,my-public-cert.crt的内容在后

(如果没有配置证书或者修改证书文件名称)安装或更新证书

修改network_group.yml里相应内容

运行config-processor-run.yml和ready-deployment.yml

部署新证书

cd ~/scratch/ansible/next/hos/ansible

ansible-playbook -i hosts/verb_hosts FND-CLU-deploy.yml

部署CA链

cd ~/scratch/ansible/next/hos/ansible

ansible-playbook -i hosts/verb_hosts horizon-deploy.yml

(可选,如果采用的是FQDN)重新配置nova服务让vnc代理能够应用此更新

cd ~/scratch/ansible/next/hos/ansible

ansible-playbook -i hosts/verb_hosts nova-reconfigure.yml

回到安装流程

作者:小布(ZHC)原HPE

时间: 05-20

Deploy Helion Openstack 2.0 KVM for Ceph的相关文章

离线快速部署Mirantis Openstack 9.0

Mirantis Openstack 9.0 简称为MOS 9.0.它是Mirantis 公司开发 openstack自动化安装工具,这个工具还有个专门的名字,叫做Fuel.   离线安装时不需要更新Ubuntu和MOS包,即不需要互联网连接.在同等网络带宽情况下可以比在线安装更快地部署.运气不好的话,用在线安装有可能遇到致命bug,导致安装失败,比如https://bugs.launchpad.net/fuel/+bug/1648732. 本指导书使用2016年7月的离线源进行安装.安装全程不

离线快速部署Mirantis Openstack 9.0.0

Mirantis Openstack 9.0 简称为MOS 9.0.它是Mirantis 公司开发 openstack自动化安装工具,这个工具还有个专门的名字,叫做Fuel. 离线安装时不需要更新Ubuntu和MOS包,即不需要互联网连接.在同等网络带宽情况下可以比在线安装更快地部署.运气不好的话,用在线安装有可能遇到致命bug,导致安装失败,比如https://bugs.launchpad.net/fuel/+bug/1648732. 本指导书使用2016年7月的离线源进行安装.安装全程不需要

OpenStack之安装kvm+编译安装libvirt+解决遇到的问题

http://libvirt.org/sources/ 下载libvirt进行编译安装 1.简单编译安装libvirt [email protected]:/tool#tar -xf libvirt-1.3.4.tar.gz [email protected]:/tool# cd libvirt-1.3.4 [email protected]:/tool/libvirt-1.3.4# Ubuntu缺省情况下,没有提供C/C++的编译环境,所以还需手动安装如下包[email protected]:

安装HPE Helion Openstack

先简单记录一下步骤.备忘... install 步骤 0.准备信息,包括 Server names IP addresses Server Roles PXE MAC addresses PXE IP addresses PXE interfaces IPMI/iLO IP address, username, password 1.安装iso系统,部署lifecycle 2.拷贝tar文件解压 3.运行hos-init.bash(export HOS_INIT_AUTO=y #添加后不提示ss

Deploy Ceph and start using it:simple librados cli

This part of the tutorial describes how to setup a simple Ceph client using librados (for C++). The only information that the client requires for the cephx authentication is Endpoint of the monitor node Keyring containing the pre-shared secret (we wi

Openstack 实战讲解之-----------02-控制节点kvm虚拟化配置

KVM虚拟化的特性 嵌入到linux正式kernel(提高了兼容性) 代码级资源调用(提高性能) 虚拟机就是一个进程(内存易于管理) 直接支持NUMA技术(提高扩展性) 虽然被RedHat收购了,但是依然保持开源发展模式,社区活跃 更好的商业支持及服务保障 CentOS7较CentOS6默认支持cpu热添加,内存热添加,大页内存默认都是开启的. 支持虚拟化的条件 Inter的cpu简称为:VMX AMD的cpu简称为:SVM VMware需要开启如下两个条件即可,如果是物理机,需要在bios里面

centos7.0安装kvm

PRE-INSTALL ============================================================= kvm相关安装包及其作用 qemu-kvm 主要的KVM程序包 python-virtinst 创建虚拟机所需要的命令行工具和程序库 virt-manager GUI虚拟机管理工具 virt-top 虚拟机统计命令 virt-viewer GUI连接程序,连接到已配置好的虚拟机 libvirt C语言工具包,提供libvirt服务 libvirt-c

网易OpenStack部署运维实战

防伪码:没有所谓的命运,只有不同的选择. OpenStack简介 OpenStack 是一个开源的 IaaS 实现,它由一些相互关联的子项目组成,主要包括计算.存储.网络. 由于以 Apache 协议发布,自 2010 年项目成立以来,超过 200 个公司加入了 OpenStack 项目,其中包括 AT&T.AMD.Cisco.Dell.IBM.Intel.Red Hat 等. 目前参与 OpenStack 项目的开发人员有 17,000+,来自 139 个国家,这一数字还在不断增长中. Ope

架构设计:系统存储(30)——分布式文件系统Ceph(RADOS结构)

=============================== (接上文<架构设计:系统存储(29)--分布式文件系统Ceph(管理)>) 4. Ceph顶层架构总览 此图来源于官网,很多网络上的资料也引用了这张图,但是并没有讲清楚出现在图中的和没有出现在图中的(但同样重要的)几个名词到底是什么含义,例如,RADOS.LIBRADOS.RADOSGW.RDB.CEPH FS.MON.OSD.MDS等等.读者要搞清楚Ceph的顶层架构,就首先要搞清楚这些名词代表的技术意义,以及这些技术的在Cep