上下文:

在工作中客户要求做一个openstack的镜像,这个操作系统的配置要求非常的高,最小需要8核96GB内存1TB硬盘。普通的系统可以通过分区扩展脚本做一个20GB的镜像然后在云平台上扩展,但是由于这个系统是封闭的,没法把脚本放进去,所以镜像只能一口气做成1TB大小。

该镜像如果制作成qcow只有5GB的大小。如果做成raw格式的镜像则有1TB大。

原来的设想是将镜像做成qcow2格式然后上传到glance中,没想到qcow2的镜像在创建虚拟机的时候会临时在计算节点上转换成raw格式,这样导致计算节点因为一下子多出了一个1TB文件,占满了磁盘把信息队列堵死了。

无奈在计算节点上将qcow转换成raw的话,也无法放下一个1TB的文件。故此最后决定将镜像上传到存储中去,然后在存储中将qcow转换成raw格式,然后再传到glance中去。

由于这个情况非常复杂,情况特殊,所以我把操作的记录写下来。

参数:

在本文中会牵涉到一些参数,这个参数在实际的环境中会有变化故此在这里解释一下。

<pool.name> ceph的池名,可以通过命令:ceph osd lspools查看到。

不知道为什么本环境中所有关于ceph的命令都需要加上--id cinder参数才能显示。

<rbd.id> rbd的id,id是内容是随机生成的,可以通过命令uuidgen来生成,然后镜像就使用这个id来表示自己。在ceph中的镜像都是用uuid来命名。

uuidgen

首先我先运行了uuidgen命令来生成id来用于接下来的一条命令中使用。

rbd import --path <*.raw> --dest-pool <pool.name> --dest <rbd.id> --id cinder

import命令将本地的镜像文件<*.raw>上传到了<pool.name>中,而<rbd.id>就是前面的uuidgen生成的字符串。

rbd -p <pool.name> info <rbd.id> --id cinder

这条命令是查看池中有没有这个id的镜像,确认上传成功。在完成上传后,我们就要准备将这个raw转换成qcow。所以要为qcow文件准备一个名字,依旧是一个uuid

uuidgen

这一次生成的uuid是给qcow文件准备的。

qemu-img convert -O raw rbd:<pool.name>/<old.rbd.id>:id=cinder rbd:<pool.name>/<new.rbd.id>:id-cinder

这个是一个qemu-img转换镜像格式的命令,不过后面的路径是rbd的。

rbd -p <pool.name> info <new.rbd.id> --id cinder

检查池中有没有新生成的镜像文件。

qemu-img info rbd:<pool.name>/<new.rbd.id>:id=cinder

可以通过qemu-img查看这个文件,看到这个文件是否为raw文件。

rbd --pool <pool.name> snap create --snap snap <rbd.id> --id cinder

rbd --pool <pool.name> snap protect --image <rbd.id> --snap snap --id cinder

rbd -p <pool.name> snap ls <rbd.id> --id cinder

最后是上传镜像(这个命令有点怪,貌似是上一个版本的openstack命令,我用的是m版本)

glance --os-image-api-version 1 image-create --id <rbd.id> --name <image.name> --store rbd --disk-format raw --container-format bare --location rbd://$(ceph fsid --id cinder)/<pool.name>/<rbd.ip>/snap

转载于:https://blog.51cto.com/181647568/2174507

