参考文档:

  1. Install-guide:https://docs.openstack.org/install-guide/
  2. OpenStack High Availability Guide:https://docs.openstack.org/ha-guide/index.html
  3. 理解Pacemaker:http://www.cnblogs.com/sammyliu/p/5025362.html
  4. Ceph: http://docs.ceph.com/docs/master/start/intro/

九.Glance集群

1. 创建glance数据库

# 在任意控制节点创建数据库,后台数据自动同步,以controller01节点为例
[root@controller01 ~]# mysql -u root -pmysql_pass MariaDB [(none)]> CREATE DATABASE glance;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance_dbpass';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance_dbpass'; MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

2. 创建glance-api

# 在任意控制节点操作,以controller01节点为例;
# 调用keystone服务需要认证信息,加载环境变量脚本即可
[root@controller01 ~]# . admin-openrc

1)创建service项目

# 创建1个project,glance/nova/neutron等服务加入到此project;
# service项目在”default” domain中
[root@controller01 ~]# openstack project create --domain default --description "Service Project" service

2)创建glance用户

# glance用户在”default” domain中
[root@controller01 ~]# openstack user create --domain default --password=glance_pass glance

3)glance用户赋权

# 为glance用户赋予admin权限
[root@controller01 ~]# openstack role add --project service --user glance admin

4)创建glance服务实体

# 服务实体类型”image”
[root@controller01 ~]# openstack service create --name glance --description "OpenStack Image" image

5)创建glance-api

# 注意--region与初始化admin用户时生成的region一致;
# api地址统一采用vip,如果public/internal/admin分别使用不同的vip,请注意区分;
# 服务类型为image;
# public api
[root@controller01 ~]# openstack endpoint create --region RegionTest image public http://controller:9292

# internal api
[root@controller01 ~]# openstack endpoint create --region RegionTest image internal http://controller:9292

# admin api
[root@controller01 ~]# openstack endpoint create --region RegionTest image admin http://controller:9292

3. 安装glance

# 在全部控制节点安装glance,以controller01节点为例
[root@controller01 ~]# yum install openstack-glance python-glance python-glanceclient -y

4. 配置glance-api.conf

# 在全部控制节点操作,以controller01节点为例;
# 注意”bind_host”参数,根据节点修改;
# 注意glance-api.conf文件的权限:root:glance
[root@controller01 ~]# cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bak
[root@controller01 ~]# egrep -v "^$|^#" /etc/glance/glance-api.conf
[DEFAULT]
enable_v1_api = false
bind_host = 172.30.200.31
[cors]
[database]
connection = mysql+pymysql://glance:glance_dbpass@controller/glance
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
[image_format]
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller01:11211,controller02:11211,controller03:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = glance_pass
[matchmaker_redis]
[oslo_concurrency]
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
[paste_deploy]
flavor = keystone
[profiler]
[store_type_location_strategy]
[task]
[taskflow_executor] # 创建镜像存储目录并赋权限;
# /var/lib/glance/images是默认的存储目录
[root@controller01 ~]# mkdir -p /var/lib/glance/images
[root@controller01 ~]# chown glance:nobody /var/lib/glance/images

5. 配置glance-registry.conf(optional)

# 官方文档指出:glance-registry服务与其api在Q版已经弃用,并且在S版时完全删除,本章节可忽略;
# 在全部控制节点操作,以controller01节点为例;
# 注意”bind_host”参数,根据节点修改;
# 注意glance-registry.conf文件的权限:root:glance
[root@controller01 ~]# cp /etc/glance/glance-registry.conf /etc/glance/glance-registry.conf.bak
[root@controller01 ~]# egrep -v "^$|^#" /etc/glance/glance-registry.conf
[DEFAULT]
bind_host = 172.30.200.31
[database]
connection = mysql+pymysql://glance:glance_dbpass@controller/glance
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller01:11211,controller02:11211,controller03:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = glance_pass
[matchmaker_redis]
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_policy]
[paste_deploy]
flavor = keystone
[profiler]

6. 同步glance数据库

# 任意控制节点操作;
# 忽略输出的“deprecated”信息
[root@controller01 ~]# su -s /bin/sh -c "glance-manage db_sync" glance

# 查看验证
[root@controller01 ~]# mysql -h controller01 -uglance -pglance_dbpass -e "use glance;show tables;"

7. 启动服务

# 在全部控制节点操作,以controller01节点为例;
# glance-registry在Q版已弃用;
[root@controller01 ~]# systemctl enable openstack-glance-api.service openstack-glance-registry.service
[root@controller01 ~]# systemctl restart openstack-glance-api.service openstack-glance-registry.service # 查看服务状态
[root@controller01 ~]# systemctl status openstack-glance-api.service openstack-glance-registry.service # 查看端口
[root@controller01 ~]# netstat -tunlp | grep python2

8. 验证

在不启用ceph存储时,通常采用nfs共享存储做image的后端存储,如可将controller01节点的本地存储做共享,controller02/03节点远端挂载即可。

这里后续使用ceph存储,暂时使用本地验证,以controller01节点为例。

1)下载镜像

