OpenStack——glance安装

本文详细介绍了如何在Ubuntu 14.04上部署OpenStack的Image服务Glance,包括安装配置步骤、数据库同步及服务验证等关键环节。

1、OpenStack部署前准备
2、OpenStack——keystone安装
3、OpenStack——glance安装
4、OpenStack——nova安装

环境:

Ubuntu14.04+ (OpenStackM版本)

Image 服务概览

Openstack的Image服务是laas的中心。它接受磁盘和服务器镜像的请求,来自用户或者compute计算组建的元数据定义。支持各种磁盘和服务镜像的存储方式,包括openstack的对象存储。

openstack镜像服务包括如下组建:

  • glance-api:接受镜像API的调用(发现,恢复,和存储)
  • glance-registry:存储、处理和恢复镜像的元数据,元数据包括项诸如大小和类型。
  • Database:存放镜像元数据,用户是可以依据个人喜好选择数据库的,多数的部署使用MySQL或SQLite。
  • Storage repository for image files:支持多种类型的仓库,它们有普通文件系统、对象存储、RADOS块设备、HTTP、以及亚马逊S3。记住,其中一些仓库仅支持只读方式使用。
  • Metadata definition service:元数据定义服务

创建glance的数据库

     mysql -u root -p
     CREATE DATABASE glance;

     GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
     IDENTIFIED BY 'GLANCE_DBPASS';

     GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
     IDENTIFIED BY 'GLANCE_DBPASS';

创建服务证书

1、首先,获得admin凭证。admin.rc根据自己环境写

    .  admin.rc

2、创建glance用户

    openstack user create --domain default --password-prompt glance

    openstack role add --project service --user glance admin

3、创建glance服务

    openstack service create --name glance    --description "OpenStack Image" image

4、创建服务端点

    openstack endpoint create --region RegionOne   image public http://controller:9292
     openstack endpoint create --region RegionOne    image internal http://controller:9292
    openstack endpoint create --region RegionOne   image admin http://controller:9292

安装服务和配置服务

1、安装包

    apt-get install glance

2、修改配置文件/etc/glance/glance-api.conf

    [database]
    connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance

    [keystone_authtoken]
    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = glance
    password = GLANCE_PASS#要修改!!

    [paste_deploy]
    flavor = keystone

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

/etc/glance/glance-registry.conf

    [database]
    connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance

    [keystone_authtoken]
    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    memcached_servers = controller:11211
    auth_type = password
    project_domain_name = default
    user_domain_name = default
    project_name = service
    username = glance
    password = GLANCE_PASS

    [paste_deploy]
    flavor = keystone

3、同步数据库

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

4、最后重启服务

    service glance-registry restart
    service glance-api restart

验证操作

1、获得admin信任凭证,下载测试镜像

    source    admin.rc
    wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

2、将镜像 注册到 镜像服务

    openstack image create "cirros" \
     --file cirros-0.3.4-x86_64-disk.img \
    --disk-format qcow2 --container-format bare \
    --public

3、确认是否创建成功*

    openstack image list
### 配置 Yum 源并安装 OpenStack Glance #### 修改 Yum 源 为了在 CentOS 7 中通过 Yum 安装 OpenStack Glance,首先需要确保已正确配置 OpenStack 的 Yum 源。进入 `/etc/yum.repos.d/` 目录下,找到 `CentOS-OpenStack-stein.repo` 文件,并将其内容更改为如下所示: ```bash [centos-openstack-stein] name=CentOS-7 - OpenStack stein baseurl=http://mirrors.aliyun.com/$contentdir/$releasever/cloud/$basearch/openstack-stein/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=cloud-openstack-stein gpgcheck=0 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud exclude=sip,PyQt4 ``` 完成此操作后保存文件[^1]。 #### 更新 Yum 缓存 执行以下命令更新本地缓存以应用新的仓库设置: ```bash yum makecache fast ``` #### 安装 OpenStack Glance 及依赖项 运行以下命令来安装 OpenStack Glance 和其必要的组件: ```bash yum install openstack-glance python2-cryptography mysql-server -y ``` 注意:如果系统中未启用 EPEL 或其他扩展库,则可能还需要额外添加这些资源以便获取完整的软件支持。 #### 数据库初始化 (MySQL/MariaDB) 创建用于存储镜像元数据的数据库以及相应的用户权限分配。假设密码为 `000000` ,可以按照下面的方式来进行设定: ```sql CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '000000'; FLUSH PRIVILEGES; ``` 或者直接利用 shell 命令行形式实现相同功能: ```bash mysql -uroot -p000000 -e "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '000000';" ``` 这里需要注意的是实际生产环境中应该替换掉示例中的弱口令部分[^2]。 #### 解决常见问题——API 启动失败 当尝试启动 glance-api 服务时可能会碰到类似于 “ERROR: Unknown OpenSSL error”的异常情况。这种现象通常是由 cryptography 库版本兼容性引起的问题所致。针对这种情况可采取下列措施予以修复: 1. **禁用自动重试机制**: 找到 `/lib/systemd/system/openstack-glance-api.service` 文件位置,在其中定位含有关键字 fail 行的位置前加上井号(#)作为注释标记从而达到屏蔽效果。 ```bash sed -i '/fail/ s/^/#/g' /lib/systemd/system/openstack-glance-api.service ``` 2. **重新加载 systemd 并再次激活服务** ```bash systemctl daemon-reload && systemctl start openstack-glance-api.service ``` 3. 如果仍然存在错误提示则考虑升级 pip 工具链下的 cryptography 组件至最新稳定版: ```bash pip install --upgrade cryptography ``` 最后记得验证服务状态是否正常运转无误即可[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值