V-7 Openstack 在ceph中转换镜像格式相关推荐

  1. qemu 转换镜像格式

    qemu 转换镜像格式 qemu-img是QEMU的磁盘管理工具,在qemu-kvm源码编译后就会默认编译好qemu-img这个二进制文件. qemu-img也是QEMU/KVM使用过程中一个比较重要 ...

  2. 使用qemu-img转换镜像格式

    / 前言 / ​      在与虚拟机打交道中,我们会常常接触到镜像,除了我们常用vmdk镜像外,还有很多诸如vhd.qcow2.raw.vhdx.qcow.vdi.qed.zvhd或zvhd2等镜像 ...

  3. 如何在Mac中转换图片格式

    对于转换图片的格式这个话题,很多网友留言有没有简单快速的解决方法,可以试试这个方法,但是前提是需要安装小机器人Permute 哦. Permute 3 如何转换图片格式 1.把软件安装到Mac电脑,接 ...

  4. 20100921 学习记录:关于sqlserver2005与ASP中 转换日期格式

    sqlserver2005使用convert转换日期 server使用convert来取得datetime日期数据,以下实例包含各种日期格式的转换语句及查询结果:Select CONVERT(varc ...

  5. 怎么在表格中转换html格式,图解Excel与Html格式之间的互相转换

    在工作中时常会遇到转换的问题,比如在浏览网站的时候看到一个不错的表格,但这个表格是网页上面的,该网站又不提供下载,这个时候该如何将这个表格下载下来,并且完整的将其转换到Excel中呢?下面8844就为 ...

  6. 怎么在表格中转换html格式转换,在Office Word中如何设置文本内容转换成表格

    一.前言 日常工作中,需要对一些临时记录的数据整理成表格,在没有创建标准的表格来存储数据前,如何进行文本转换成表格.可以参考以下操作方式: 二.操作步骤 1.首先在WORD中选中需要转换的文本内容,再 ...

  7. linux shell转换时间格式,在bash中转换日期格式

    慕哥9229398 #since this was yesterdaydate -dyesterday +%Y%m%d#more precise, and more recommendeddate - ...

  8. 服务器系统镜像需要什么格式,常见的系统镜像格式

    常见的系统镜像格式 内容精选 换一换 华为云目前支持如下公共镜像类型:Windows.CentOS.Debian.openSUSE.Fedora.Ubuntu.EulerOS.CoreOS,您可以在管 ...

  9. 2022云计算真题: OpenStack Glance运维--镜像格式转换

    使用自行搭建的OpenStack平台.在HTTP服务中存在一个镜像为cirros-0.3.4-x86_64-disk.img的镜像,请使用qemu相关命令,对该镜像进行格式转换,转换后的镜像格式为ra ...

最新文章

  1. java 多线程 事件_java 多线程-线程不安全案例
  2. blf文件用什么软件打开_如何用皕杰流程创建一个blf演示流程文件?
  3. Cs Tip08: 文件存储
  4. 2005年博客与web2.0十大最拽的武侠人物
  5. 获取android设备唯一编号_android 获取手机设备的唯一码(IMIE )
  6. git bash的安装与配置
  7. php 计划任务 curl,通过Task Scheduler定时运行调用cURL的PHP脚本 | 学步园
  8. git的简易上手笔记,及常用命令集合
  9. 【安装包】PhpStorm-2018.1
  10. 【图像去噪】基于matlab全变分算法图像去噪【含Matlab源码 1324期】
  11. 3dsmax2021软件安装教程
  12. 潍坊学院c语言上机题库,参编学校_C语言程序设计上机指导与同步训练(刘迎春、张艳霞)_pdf_大学课件预览_高等教育资讯网...
  13. 5V转3.3V原理图(AMS1117)
  14. 联想贺志强:联想专利其实很牛 只是你不知道
  15. 10款辅食做法,解决宝宝不爱吃蔬菜的难题
  16. 计算机网络---传输层
  17. 使用IText画复杂布局的页面
  18. 嵌入式软件工程师面试题目整理(一)
  19. QQ文件传输攻击工具
  20. Centos 7.2内核版本升级(无外网)

热门文章

  1. 为表增加字段与拷贝数据到另一个表
  2. Android(三)——将程序打包成APK文件,进行APK签名以及反编译APK
  3. 西北工业大学 计算机学院王云岚,王云岚
  4. 机器人学习--定位算法AMCL全局定位方案
  5. 计算机视觉与深度学习 | 视觉里程计库Libviso2详解
  6. php发送邮件,标题是乱码,php的mail函数发送UTF-8编码中文邮件时标题乱码怎么办?...
  7. 一个完整的Windows程序框架
  8. java如何打logo,利用java给网站图片打上文本或图片logo
  9. linux内核杂记(18)-内核链表结构(2)
  10. baseline来啦!第三届厦门国际银行数创金融杯金融营销建模大赛(奖金34万!)