测试通过Openstack Dashboard和Openstack CLI两种方式进行镜像下载、创建、注册以及镜像格式转换等基本操作。参考《HCIP-Cloud_Computing-OpenStack_V1.0_实验手册》
实验流程如下:
cirros镜像是一个比较小(12M左右)的Linux镜像,镜像格式为QCOW2,下载后可以直接注册使用
下载地址http://donload.cirros-cloud.net/0.4.0/
选择“cirros-0.4.0-x86_64-disk.img"
在使用admin用户登陆Openstack Dashboard界面,在左侧导航栏选择"项目-计算-镜像”,进入镜像列表,单击创建“创建镜像”
按照如下信息创建镜像
镜像名称,Img_web
镜像格式,选择QCOW2-QEMU Emulator
最小磁盘,选择1GB
最小RAM,选择128MB
镜像共享,选择公开表示该镜像可以被其他项目共享,私有表示只被所属的项目使用,此处选择 私有
受保护性,选择是表示该镜像不允许被删除,选择否表示该镜像可以被删除,此处选择是
单击“创建镜像“,完成镜像的创建
返回镜像列表,等待镜像状态变为 ”运行中“,表示镜像注册成功
选择”项目-计算-镜像”,在操作列表中选择“编辑镜像”
在如下弹出的界面可以完成镜像信息的修改
下载镜像(cirros), 在宿主机中将镜像文件上传到controller节点
scp -P 2230 cirros-0.4.0-x86_64-disk.img [email protected]:/home/osbash
登陆controller节点查看镜像文件详细信息
qemu-img info cirros-0.4.0-x86_64-disk.img
导入admin用户环境变量
openstack镜像相关命令是openstack image
创建镜像“Img_cli",镜像格式为”QCOW2",镜像设置为“Private”和“Protected"
openstack image create --disk-format qcow2 --container-format bare --min-disk 1 --min-ram 128 --private --protected --file ./cirros-0.4.0-x86_64-disk.img Img_cli
然后查看镜像列表
openstack image list
将镜像设置为”public"
openstack image set --public --unprotected Img_cli
查看镜像详细信息
openstack image show Img_cli
将镜像设置为"shared"
openstack image set --shared Img_cli
导入用户“User_cli_01"的环境变量,查看镜像列表中是否会显示镜像”Img_cli"
. User_cli_01-openrc.sh
openstack image list
可以看到,改为共享后,镜像Img_cli会被用户User_cli_01-openrc.sh看到
导入admin的环境变量,并查看镜像列表和项目列表
. admin-openrc.sh
openstack image list
openstack project list
记录镜像“Img_cli"和”Project_cli"的ID
将镜像“Img_cli"添加到项目”Project_cli"中
openstack image add project
执行完成后,查看状态为“pending"
导入用户”User_cli_01"的环境变量,查看能否显示共享镜像
. User_cli_01-openrc.sh
openstack image list
QCOW2格式支持镜像的压缩,所以通常会将其他格式的镜像转换成QCOW2格式在上传到openstack中。
本次将测试VMDK格式的Ubuntu镜像转换为QCOW2格式
首先下载ubuntu镜像
wget http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.vmdk
然后将镜像文件复制到Controller节点的/home/osbash目录下
scp -P 2230 bionic-server-cloudimg-amd64.vmdk [email protected]:/home/osbash
然后进入controller节点,导入用户admin环境变量,并查看镜像文件
ssh -p 2230 [email protected]
. admin_openrc.sh
qemu-img info bionic-server-cloudimg-amd64.vmdk
执行以下命令,将镜像从VMDK格式转换为QCOW2格式
qemu-img convert -f vmdk -O qcow2 -c -p bionic-server-cloudimg-amd64.vmdk bionic-server-cloudimg-amd64.qcow2
其中:
-f 指定输入磁盘的镜像格式
-O 指定输出格式
-c 目标只能被压缩成QCOW2格式
-p 显示转换进度
等待镜像格式转换完成
执行以下命令,查看转换后镜像格式信息
qemu-img info bionic-server-cloudimg-amd64.qcow2
执行以下命令,创建镜像Ubuntu_cli,格式为QCOW2,镜像状态为Public和Unprotected
openstack image create --disk-format qcow2 --container-format bare --min-disk 1 --min-ram 128 --public --unprotected --file ./bionic-server-cloudimg-amd64.qcow2 Ubuntu_cli
查看镜像列表
openstack image list
保存镜像“Ubuntu_cli"到本地openstack image save --file Ubuntu.qcow2 Ubuntu_cli
然后查看保存的镜像文件