一、环境准备
1、虚拟机准备
IP地址 主机名 操作系统 192.168.56.11 linux-node1 CentOS7 192.168.56.12 linux-node2 CentOS7
其中,linux-node1当作控制节点
linux-node2当作计算节点
二、镜像服务
OpenStack镜像服务是IaaS的核心服务。它接受磁盘镜像或服务器镜像API请求,和来自终端用户或OpenStack计算组件的元数据定义。它也支持包括OpenStack对象存储在内的多种类型仓库上的磁盘镜像或服务器镜像存储。 大量周期性进程运行于OpenStack镜像服务上以支持缓存。同步复制(Replication)服务保证集群中的一致性和可用性。其它周期性进程包括auditors, updaters, 和 reapers。 OpenStack镜像服务包括以下组件: glance-api 接收镜像API的调用,诸如镜像发现、恢复、存储。 监听9292端口 glance-registry 存储、处理和恢复镜像的元数据,元数据包括项诸如大小和类型 监听9191端口 #glance-registry是私有内部服务,用于服务OpenStack Image服务。不要向用户暴露该服务
三、安装和配置
1、安装
[root@linux-node1 ~]# yum install -y openstack-glance
2、配置
先决条件
(1)创建glance数据库
(2)获得 admin 凭证来获取只有管理员能执行的命令的访问权限
创建用户
(3)修改glance-api.conf
配置数据库连接
vim /etc/glance/glance-api.conf connection = mysql+pymysql://glance:[email protected]/glance
(4)修改glance-registry.conf
配置数据库连接
vim /etc/glance/glance-registry.conf connection = mysql+pymysql://glance:[email protected]/glance
3、写入镜像服务数据库
同步数据库,创建glance的表结构
su -s /bin/sh -c "glance-manage db_sync" glance
同步完成后,确认一下创建是否成功
[root@linux-node1 ~]# mysql -h 192.168.56.11 -uglance -pglance -e "use glance;show tables;" +----------------------------------+ | Tables_in_glance | +----------------------------------+ | artifact_blob_locations | | artifact_blobs | | artifact_dependencies | | artifact_properties | | artifact_tags | | artifacts | | p_w_picpath_locations | | p_w_picpath_members | | p_w_picpath_properties | | p_w_picpath_tags | | p_w_picpaths | | metadef_namespace_resource_types | | metadef_namespaces | | metadef_objects | | metadef_properties | | metadef_resource_types | | metadef_tags | | migrate_version | | task_info | | tasks | +----------------------------------+
4、配置keystone
修改glance-api.conf
vim /etc/glance/glance-api.conf #在[keystone_authtoken]下添加 auth_uri = http://192.168.56.11:5000 auth_url = http://192.168.56.11:35357 memcached_servers = 192.168.56.11:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = glance password = glance #在[paste_deploy]下添加 flavor = keystone
修改glance-registry.conf
vim /etc/glance/glance-registry.conf 在[keystone_authtoken]下添加 auth_uri = http://192.168.56.11:5000 auth_url = http://192.168.56.11:35357 memcached_servers = 192.168.56.11:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = glance password = glance 在[paste_deploy]下添加 flavor = keystone
5、配置镜像存储位置
编辑glance-api.conf
在[glance_store]下修改 stores = file,http default_store = file filesystem_store_datadir = /var/lib/glance/p_w_picpaths
6、启动glance
设置开机启动 [root@linux-node1 ~]# systemctl enable openstack-glance-api.service \ > openstack-glance-registry.service 启动glance [root@linux-node1 ~]# systemctl start openstack-glance-api.service \ > openstack-glance-registry.service
执行netstat -lntp查看端口监听情况,若9292和9191都已监听,则证明glance启动成功。
7、在keystone上做服务注册
在创建之前,要先执行环境变量脚本
[root@linux-node1 ~]# source admin-openstack.sh
再创建glance服务实体
[root@linux-node1 ~]# openstack service create --name glance --description "OpenStack Image" p_w_picpath +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Image | | enabled | True | | id | 6b6de8cbe36d439bb9a4ef90a7aa6f0e | | name | glance | | type | p_w_picpath | +-------------+----------------------------------+
创建镜像服务的API endpoint
[root@linux-node1 ~]# openstack endpoint create --region RegionOne p_w_picpath public http://192.168.56.11:9292 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 560d86e5e9074b4b9a98564298e2e3bf | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 6b6de8cbe36d439bb9a4ef90a7aa6f0e | | service_name | glance | | service_type | p_w_picpath | | url | http://192.168.56.11:9292 | +--------------+----------------------------------+
[root@linux-node1 ~]# openstack endpoint create --region RegionOne p_w_picpath internal http://192.168.56.11:9292 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 9f9bf0ef9e804099b2a11a94d8181e48 | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 6b6de8cbe36d439bb9a4ef90a7aa6f0e | | service_name | glance | | service_type | p_w_picpath | | url | http://192.168.56.11:9292 | +--------------+----------------------------------+
[root@linux-node1 ~]# openstack endpoint create --region RegionOne p_w_picpath admin http://192.168.56.11:9292 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | f7008f53f5664a6f81b90841fee66c93 | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 6b6de8cbe36d439bb9a4ef90a7aa6f0e | | service_name | glance | | service_type | p_w_picpath | | url | http://192.168.56.11:9292 | +--------------+----------------------------------+
验证是否创建成功
[root@linux-node1 ~]# openstack p_w_picpath list [root@linux-node1 ~]# glance p_w_picpath-list +----+------+ | ID | Name | +----+------+ +----+------+ [root@linux-node1 ~]# 执行上面两条命令,若返回结果与上面结果一致,则服务注册成功。
8、上传镜像
使用QCOW2磁盘格式,bare容器格式上传镜像到镜像服务并设置为public,这样所有的项目都可以访问它
[root@linux-node1 ~]# openstack p_w_picpath create "cirros" --file cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --public +------------------+------------------------------------------------------+ | Field | Value | +------------------+------------------------------------------------------+ | checksum | ee1eca47dc88f4879d8a229cc70a07c6 | | container_format | bare | | created_at | 2016-10-27T16:21:42Z | | disk_format | qcow2 | | file | /v2/p_w_picpaths/29d99654-ba91-4d04-8808-e1b8d16861fb/file | | id | 29d99654-ba91-4d04-8808-e1b8d16861fb | | min_disk | 0 | | min_ram | 0 | | name | cirros | | owner | 53f72af1420a4d098d48f2c82d7e9ec7 | | protected | False | | schema | /v2/schemas/p_w_picpath | | size | 13287936 | | status | active | | tags | | | updated_at | 2016-10-27T16:21:43Z | | virtual_size | None | | visibility | public | +------------------+------------------------------------------------------+
查看镜像是否创建成功
[root@linux-node1 ~]# openstack p_w_picpath list +--------------------------------------+--------+--------+ | ID | Name | Status | +--------------------------------------+--------+--------+ | 29d99654-ba91-4d04-8808-e1b8d16861fb | cirros | active | +--------------------------------------+--------+--------+ [root@linux-node1 ~]# glance p_w_picpath-list +--------------------------------------+--------+ | ID | Name | +--------------------------------------+--------+ | 29d99654-ba91-4d04-8808-e1b8d16861fb | cirros | +--------------------------------------+--------+
镜像上传所在的目录
[root@linux-node1 ~]# cd /var/lib/glance/p_w_picpaths/ [root@linux-node1 p_w_picpaths]# ls 29d99654-ba91-4d04-8808-e1b8d16861fb