V-7 Openstack 在ceph中转换镜像格式
上下文:
在工作中客户要求做一个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中转换镜像格式相关推荐
- qemu 转换镜像格式
qemu 转换镜像格式 qemu-img是QEMU的磁盘管理工具,在qemu-kvm源码编译后就会默认编译好qemu-img这个二进制文件. qemu-img也是QEMU/KVM使用过程中一个比较重要 ...
- 使用qemu-img转换镜像格式
/ 前言 / 在与虚拟机打交道中,我们会常常接触到镜像,除了我们常用vmdk镜像外,还有很多诸如vhd.qcow2.raw.vhdx.qcow.vdi.qed.zvhd或zvhd2等镜像 ...
- 如何在Mac中转换图片格式
对于转换图片的格式这个话题,很多网友留言有没有简单快速的解决方法,可以试试这个方法,但是前提是需要安装小机器人Permute 哦. Permute 3 如何转换图片格式 1.把软件安装到Mac电脑,接 ...
- 20100921 学习记录:关于sqlserver2005与ASP中 转换日期格式
sqlserver2005使用convert转换日期 server使用convert来取得datetime日期数据,以下实例包含各种日期格式的转换语句及查询结果:Select CONVERT(varc ...
- 怎么在表格中转换html格式,图解Excel与Html格式之间的互相转换
在工作中时常会遇到转换的问题,比如在浏览网站的时候看到一个不错的表格,但这个表格是网页上面的,该网站又不提供下载,这个时候该如何将这个表格下载下来,并且完整的将其转换到Excel中呢?下面8844就为 ...
- 怎么在表格中转换html格式转换,在Office Word中如何设置文本内容转换成表格
一.前言 日常工作中,需要对一些临时记录的数据整理成表格,在没有创建标准的表格来存储数据前,如何进行文本转换成表格.可以参考以下操作方式: 二.操作步骤 1.首先在WORD中选中需要转换的文本内容,再 ...
- linux shell转换时间格式,在bash中转换日期格式
慕哥9229398 #since this was yesterdaydate -dyesterday +%Y%m%d#more precise, and more recommendeddate - ...
- 服务器系统镜像需要什么格式,常见的系统镜像格式
常见的系统镜像格式 内容精选 换一换 华为云目前支持如下公共镜像类型:Windows.CentOS.Debian.openSUSE.Fedora.Ubuntu.EulerOS.CoreOS,您可以在管 ...
- 2022云计算真题: OpenStack Glance运维--镜像格式转换
使用自行搭建的OpenStack平台.在HTTP服务中存在一个镜像为cirros-0.3.4-x86_64-disk.img的镜像,请使用qemu相关命令,对该镜像进行格式转换,转换后的镜像格式为ra ...
最新文章
- java 多线程 事件_java 多线程-线程不安全案例
- blf文件用什么软件打开_如何用皕杰流程创建一个blf演示流程文件?
- Cs Tip08: 文件存储
- 2005年博客与web2.0十大最拽的武侠人物
- 获取android设备唯一编号_android 获取手机设备的唯一码(IMIE )
- git bash的安装与配置
- php 计划任务 curl,通过Task Scheduler定时运行调用cURL的PHP脚本 | 学步园
- git的简易上手笔记,及常用命令集合
- 【安装包】PhpStorm-2018.1
- 【图像去噪】基于matlab全变分算法图像去噪【含Matlab源码 1324期】
- 3dsmax2021软件安装教程
- 潍坊学院c语言上机题库,参编学校_C语言程序设计上机指导与同步训练(刘迎春、张艳霞)_pdf_大学课件预览_高等教育资讯网...
- 5V转3.3V原理图(AMS1117)
- 联想贺志强:联想专利其实很牛 只是你不知道
- 10款辅食做法,解决宝宝不爱吃蔬菜的难题
- 计算机网络---传输层
- 使用IText画复杂布局的页面
- 嵌入式软件工程师面试题目整理(一)
- QQ文件传输攻击工具
- Centos 7.2内核版本升级(无外网)
热门文章
- 为表增加字段与拷贝数据到另一个表
- Android(三)——将程序打包成APK文件,进行APK签名以及反编译APK
- 西北工业大学 计算机学院王云岚,王云岚
- 机器人学习--定位算法AMCL全局定位方案
- 计算机视觉与深度学习 | 视觉里程计库Libviso2详解
- php发送邮件,标题是乱码,php的mail函数发送UTF-8编码中文邮件时标题乱码怎么办?...
- 一个完整的Windows程序框架
- java如何打logo,利用java给网站图片打上文本或图片logo
- linux内核杂记(18)-内核链表结构(2)
- baseline来啦!第三届厦门国际银行数创金融杯金融营销建模大赛(奖金34万!)