[部署篇3]VMWare搭建Openstack——控制节点的glance的安装

一、安装 OpenStack Glance Service【仅控制节点】
1. 约定:  Glance使用MySQL数据库存储相关数据,相关参数如下:
          库名: glance
 账户: glancedbadmin
 密码: glance4smtest

2. 安装镜像服务包 
    sudo apt-get install glance python-glanceclient


3. 分别编辑/etc/glance/glance-api.conf及/etc/glance/glance-registry.conf,
     [ sudo vi /etc/glance/glance-api.conf ]
     [ sudo vi /etc/glance/glance-registry.conf ]


   更新设置如下(注释掉sqlite_db的相关信息):
     
     [database]
     connection = mysql://glancedbadmin:glance4smtest@192.168.3.180/glance
[database]
# The file name to use with SQLite (string value)
#sqlite_db = /var/lib/glance/glance.sqlite

# If True, SQLite uses synchronous mode (boolean value)
#sqlite_synchronous = True

# The backend to use for db (string value)
# Deprecated group/name - [DEFAULT]/db_backend
backend = sqlalchemy

# The SQLAlchemy connection string used to connect to the
# database (string value)
# Deprecated group/name - [DEFAULT]/sql_connection
# Deprecated group/name - [DATABASE]/sql_connection
# Deprecated group/name - [sql]/connection
connection = mysql://glancedbadmin:glance4smtest@192.168.3.180/glance


4. 编辑/etc/glance/glance-api.conf,
     [ sudo vi /etc/glance/glance-api.conf ]

   更新设置如下:
[DEFAULT]
rpc_backend = rabbit
rabbit_host = 192.168.3.180
rabbit_userid = guest
rabbit_password = mq4smtest



5. 创建数据库、账户并配置权限
sudo mysql -uroot -p#db4smtest# -e 'CREATE DATABASE glance;'
     sudo mysql -uroot -p#db4smtest# -e 'CREATE USER glancedbadmin;'
     sudo mysql -uroot -p#db4smtest# -e "GRANT ALL PRIVILEGES ON glance.* TO 'glancedbadmin'@'localhost' IDENTIFIED BY 'glance4smtest';"
     sudo mysql -uroot -p#db4smtest# -e "GRANT ALL PRIVILEGES ON glance.* TO 'glancedbadmin'@'%' IDENTIFIED BY 'glance4smtest';"
     sudo mysql -uroot -p#db4smtest# -e "SET PASSWORD FOR 'glancedbadmin'@'%' = PASSWORD('glance4smtest');"


6. 创建Identity Service表
     sudo glance-manage db_sync

7. 创建Image Service 账户并设置角色
     keystone user-create --name=glance --pass=glance4smtest --email=sm@163.com
sm@controller:~$ keystone user-create --name=glance --pass=glance4smtest --email=sm@163.com
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|  email   |            sm@163.com            |
| enabled  |               True               |
|    id    | fd0011a1545f48dab448670383668372 |
|   name   |              glance              |
| username |              glance              |
+----------+----------------------------------+


     keystone user-role-add --user=glance --tenant=service --role=admin

8. 分别编辑/etc/glance/glance-api.conf及/etc/glance/glance-registry.conf,
     [ sudo vi /etc/glance/glance-api.conf ]
     [ sudo vi /etc/glance/glance-registry.conf ]

     1) 更新[keystone_authtoken]设置如下:
[keystone_authtoken]
auth_uri = http://192.168.3.180:5000
auth_host = 192.168.3.180
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = glance4smtest

     2)更新[paste_deploy]设置如下
[paste_deploy]
flavor = keystone	


注意:接下来的几个组件,更新配置文件的信息将更加繁多,而且当你VI一个Conf文件,里面包含大量的注释信息,我们在编辑这个配置文件不能落下每一个信息,我们可以使用如下命令进行检查,也即是只显示非注释的信息。

 sudo grep ^[a-z] /etc/glance/glance-api.conf


但是这种方式并不会将section打印出来

