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

来源:互联网 发布:mac下制作winpe 编辑:程序博客网 时间:2024/05/29 19:29
一、安装 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_backendbackend = 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]/connectionconnection = mysql://glancedbadmin:glance4smtest@192.168.3.180/glance


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

   更新设置如下:
[DEFAULT]rpc_backend = rabbitrabbit_host = 192.168.3.180rabbit_userid = guestrabbit_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:5000auth_host = 192.168.3.180auth_port = 35357auth_protocol = httpadmin_tenant_name = serviceadmin_user = glanceadmin_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 = filebind_host = 0.0.0.0bind_port = 9292log_file = /var/log/glance/api.logbacklog = 4096workers = 1registry_host = 0.0.0.0registry_port = 9191registry_client_protocol = httprpc_backend = rabbitrabbit_host = 192.168.3.180rabbit_port = 5672rabbit_use_ssl = falserabbit_userid = guestrabbit_password = mq4smtestrabbit_virtual_host = /rabbit_notification_exchange = glancerabbit_notification_topic = notificationsrabbit_durable_queues = Falseqpid_notification_exchange = glanceqpid_notification_topic = notificationsqpid_hostname = localhostqpid_port = 5672qpid_username =qpid_password =qpid_sasl_mechanisms =qpid_reconnect_timeout = 0qpid_reconnect_limit = 0qpid_reconnect_interval_min = 0qpid_reconnect_interval_max = 0qpid_reconnect_interval = 0qpid_heartbeat = 5qpid_protocol = tcpqpid_tcp_nodelay = Truefilesystem_store_datadir = /var/lib/glance/images/swift_store_auth_version = 2swift_store_auth_address = 127.0.0.1:5000/v2.0/swift_store_user = jdoe:jdoeswift_store_key = a86850deb2742ec3cb41518e26aa2d89swift_store_container = glanceswift_store_create_container_on_put = Falseswift_store_large_object_size = 5120swift_store_large_object_chunk_size = 200swift_enable_snet = Falses3_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>glances3_store_create_bucket_on_put = Falsesheepdog_store_address = localhostsheepdog_store_port = 7000sheepdog_store_chunk_size = 64delayed_delete = Falsescrub_time = 43200scrubber_datadir = /var/lib/glance/scrubberimage_cache_dir = /var/lib/glance/image-cache/backend = sqlalchemyconnection = mysql://glancedbadmin:glance4smtest@192.168.3.180/glanceauth_uri = http://192.168.3.180:5000auth_host = 192.168.3.180auth_port = 35357auth_protocol = httpadmin_tenant_name = serviceadmin_user = glanceadmin_password = glance4smtestflavor=keystone


以下是glance-registry.conf
sm@controller:~$ sudo grep ^[a-z] /etc/glance/glance-registry.confbind_host = 0.0.0.0bind_port = 9191log_file = /var/log/glance/registry.logbacklog = 4096api_limit_max = 1000limit_param_default = 25backend = sqlalchemyconnection = mysql://glancedbadmin:glance4smtest@192.168.3.180/glanceauth_uri = http://192.168.3.180:5000auth_host = 192.168.3.180auth_port = 35357auth_protocol = httpadmin_tenant_name = serviceadmin_user = glanceadmin_password = glance4smtestflavor=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 restartglance-registry stop/waitingglance-registry start/running, process 5598sm@controller:~$ sudo service glance-api restartglance-api stop/waitingglance-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.8PING 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 1014msrtt min/avg/max/mdev = 197.301/197.301/197.301/0.000 mssm@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.imgResolving 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 OKLength: 13167616 (13M) [application/octet-stream]Saving to: cirros-0.3.2-x86_64-disk.img100%[========================================================================================================>] 13,167,616  1.24MB/s   in 11s2015-04-11 14:00:56 (1.17 MB/s) - cirros-0.3.2-x86_64-disk.img saved [13167616/13167616]sm@controller:~$ lsadmin-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.imgcirros-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 0