2)上传镜像

[root@controller01 ~]# . admin-openrc 

# “上传”指将已下载的原始镜像经过一定的格式转换上传到image服务;
# 格式指定为qcow2,bare;设置public权限;
# 镜像生成后,在指定的存储目录下生成以镜像id命名的镜像文件
[root@controller01 ~]# openstack image create "cirros-qcow2" \
--file ~/cirros-0.3.5-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--public

3)查看镜像

[root@controller01 ~]# openstack image list

9. 设置pcs资源

# 在任意控制节点操作;
# 添加资源openstack-glance-api与openstack-glance-registry
[root@controller01 ~]# pcs resource create openstack-glance-api systemd:openstack-glance-api --clone interleave=true
[root@controller01 ~]# pcs resource create openstack-glance-registry systemd:openstack-glance-registry --clone interleave=true # 查看pcs资源
[root@controller01 ~]# pcs resource

高可用OpenStack(Queen版)集群-5.Glance集群的更多相关文章

  1. openstack高可用集群21-生产环境高可用openstack集群部署记录

    第一篇 集群概述 keepalived + haproxy +Rabbitmq集群+MariaDB Galera高可用集群   部署openstack时使用单个控制节点是非常危险的,这样就意味着单个节 ...

  2. Redis高可用(持久化、主从复制、哨兵、集群)

    Redis高可用(持久化.主从复制.哨兵.集群) 目录 Redis高可用(持久化.主从复制.哨兵.集群) 一.Redis高可用 1. Redis高可用概述 2. Redis高可用策略 二.Redis持 ...

  3. 用Kolla在阿里云部署10节点高可用OpenStack

    为展现 Kolla 的真正实力,我在阿里云使用 Ansible 自动创建 10 台虚机,部署一套多节点高可用 OpenStack 集群! 前言 上次 Kolla 已经表示了要打 10 个的愿望,这次我 ...

  4. 高可用OpenStack(Queen版)集群-1. 集群环境

    参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:http ...

  5. 高可用OpenStack(Queen版)集群-7.Neutron控制/网络节点集群

    参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:http ...

  6. 高可用OpenStack(Queen版)集群-3.高可用配置(pacemaker&haproxy)

    参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:http ...

  7. 高可用OpenStack(Queen版)集群-2.基础服务

    参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:http ...

  8. 高可用OpenStack(Queen版)集群-13.分布式存储Ceph

    参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:http ...

  9. 高可用OpenStack(Queen版)集群-12.Cinder计算节点

    参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:http ...

随机推荐

  1. regex_match

    原型:bool regex_match(InputSequence[,MatchResults] , Regex[ , Flags]); 当模式匹配整个输入序列成功时,返回的是true,否则返回fal ...

  2. R语法:<<-为全局变量赋值

    例:在函数内部为全局变量赋值 all_predata_time <- data.frame(pd=0.1,Row=1,preRow=0,pt=0.1,stasid='1',InitDate='1 ...

  3. empty与isset,null与undefined

    一. null VS undefined VS NaN 1. null 定义:null是特殊的object,是空对象,没有任何属性和方法. document.writeln(typeof null); ...

  4. ra寄存器定位core

    $ra寄存器中存入的是pc的值(程序运行处的地址),调用函数时,在跳转前,必须保存当前地址(pc的值),以便后来返回.jal $ra 保存后跳转,jr $ra,返回到跳转前,通过$ra保存进入上层栈地 ...

  5. 【vue知识点】2)vue登录认证

    要点: 客户端登录要唯一 ——> token除了客户端要验证外,服务器端也要校验  (处理:token应该包含用户的基本信息,这样服务端解密token的时候就知道是哪个账户) (如果只是使用to ...

  6. 苹果电脑(Mac mini或Macbook或iMac)恢复出厂设置

    苹果电脑(Mac mini或Macbook或iMac)恢复出厂设置,首先要做好如下的准备: 第一:数据的备份:第二:保证正常的wifi连接:第三:有线的鼠标键盘连接: 具体恢复操作步骤: 步骤一:电脑 ...

  7. PhpStorm 回到上次编辑位置的快捷键

    回到上次编辑位置 Ctrl + Alt + <- (向后) Ctrl + Alt + -> (向前) 这个快捷键有时和电脑桌面快捷键冲突.解决办法: win + D 回到电脑桌面,右键-& ...

  8. C语言——常用标准输入输出函数 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字符串拷贝函数 strcpy(), strncpy(), strchr(), strstr()函数用法特点

    1 首先介绍几个常用到的转义符 (1)     换行符“\n”, ASCII值为10: (2)     回车符“\r”, ASCII值为13: (3)     水平制表符“\t”, ASCII值为 9 ...

  9. 复制web项目时注意修改web项目名

    改web项目的项目名可以右击->properties->搜索web找到settings->修改context name

  10. PostgreSQL统计信息索引页

    磨砺技术珠矶,践行数据之道,追求卓越价值 返回顶级页:PostgreSQL索引页 本页记录所有本人所写的PostgreSQL的统计信息相关文摘和文章的链接: pg_stats:   --------- ...