我把我的该配置信息内容打印出来,大家可以进行相关对比,以下是glance-api.conf
sm@controller:~$ sudo grep ^[a-z] /etc/glance/glance-api.conf                                                                                     
default_store = file
bind_host = 0.0.0.0
bind_port = 9292
log_file = /var/log/glance/api.log
backlog = 4096
workers = 1
registry_host = 0.0.0.0
registry_port = 9191
registry_client_protocol = http
rpc_backend = rabbit
rabbit_host = 192.168.3.180
rabbit_port = 5672
rabbit_use_ssl = false
rabbit_userid = guest
rabbit_password = mq4smtest
rabbit_virtual_host = /
rabbit_notification_exchange = glance
rabbit_notification_topic = notifications
rabbit_durable_queues = False
qpid_notification_exchange = glance
qpid_notification_topic = notifications
qpid_hostname = localhost
qpid_port = 5672
qpid_username =
qpid_password =
qpid_sasl_mechanisms =
qpid_reconnect_timeout = 0
qpid_reconnect_limit = 0
qpid_reconnect_interval_min = 0
qpid_reconnect_interval_max = 0
qpid_reconnect_interval = 0
qpid_heartbeat = 5
qpid_protocol = tcp
qpid_tcp_nodelay = True
filesystem_store_datadir = /var/lib/glance/images/
swift_store_auth_version = 2
swift_store_auth_address = 127.0.0.1:5000/v2.0/
swift_store_user = jdoe:jdoe
swift_store_key = a86850deb2742ec3cb41518e26aa2d89
swift_store_container = glance
swift_store_create_container_on_put = False
swift_store_large_object_size = 5120
swift_store_large_object_chunk_size = 200
swift_enable_snet = False
s3_store_host = 127.0.0.1:8080/v1.0/
s3_store_access_key = <20-char AWS access key>
s3_store_secret_key = <40-char AWS secret key>
s3_store_bucket = <lowercased 20-char aws access key>glance
s3_store_create_bucket_on_put = False
sheepdog_store_address = localhost
sheepdog_store_port = 7000
sheepdog_store_chunk_size = 64
delayed_delete = False
scrub_time = 43200
scrubber_datadir = /var/lib/glance/scrubber
image_cache_dir = /var/lib/glance/image-cache/
backend = sqlalchemy
connection = mysql://glancedbadmin:glance4smtest@192.168.3.180/glance
auth_uri = http://192.168.3.180:5000
auth_host = 192.168.3.180
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = glance4smtest
flavor=keystone


以下是glance-registry.conf
sm@controller:~$ sudo grep ^[a-z] /etc/glance/glance-registry.conf

bind_host = 0.0.0.0
bind_port = 9191
log_file = /var/log/glance/registry.log
backlog = 4096
api_limit_max = 1000
limit_param_default = 25
backend = sqlalchemy
connection = mysql://glancedbadmin:glance4smtest@192.168.3.180/glance
auth_uri = http://192.168.3.180:5000
auth_host = 192.168.3.180
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = glance4smtest
flavor=keystone




9. 创建服务
     keystone service-create --name=glance --type=image  --description="OpenStack Image Service"
sm@controller:~$ keystone service-create --name=glance --type=image  --description="OpenStack Image Service"
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
| description |     OpenStack Image Service      |
|   enabled   |               True               |
|      id     | 6dde555dc2a849c982d9a19c3c6cfa07 |
|     name    |              glance              |
|     type    |              image               |
+-------------+----------------------------------+



10. 创建接入端点
      keystone endpoint-create --service-id=$(keystone service-list | awk '/ image / {print $2}')  --publicurl=http://192.168.3.180:9292  --internalurl=http://192.168.3.180:9292  --adminurl=http://192.168.3.180:9292
sm@controller:~$ keystone endpoint-create --service-id=$(keystone service-list | awk '/ image / {print $2}')  --publicurl=http://192.168.3.180:9292  --internalurl=http://192.168.3.180:9292  --adminurl=http://192.168.3.180:9292
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
|   adminurl  |    http://192.168.3.180:9292     |
|      id     | bb09b407c0724324b452eaeee24dbed0 |
| internalurl |    http://192.168.3.180:9292     |
|  publicurl  |    http://192.168.3.180:9292     |
|    region   |            regionOne             |
|  service_id | 6dde555dc2a849c982d9a19c3c6cfa07 |
+-------------+----------------------------------+



11. 重启服务
      sudo service glance-registry restart
      sudo service glance-api restart
