CentOS7.0+OpenStack+kvm雲平臺部署—配置Glance

菲宇發表於2018-08-08

初始化Glance

(1).安裝Glance服務:

[root@openstack ~]# yum -y installopenstack-glance

 

(2).建立Glance資料庫:

[root@openstack ~]# openstack-db--init --service glance

 

(3).修改配置檔案中的資料庫連結:

[root@openstack ~]# openstack-config--set /etc/glance/glance-api.conf DEFAULT sql_connectionmysql://glance:glance@localhost/glance

[root@openstack ~]# openstack-config--set /etc/glance/glance-registry.conf DEFAULT sql_connectionmysql://glance:glance@localhost/glance

 

建立User,定義Services和 API Endpoints

(1).為Glance服務建立一個glance使用者:

[root@openstack ~]# keystoneuser-create--name=glance --pass=service--email=glance@zcs.com

[root@openstack ~]# keystoneuser-role-add --user=glance --tenant=service --role=admin

(2).為glance建立一個服務:

[root@openstack ~]# keystoneservice-create --name=glance --type=image --description="GlanceImageService"

(3).使用服務ID建立一個endpoint:

[root@openstack ~]# vi/root/config/glance.sh

#!/bin/bash

my_ip=10.1.1.2

service=$(keystone service-list | awk'/glance/ {print $2}')

keystone endpoint-create --service-id=$service--publicurl=http://$my_ip:9292 --internalurl=http://$my_ip:9292--adminurl=http://$my_ip:9292

 

[root@mg ~]# sh /root/config/glance.sh

WARNING: Bypassing authentication using atoken & endpoint (authentication credentials are being ignored).

+-------------+----------------------------------+

|  Property  |              Value               |

+-------------+----------------------------------+

|  adminurl  |     http://10.1.1.2:9292      |

|     id     |fe281515d406407bbcd4887cb5815de4 |

| internalurl |     http://10.1.1.2:9292      |

| publicurl  |     http://10.1.1.2:9292      |

|   region   |            regionOne             |

| service_id | 7c0102f0e715479e9292c0581d214de2 |

+-------------+----------------------------------+

配置Glance服務

 

(1).將keystone認證資訊新增到glance配置檔案中:

[root@openstack ~]# openstack-config --set/etc/glance/glance-api.conf keystone_authtoken auth_host 127.0.0.1

[root@openstack ~]# openstack-config --set/etc/glance/glance-api.conf keystone_authtoken auth_port 35357

[root@openstack ~]# openstack-config --set/etc/glance/glance-api.conf keystone_authtoken auth_protocol http

[root@openstack ~]# openstack-config --set/etc/glance/glance-api.conf keystone_authtoken admin_tenant_name service

[root@openstack ~]# openstack-config --set/etc/glance/glance-api.conf keystone_authtoken admin_user glance

[root@openstack ~]# openstack-config --set/etc/glance/glance-api.conf keystone_authtoken admin_password service

 

[root@openstack ~]# openstack-config --set/etc/glance/glance-registry.conf keystone_authtoken auth_host 127.0.0.1

[root@openstack ~]# openstack-config --set/etc/glance/glance-registry.conf keystone_authtoken auth_port 35357

[root@openstack ~]# openstack-config --set/etc/glance/glance-registry.conf keystone_authtoken auth_protocol http

[root@openstack ~]# openstack-config --set/etc/glance/glance-registry.conf keystone_authtoken admin_tenant_name service

[root@openstack ~]# openstack-config --set/etc/glance/glance-registry.conf keystone_authtoken admin_user glance

[root@openstack ~]# openstack-config --set/etc/glance/glance-registry.conf keystone_authtoken admin_password service


(2).修改ini檔案路徑,將keystone認證資訊新增到ini檔案中:

[root@openstack ~]# openstack-config --set/etc/glance/glance-api.conf paste_deploy config_file/etc/glance/glance-api-paste.ini

[root@openstack ~]# openstack-config --set/etc/glance/glance-api.conf paste_deploy flavor keystone

[root@openstack ~]# openstack-config --set/etc/glance/glance-registry.conf paste_deploy config_file /etc/glance/glance-registry-paste.ini

[root@openstack ~]# openstack-config --set/etc/glance/glance-registry.conf paste_deploy flavor keystone

 

[root@openstack ~]# cp/usr/share/glance/glance-api-dist-paste.ini /etc/glance/glance-api-paste.ini

[root@openstack ~]# cp/usr/share/glance/glance-registry-dist-paste.ini/etc/glance/glance-registry-paste.ini

[root@openstack ~]# chown -R root:glance/etc/glance/glance-api-paste.ini 

[root@openstack ~]# chown -R root:glance/etc/glance/glance-registry-paste.ini

 

[root@openstack ~]# openstack-config --set/etc/glance/glance-api-paste.ini filter:authtoken auth_host 127.0.0.1

[root@openstack ~]# openstack-config --set/etc/glance/glance-api-paste.ini filter:authtoken admin_tenant_name service

[root@openstack ~]# openstack-config --set/etc/glance/glance-api-paste.ini filter:authtoken admin_user glance

[root@openstack ~]# openstack-config --set/etc/glance/glance-api-paste.ini filter:authtoken admin_password service

