OpenStack云第四天
本文翻译自官方部署指南第六章。部署OpenStack Compute及Image服务。在云环境中OpenStack Compute与Image service协同工作,实现通过REST APIs访问虚拟机及镜像的功能。
目录:
一、安装与配置Image服务
二、配置Hypervisor
三、预设网络
四、部署数据库
五、安装与配置云控制器
一、安装与配置Image Service
1.1 使用root身份,安装Image service
$sudo yum install openstack-nova openstack-glance
安装后,你需要删除sqlite数据库文件,然后修改配置指向MySQL数据库。删除/var/lib/glance目录下的glance.sqlite文件。
# rm /var/lib/glance/glance.sqlite
1.2 配置后端镜像(Image)服务数据库
配置后端数据存储。使用MySQL创建一个glance数据库以及glance账户,赋予"glance”账户对glance数据库的所有权限。
运行如下命令,进入MySQL数据库:
$ mysql -u root -p //根据提示输入MySQL管理员密码
创建glance数据库:
mysql> CREATE DATABASE glance;
为新创建的数据库创建MySQL账户并赋予完全控制权限:
mysql> GRANT ALL ON glance.* TO 'glance'@'%’IDENTIFIED BY '你的密码’;
退出数据库:
mysql> quit
修改Glance配置文件
更新/etc/glance/glance-api-paste.ini文件,修改[filter:authtoken]下admin_*的值。
- [filter:authtoken]
- admin_tenant_name = service
- admin_user = glance
- admin_password = glance
确保glance-api管道部分包括authtoken
- [pipeline:glance-api]
- pipeline = versionnegotiation authtoken auth-context apiv1app
在/etc/glance/glance-api.conf文件末尾追加如下内容:
- [paste_deploy]
- flavor = keystone
重启glance-api服务: service glance-api restart
译者备注:重启服务实际应该是: service openstack-glance-api restart
在/etc/glance/glance-registry.conf文件末尾追加如下内容:
- [paste_deploy]
- flavor = keystone
更新/etc/glance/glance-registry-paste.ini文件,修改[filter:authtoken]下admin_*的值:
- [filter:authtoken]
- admin_tenant_name = service
- admin_user = glance
- admin_password = glance
确保glance-registry管道部分包括authtoken:
- [pipeline:glance-registry]
- #pipeline = context registryapp
- # NOTE: use the following pipeline for keystone
- pipeline = authtoken auth-context context registryapp
确保/etc/glance/glance-registry.conf和/etc/glance/glance-scrubber.conf文件数据库指向是MySQL而不是sqlite。
- sql_connection = mysql://glance:[email protected]/glance
注意:任何时候在修改完.conf配置文件后,记得重启相应的服务,使新的修改生效。
现在,迁移数据库至MySQL:
# glance-manage db_sync
重启glance-registry与glance-api服务:
# service openstack-glance-registry restart
# service openstack-glance-api restart
注意事项:本文档为配置镜像缓存,读者可参考http://glance.openstack.org获得更多信息。
Image服务排除,可以参考日志文件/var/log/glance/registry.log或/var/log/glance/api.log。
1.3 验证Image Service是否安装成功
你可以使用如下命令获得软件的版本号:
# glance --version
Essex版本的挣钱版本号为glance 2012.1
下载测试性镜像文件:
# mkdir /tmp/images
# cd /tmp/images
# wget http://smoser.brickies.net/Ubuntu/ttylinux-uec/ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz
# tar -zxvf ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz
上传内核:
# glance --os_username=adminUser --os_password=secretword --os_tenant=openstackDemo \
> --os_auth_url=http://127.0.0.1:5000/v2.0 add name="tty-linuxkernel" \
> disk_format=aki container_format=aki < ttylinux-uec-amd64-12.1_2.6.35-22_1-vmlinuz
Uploading image 'tty-linux-kernel'
==========================================================================
==============================================================================
=========[100%] 41.8M/s, ETA 0h 0m 0s
Added new image with ID: 599907ff-296d-4042-a671-d015e34317d2
上传initrd文件:
# glance --os_username=adminUser --os_password=secretword \
>--os_tenant=openstackDemo --os_auth_url=http://127.0.0.1:5000/v2.0 \
> add name="tty-linuxOpenStackramdisk" \
> disk_format=ari container_format=ari < ttylinux-uec-amd64-12.1_2.6.35-22_1-loader
Uploading image 'tty-linux-ramdisk'
==========================================================================
==============================================================================
===[100%] 937.483441K/s, ETA 0h 0m 0s
Added new image with ID: 7d9f0378-1640-4e43-8959-701f248d999d
上传镜像文件:
# glance --os_username=adminUser --os_password=secretword 、
> --os_tenant=openstackDemo --os_auth_url=http://127.0.0.1:5000/v2.0 \
> add name="tty-linux"disk_format=ami container_format=ami \
> kernel_id=599907ff-296d-4042-a671-d015e34317d2 \
> ramdisk_id=7d9f0378-1640-4e43-8959-701f248d999d < ttylinux-uecamd64-12.1_2.6.35-22_1.img
Uploading image 'tty-linux'
==========================================================================
==============================================================================
===[100%] 118.480514M/s, ETA 0h 0m 0s
Added new image with ID: 21b421e5-44d4-4903-9db0-4f134fdd0793
现在在glance索引中将显示有一个合法的Image。
# glance --os_username=adminUser --os_password=secretword \
> --os_tenant=openstackDemo --os_auth_url=http://127.0.0.1:5000/v2.0 index