sm@controller:~$ sudo service glance-registry restart
glance-registry stop/waiting
glance-registry start/running, process 5598
sm@controller:~$ sudo service glance-api restart
glance-api stop/waiting
glance-api start/running, process 5614


12. 镜像服务相关命令
     glance image-list
     glance image-create
     glance image-create


13. 测试镜像服务
    1) 下载测试用的镜像

       wget http://cdn.download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img

首先,我们ping 8.8.8.8验证是否可以上网,然后执行相关命令下载测试镜像即可。

sm@controller:~$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=37 time=197 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 1 received, 50% packet loss, time 1014ms
rtt min/avg/max/mdev = 197.301/197.301/197.301/0.000 ms
sm@controller:~$ wget http://cdn.download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img
--2015-04-11 14:00:43--  http://cdn.download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img
Resolving cdn.download.cirros-cloud.net (cdn.download.cirros-cloud.net)... 204.0.55.129, 204.0.55.139, 2001:668:1f:23::adcd:6d1, ...
Connecting to cdn.download.cirros-cloud.net (cdn.download.cirros-cloud.net)|204.0.55.129|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13167616 (13M) [application/octet-stream]
Saving to: cirros-0.3.2-x86_64-disk.img

100%[========================================================================================================>] 13,167,616  1.24MB/s   in 11s

2015-04-11 14:00:56 (1.17 MB/s) - cirros-0.3.2-x86_64-disk.img saved [13167616/13167616]

sm@controller:~$ ls
admin-openrc.sh  cirros-0.3.2-x86_64-disk.img

    2) 查看镜像文件的格式
       file cirros-0.3.2-x86_64-disk.img
sm@controller:~$  file cirros-0.3.2-x86_64-disk.img
cirros-0.3.2-x86_64-disk.img: QEMU QCOW Image (v2), 41126400 bytes

    3)初始化环境变量
       source admin-openrc.sh


    4)上传镜像文件
      (命令格式: glance image-create --name=IMAGELABEL --disk-format=FILEFORMAT --container-format=CONTAINERFORMAT --is-public=ACCESSVALUE < IMAGEFILE)
       glance image-create --name "cirros-0.3.2-x86_64" --disk-format qcow2 --container-format bare --is-public True --progress < cirros-0.3.2-x86_64-disk.img
sm@controller:~$ glance image-create --name "cirros-0.3.2-x86_64" --disk-format qcow2 --container-format bare --is-public True --progress < cirros-0.3.2-x86_64-disk.img
[=============================>] 100%
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | 64d7c1cd2b6f60c92c14662941cb7913     |
| container_format | bare                                 |
| created_at       | 2015-04-11T06:03:00                  |
| deleted          | False                                |
| deleted_at       | None                                 |
| disk_format      | qcow2                                |
| id               | 6dbf0884-e9bb-406e-9f77-32aef79dd976 |
| is_public        | True                                 |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | cirros-0.3.2-x86_64                  |
| owner            | 05ec814379cd4935b50bad905b1fd203     |
| protected        | False                                |
| size             | 13167616                             |
| status           | active                               |
| updated_at       | 2015-04-11T06:03:00                  |
| virtual_size     | None                                 |
+------------------+--------------------------------------+

    5)查看镜像列表
       glance image-list
sm@controller:~$ glance image-list
+--------------------------------------+---------------------+-------------+------------------+----------+--------+
| ID                                   | Name                | Disk Format | Container Format | Size     | Status |
+--------------------------------------+---------------------+-------------+------------------+----------+--------+
| 6dbf0884-e9bb-406e-9f77-32aef79dd976 | cirros-0.3.2-x86_64 | qcow2       | bare             | 13167616 | active |
+--------------------------------------+---------------------+-------------+------------------+----------+--------+


注意:关于镜像的知识也需要用户多了解,镜像文件分为raw和qcow2,简单的说raw占用空间较大,qcow2占用空间较小,以后应用比较多一些,而且用户在制作镜像也可以选择,更多了解可以多看看相关内容。

OpenStack 虚拟机镜像制作指南:http://docs.openstack.org/zh_CN/image-guide/content/index.html


14. 备注(此两处地方需要多备点磁盘空间)
   【控制节点controller】
    镜像存储的位置默认为 /var/lib/glance/images/
   【计算节点compute】
    实例缓存的位置为 /var/lib/nova/instances/_base/



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值