[root@openstack ~]# openstack-config --set/etc/glance/glance-registry-paste.ini filter:authtoken auth_host 127.0.0.1

[root@openstack ~]# openstack-config --set/etc/glance/glance-registry-paste.ini filter:authtoken admin_tenant_nameservice

[root@openstack ~]# openstack-config --set/etc/glance/glance-registry-paste.ini filter:authtoken admin_user glance

[root@openstack ~]# openstack-config --set/etc/glance/glance-registry-paste.ini filter:authtoken admin_password service


(3).修改映象檔案的存放路徑(預設存放在/var/lib/glance目錄下,若不需修改,此步驟可省略)

[root@openstack ~]# openstack-config--set /etc/glance/glance-api.conf DEFAULT filesystem_store_datadir/openstack/lib/glance/images/

[root@openstack ~]# openstack-config--set /etc/glance/glance-api.conf DEFAULT scrubber_datadir/openstack/lib/glance/scrubber

[root@openstack ~]# openstack-config --set/etc/glance/glance-api.conf DEFAULT image_cache_dir/openstack/lib/glance/image-cache/

[root@openstack ~]# mkdir -p/openstack/lib

[root@openstack ~]# cp -r/var/lib/glance/ /openstack/lib/

[root@openstack ~]# chown -Rglance:glance /openstack/lib/glance/

 

(4).啟動glance服務,設定開機自啟動

[root@openstack ~]# serviceopenstack-glance-api start

[root@openstack ~]# serviceopenstack-glance-registry start

[root@openstack ~]# chkconfigopenstack-glance-api on

[root@openstack ~]# chkconfigopenstack-glance-registry on

 

Glance測試

 

(1).上傳映象

[root@openstack ~]# glanceimage-create --name=centos6.4 --disk-format=qcow2 --container-format=ovf--is-public=true < /root/centos6.4-mini_x64.qcow2 

注意:(以下框住的描述可忽略)驗證映象服務的安裝(Verify theImage Service installation)

為了測試映象服務的安裝,至少下載一個虛擬機器映象,這個映象一定要能夠與OpenStack一起工作。例如,CirrOS是一個很小的測試映象,它經常用於測試OpenStack部署。這個過程,使用了64-bit的CirrOSQCOW2映象。

有關更多如何下載和建立映象的資訊,請參考“OpenStackVirtual Machine Image Guide”,有關如何管理映象的資訊,請參考“OpenStackUser Guide”.

1. 用wget或curl下載該映象到指定的目錄

$ mkdirimages
$ cd images/
$ wget http://cdn.download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img

2. 上傳該映象到該映象服務中

# glanceimage-create --name=imageLabel --disk-format=fileFormat \
--container-format=containerFormat --is-public=accessValue < imageFile

引數說明:

imageLabel  任意的標誌,該名稱由使用者指向映象。

fileFormat     說明映象檔案格式,有效的檔案格式包括:qcow2,raw,vhd,vmdk,vdi,iso,aki,ari,andami等等。

(這裡選擇format的時候,最好選擇vmdk,因為後面建立虛擬機器例項的時候可能會識別不了)

containerFormat  指定的容器格式,有效的格式包括:bare,ovf,aki,ariand ami。

指定bare格式表明映象檔案不在檔案格式裡,也就是說包含有關虛擬機器的後設資料。雖然目前這個欄位是必須的,但實際上任何其它的OpenStack服務不使用它,而且在系統執行時也沒有效果。因為該值在任何地方都沒有用到,為了安全,一直指定bare作為容器的格式。

accessValue   指定映象是否能訪問。

                             true --所有的使用者都能夠檢視和使用該映象。

                             false --只有管理員才能夠檢視和使用該映象

imageFile           指定你下載的映象檔名稱


 

注:上傳出錯:

Requestreturned failure status.
HTTPInternalServerError (HTTP 500)

後來檢視debug,是我在配置/etc/glance/glanceregistry.conf檔案時把:

[paste_deploy]
...
flavor = keystone
中的keystone錯寫成了glance

更改後,再上傳,就對了,結果如下:

root@controller:~/image#glance image-create --name="CirrOS 0.3.1" --disk-format=qcow2--container-format=bare --is-public=true < cirros-0.3.1-x86_64-disk.img
+------------------+--------------------------------------+
| Property         |Value                               |
+------------------+--------------------------------------+
| checksum         |d972013792949d0d3ba628fbe8685bce     |
| container_format |bare                                |
| created_at       |2014-03-14T10:03:34                 |
| deleted          |False                               |
| deleted_at       |None                                |
| disk_format      |qcow2                               |
|id              | 84e4056d-662f-4c88-809a-6551b9e3185a |
| is_public        |True                                |
| min_disk         |0                                   |
| min_ram          |0                                   |
| name            | CirrOS0.3.1                        |
| owner            |fe0f1b42a1df44bcac0b6908b96bcaae     |
| protected        |False                               |
| size            |13147648                            |
| status           |active                              |
| updated_at       |2014-03-14T10:03:35                 |
+------------------+--------------------------------------+
檢視glance資料庫中的表images,就可以看到新增的映象檔案。

再檢視/var/lib/glance/images目錄下,就有一個與images表中ID號相同的檔案。

 

(2).檢視映象

[root@openstack ~]# glance image-list

相關文章