2.5 用OpenStack镜像服务管理镜像
OpenStack云计算实战手册(第2版)
在OpenStack存储中上传和管理镜像都是通过glance命令行工具实现的,它提供了一系列OpenStack环境中上传、删除、修改存储镜像相关信息的命令,非常方便。
准备工作
开始时,请确认登录到了可以运行glance工具的Ubuntu系统或者已经在OpenStack镜像服务直接运行在其上的OpenStack 控制节点上。可以通过下面的方法安装glance客户端工具:
sudo apt-get update
sudo apt-get -y install glance-client
为了保证环境变量设置正确,admin用户和密码应和之前创建的保持一致,执行以下操作:
export OS_TENANT_NAME=cookbook
export OS_USERNAME=admin
export OS_PASSWORD=openstack
export OS_AUTH_URL=http://172.16.0.1:5000/v2.0/
export OS_NO_CACHE=1
操作步骤
可以有多种方式上传和查看OpenStack镜像服务中的镜像文件,本书中将介绍其中一种。按照下面的步骤上传镜像文件和查看上传镜像的详细信息。
上传Ubuntu镜像文件
Ubuntu提供的镜像可以方便地添加到OpenStack环境之中。
1.首先,从http://uec-images.ubuntu.com上下载Ubuntu云系统镜像。
wget http://uec-images.ubuntu.com/precise/current/precise-server-
cloudimg-amd64-disk1.img
2.然后上传这个文件:
glance image-create \
--name='Ubuntu 12.04 x86_64 Server' \
--disk-format=qcow2 \
--container-format=bare \
--public < precise-server-cloudimg-amd64-disk1.img
输出如图2-2所示。
列出镜像文件
要列出OpenStack镜像服务资源库中的镜像文件,可以直接使用glance客户端来询问镜像服务或使用nova客户端来管理OpenStack环境,这将在第3章中详细介绍。
要列出用户可用的镜像,需要使用下面的命令:
glance image-list
可得到类似图2-3所示的结果。
查看镜像文件详细信息
需要查看资源库中更详细的镜像信息时,可以通过下面的命令获得:
glance image-show IMAGE_ID
例如:
glance image-show 794dca52-5fcd-4216-ac8e-7655cdc88852
它将返回一个关于相关镜像文件的详细列表。
删除镜像文件
在一个OpenStack云计算环境中,将会有很多情况下需要删除已经有的镜像文件。可以通过下面的方式删除私有或公共的镜像文件。
1.使用如下命令删除镜像文件:
glance image-delete IMAGE_ID
例如:
glance image-delete 794dca52-5fcd-4216-ac8e-7655cdc88852
2.当成功执行删除镜像后,OpenStack Image不会产生输出。可以通过执行glance image-list验证结果。
将私有镜像文件设为公开镜像文件
当上传镜像文件时,这些镜像文件将只有上传者才拥有权限,即私有镜像文件。如果使用上述方式上传了镜像文件,但又希望它可以给其他用户使用时,在OpenStack环境下,可以使用下面的方法将其设为公开。
1.首先,查看镜像文件确认哪一个需要公开。在本书的例子中,选择了最初上传的镜像。
glance image-show IMAGE_ID
例如:
glance image-show 2e696cf4-5167-4908-a769-356a51dc5728
这个命令会得到类似图2-4所示的反馈信息。
2.这时,可以将其设为公开镜像,使本环境内所有用户均可以使用这个镜像文件。
glance image-update 2e696cf4-5167-4908-a769-356a51dc5728 \
--is-public True
3.使用glance查看详细信息。
glance image-show 2e696cf4-5167-4908-a769-356a51dc5728
输出如图2-5所示。
工作原理
从私有云环境来看,OpenStack镜像服务是一个非常灵活的镜像管理系统,它允许用户进行多种镜像管理方式,从添加新镜像,删除镜像,到更新信息,比如文件的命名方式,它让用户很方便的能识别这些镜像文件,还能将私有镜像转换为共有镜像。当然,还可以将共有镜像转换为私有镜像。
要做到这一切,只需要使用glance工具。为了使用glance工具,需要查看源头的OpenStack身份认证服务的认证信息。