1、glance簡介python
openstack鏡像服務使用戶可以發現、登記並檢索虛擬機鏡像,代號glance。glance服務提供了一個REST API,使你可以查詢虛擬機鏡像元數據和檢索實際鏡像。經過鏡像服務提供的虛擬機鏡像能夠存儲在不一樣的位置,從簡單的文件系統對象存儲到相似openstack對象存儲系統。mysql
爲了簡單,本安裝鏡像服務使用普通文件系統作爲後端,也就是說上傳鏡像將被存儲在一個目錄裏,這個目錄是/var/lib/glance/p_w_picpath,你要確保這個目錄提供足夠的空間,而後再來存儲虛擬機的鏡像和快照。sql
2、鏡像服務組件數據庫
1.Glance-API:承受鏡像API的探索,檢索和存儲鏡像的API調用。後端
2.Glance-registry:存儲,處理和檢索有關鏡像的元數據,元數據大小、類型等等。api
3.Database:存儲鏡像元數據,你能夠選擇你喜歡的數據庫,如今比較多的是mysql和sqlitecurl
鏡像文件存儲在存儲庫中,你能夠選擇不一樣的存儲庫,好比正常文件系統、 RADOS、Amazon S3 HTTP,也有一些提供只讀使用,因此咱們可使用不一樣的分佈式文件系統來擴展。分佈式
3、安裝鏡像服務
ide
1.在controller節點上安裝鏡像服務測試
# yum install -y openstack-glance python-glanceclient
2.鏡像服務將鏡像的信息存儲在數據庫中。這個示例指引Mysql數據庫用於其餘的openstack服務。在配置文件中指定數據庫的位置,鏡像服務提供glance-api和glance-registry服務,每一個服務都有它本身的配置文件,你必須經過本節內容修改它們的配置文件。
# openstack-config --set /etc/glance/glance-api.conf database \
connection mysql://glance:glance@controller/glance
# openstack-config --set /etc/glance/glance-registry.conf database \
connection mysql://glance:glance@controller/glance
3.登錄數據庫,建立glance用戶、數據庫以及授予訪問權限
mysql> CREATE DATABASE glance;
mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY 'glance';
mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
IDENTIFIED BY 'glance';
mysql> FLUSH PRIVILEGES;
mysql> exit;
4.填充glance數據庫
# su -s /bin/sh -c "glance-manage db_sync" glance
注意:這裏可能會有告錯,請按照下列網址上操做便可
https://ask.openstack.org/en/question/28335/you-should-rebuild-using-libgmp-5-to-avoid-timing-attack-vulnerability-_warnnot-using-mpz_powm_sec-you-should-rebuild-using-libgmp-5-to-avoid-timing/
5.爲鏡像服務建立glance用戶用做身份認證。
# keystone user-create --name=glance --pass=openstack --email=353764437@qq.com
# keystone user-role-add --user=glance --tenant=service --role=admin
6.配置鏡像服務使用身份認證服務進行身份驗證
# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \
auth_uri http://controller:5000
# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \
auth_host controller
# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \
auth_port 35357
# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \
auth_protocol http
# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \
admin_tenant_name service
# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \
admin_user glance
# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken \
admin_password openstack
# openstack-config --set /etc/glance/glance-api.conf paste_deploy \
flavor keystone
# openstack-config --set /etc/glance/glance-registry.conf \
keystone_authtoken auth_uri http://controller:5000
# openstack-config --set /etc/glance/glance-registry.conf \
keystone_authtoken auth_host controller
# openstack-config --set /etc/glance/glance-registry.conf \
keystone_authtoken auth_port 35357
# openstack-config --set /etc/glance/glance-registry.conf \
keystone_authtoken auth_protocol http
# openstack-config --set /etc/glance/glance-registry.conf \
keystone_authtoken admin_tenant_name service
# openstack-config --set /etc/glance/glance-registry.conf \
keystone_authtoken admin_user glance
# openstack-config --set /etc/glance/glance-registry.conf \
keystone_authtoken admin_password openstack
# openstack-config --set /etc/glance/glance-registry.conf paste_deploy \
flavor keystone
7.註冊鏡像服務和身份認證,以便其餘openstack服務能夠找到。註冊服務並建立端點:
# keystone service-create --name=glance --type=p_w_picpath \
--description="OpenStack Image Service"
# keystone endpoint-create \
--service-id=$(keystone service-list | awk '/ p_w_picpath / {print $2}') \
--publicurl=http://controller:9292 \
--internalurl=http://controller:9292 \
--adminurl=http://controller:9292
8.啓動服務並配置開機啓動
# service openstack-glance-api start
# service openstack-glance-registry start
# chkconfig openstack-glance-api on
# chkconfig openstack-glance-registry on
4、驗證鏡像服務安裝狀況
爲了驗證鏡像服務是否安裝正確,至少下載一個鏡像作測試。
1.使用wget或者curl下載一個鏡像到專門的目錄中
# mkdir /tmp/p_w_picpaths
# cd /tmp/p_w_picpaths
# wget http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img
2.上傳鏡像到鏡像服務
# source admin-openrc.sh
# glance p_w_picpath-create --name "cirros-0.3.3-x86_64" --disk-format qcow2 \
--container-format bare --is-public True --progress < cirros-0.3.3-x86_64-disk.img
3.確認鏡像上傳和顯示其屬性
# glance p_w_picpath-list
4.如今能夠刪除本地下載的鏡像,由於如今存儲和使用都是經過鏡像服務
# rm -fr /tmp/p_w_picpaths
至此,鏡像服務安裝完成!