做用:主要用於幫助用戶發現、註冊及搜索VM實例映像文件(經過REST API的形式)mysql
三大組件功能sql
磁盤映像文件的存儲目錄:/var/lib/glance/images建立glance數據庫數據庫
CREATE DATABASE glance;
vim
數據庫賦權api
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance';
複製代碼
yum install -y openstack-glance
bash
備份兩個配置文件/etc/glance/glance-api.conf和/etc/glance/glance-registry.confdom
編輯glance-api配置文件memcached
#vim /etc/glance/glance-api.conf
[database]
# ...
connection = mysql+pymysql://glance:glance@controller/glance
[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = glance
[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@controller/glance
[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = glance
[paste_deploy]
# ...
flavor = keystone
複製代碼
更新glance數據庫的配置信息ui
# su -s /bin/sh -c "glance-manage db_sync" glance
#加載admin的環境變量腳本文件
source admin-openstack.sh
#建立glance用戶
openstack user create --domain default --password glance glance
#檢查效果
oepnstack user list
#將glance用戶添加到service項目的admin角色組
openstack role add --project service --user glance admin
#建立image的server
openstack service create --name glance --description "OpenStack Image" image
#檢查效果
openstack service list
#初始化glance服務的api信息
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
#檢查效果
openstack endpoint list
複製代碼
重啓glance相關服務,設置開機自啓
# systemctl enable openstack-glance-api.service openstack-glance-registry.service
# systemctl start openstack-glance-api.service openstack-glance-registry.service
複製代碼
glance-api端口是9292,glance-registry端口是9191
下載測試鏡像文件
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
這裏上傳時遇到問題,經過瀏覽日誌文件發現是35357端口的問題,然而Queen版本的OpenStack中admin用戶並未使用該端口,所以是KeyStone組件配置出錯致使的問題。經過將endpoint中與KeyStone相關的服務刪除後從新開啓,解決了問題。
上傳鏡像文件到glance
openstack image create "cirros" --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public
安裝qemu-kvm對鏡像文件類型進行檢查:qemu-img info cirros-0.3.5-x86_64-disk.img
檢查效果
openstack image list
日誌文件檢查
cd /var/log/glance
grep 'ERROR' api.log #關於用戶操做的日誌信息
grep 'ERROR' registry.log #關於數據庫操做的日誌信息
複製代碼