Openstack(Ocata版本)部署总结第三章:镜像服务

OpenStack镜像服务是IaaS的核心服务,它接受磁盘镜像或服务器镜像API请求,和来自终端用户或OpenStack计算组件的元数据定义。它也支持包括OpenStack对象存储在内的多种类型仓库上的磁盘镜像或服务器镜像存储。

OpenStack镜像服务包括以下组件:

glance-api
接收镜像API的调用,诸如镜像发现、恢复、存储。
glance-registry
存储、处理和恢复镜像的元数据,元数据包括项诸如大小和类型。

安装:

创建glance库并授予相应权限

# mysql -u root -p
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)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'controller'   IDENTIFIED BY 'GLANCE_DBPASS';

使用admin身份创建glance user

# . admin-openrc
# openstack user create --domain default --password-prompt glance

User Password:
Repeat User Password:

添加admin role到glance user和service project

# openstack role add --project service --user glance admin

创建glance服务实体和image服务endpoints

# openstack service create --name glance \
  --description "OpenStack Image" image
# openstack endpoint create --region RegionOne \
  image public http://controller:9292
# openstack endpoint create --region RegionOne \
  image internal http://controller:9292
# openstack endpoint create --region RegionOne \
  image admin http://controller:9292

安装并配置组件

# yum install openstack-glance

编辑glance-api配置文件

# vim /etc/glance/glance-api.conf
[database]
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = GLANCE_PASS

[paste_deploy]
flavor = keystone

[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/

编辑glance-registry配置文件

# vim /etc/glance/glance-registry.conf
[database]
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = GLANCE_PASS

[paste_deploy]
flavor = keystone

写入镜像服务数据库文件

# su -s /bin/sh -c "glance-manage db_sync" glance

将glance-api和glance-registry服务加入开机启动并启动

# systemctl enable openstack-glance-api.service \
  openstack-glance-registry.service
# systemctl start openstack-glance-api.service \
  openstack-glance-registry.service

验证(使用wget下载镜像文件)

官方测试镜像:#wget  http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
CentOS官方提供的虚拟机镜像:#wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1705.qcow2.xz
可以自行前往查看需要的镜像版本http://cloud.centos.org/centos/7/images/

如果使用官方测试镜像,该镜像生成实例用户名cirros,密码cubswin:)
如果使用CentOS官方镜像,该镜像生成实例默认需要使用你制作的keypair登录(Dashboard页面可以制作,命令行也可以)
使用 QCOW2 磁盘格式,bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它

# openstack image create "cirros" \
  --file cirros-0.3.5-x86_64-disk.img \
  --disk-format qcow2 --container-format bare \
  --public

你要做的是修改"cirros"为你需要的镜像名,修改镜像文件名为你实际的镜像文件名
qcow2是现在比较主流的一种虚拟化镜像格式,性能上接近raw裸格式的性能。
确认镜像的上传并验证属性

# openstack image list

你可能感兴趣的:(Openstack(Ocata版本)部署总结第三章:镜像服务)