openstack之glance部署及操做

因爲時間關係簡單的架構圖就先不展現了。後續的更新會貼上...python

 

部署glancemysql

安裝memcache服務sql

yum install memcached python-memcached
systemctl enable memcached.service
systemctl start memcached.service

 

1.glance的數據庫操做數據庫

glance跟其餘的組件都共享一臺數據庫,因此直接在部署keystone的那臺數據庫中操做便可。api

mysql -u root -p #登入數據庫
CREATE DATABASE glance; #新建庫keystone
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
  IDENTIFIED BY '123'; #新建本地訪問glance庫的帳號
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
  IDENTIFIED BY '123'; #新建遠程訪問glance庫的帳號

2.glance關於keystone的操做網絡

首先要創建一個glance用戶,而後建立一個項目,最後關聯賦予角色,在搭建keystone的時候,glance屬於一個組件,keystone屬於一個組件,nova屬於一個組件等等的這些全部的組件都在一個項目中(service項目),因此項目就不須要創建,直接賦予角色信息。架構

對於glance來講,它屬於管理着鏡像服務,keystone管理着認證服務,neutron管理着網絡服務,nova,cinder等等,這些全部的管理者的用戶必須是admin。dom

#得到管理員權先。
#爲glance的使用者建立用戶
openstack user create --domain default --password-prompt glance 

#對glance-service添加role角色,提示:用戶glance只有在一個肯定的項目service內纔有角色的概念,單獨的用戶或者單獨的項目都是沒法綁定角色的。
openstack role add --project service --user glance admin 

查看關聯python2.7

由上圖可見第一行就是創建了關聯,用戶--角色--項目都已經建好了。接下來就要創建訪問glance的catalog了memcached

#建立glance服務的catalog:service+endpoint
openstack service create --name glance \
--description "OpenStack Image" image
#必定要指定它的類型爲image鏡像類型
openstack endpoint create
--region RegionOne \ image public http://182.92.84.106:9292 openstack endpoint create --region RegionOne \ image internal http://182.92.84.106:9292 openstack endpoint create --region RegionOne \ image admin http://182.92.84.106:9292

 指定類型

 

三種訪問路徑

public

 

internal

 admin

查看服務

查看endpoint

 

注意如今的這些操做都是在keystone裏面,尚未具體的glance服務。

 keystone對glance的操做就結束了 接下來就是正式安裝glance了

 3.安裝軟件包

yum -y install openstack-glance

4.配置glance

注意注意:每一條配置都要新建到文件中,不要打開註釋在原有的基礎上修改

 建立本地存儲 

1.必定要在opesntack-glance-api.service服務啓動以前部署好存儲設備,由於該服務在啓動時會加載存儲驅動檢索存儲設備,若是事先不存在,就意味着該服務沒有識別到任何可用的存儲設備,即使是後來你又新增了存儲,仍然是無效的,最終致使你上傳鏡像失敗;

2.必定要賦予opesntack-glance-api.service服務對存儲設備的可寫權限。

mkdir /var/lib/glance/images
chown -R glance.glance /var/lib/glance/images

 

 配置/etc/glance/glance-api.conf V2版本

[database]
connection = mysql+pymysql://glance:123@182.92.84.106/glance

[keystone_authtoken]
auth_uri = http://182.92.84.106:5000
auth_url = http://182.92.84.106:35357
memcached_servers = 182.92.84.106:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = 123

[paste_deploy]
flavor = keystone

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

配置 /etc/glance/glance-registry.conf  V1版本

[database]
connection = mysql+pymysql://glance:123@182.92.84.106/glance

#可選
[keystone_authtoken]
auth_uri = http://182.92.84.106:5000
auth_url = http://182.92.84.106:35357
memcached_servers = 182.92.84.106:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = service
username = glance password = 123 
#可選 [paste_deploy] flavor
= keystone

 

 5.初始化數據庫

 

 

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

'''
並非報錯
Option "verbose" from group "DEFAULT" is deprecated for removal.  Its value may be silently ignored in the future.
/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py:1171: OsloDBDeprecationWarning: EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade
  expire_on_commit=expire_on_commit, _conf=conf)
/usr/lib/python2.7/site-packages/pymysql/cursors.py:166: Warning: (1831, u"Duplicate index 'ix_image_properties_image_id_name' defined on the table 'glance.image_properties'. This is deprecated and will be disallowed in a future release.")
  result = self._query(query)
'''

 

6.啓動glance並設置爲開機自啓動

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

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

 

 驗證

首先得到admin權限 

source admin-openrc

 

這時候執行以下命令能夠看到爲空

openstack image list 

 

由於裏面尚未鏡像 因此咱們要先上傳一個

 

下載鏡像

wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
使用glacne創一個鏡像
openstack image create "cirros" \
  --file cirros-0.3.4-x86_64-disk.img \
  --disk-format qcow2 --container-format bare \
  --public

鏡像上傳到glance後 即便刪除了原文件也無所謂

能夠使用qemu-img來查看鏡像信息

相關文章
相關標籤/搜索