制作kvm镜像、格式转换
2018-12-25
制作kvm镜像(以centos 7 为例)
执行创建虚拟机命令
virt-install --name centos7_kvm --memory --vcpus= --disk /home/kvm/vm-disk/centos7_kvm.img,format=qcow2,size= --os-type=linux --os-variant=rhel7 --cdrom /home/kvm/vm-disk/CentOS--x86_64-Minimal-.iso --noautoconsole --vnc --vncport= --vnclisten=0.0.0.0
virsh工具的相关选项说明 --name 虚拟机名称 --memory 内存大小 --vcpus= vcpu个数 --disk 创建硬盘 制定硬盘路径,格式,大小 --network 指定网络(可不加,默认虚拟机正在使用的虚拟网络) --os-type 指定操作系统类型 --os-variant= 指定操作系统版本 --cdrom 指定光驱安装操作系统 --noautoconsosle 虚拟机创建完毕后不会自动切换tty --vnc 使用vnc --vncport vnc端口
创建完虚拟机之后,通过vnc连接虚拟机,完成系统的安装

系统安装完成之后,进入kvm镜像存储目录,本例目录为 /home/kvm/vm-disk/
cd /home/kvm/vm-disk/
virsh list --all #查看所有kvm虚拟机
Id Name State
----------------------------------------------------
centos7_kvm running
此时虚拟机正在运行,之后查看kvm镜像信息
qemu-img info centos7_kvm.img
image: centos7_kvm.img
file format: qcow2
bytes)
disk size: .9G
cluster_size:
Format specific information:
compat: 1.1
lazy refcounts: true
此时可以看出kvm镜像虚拟磁盘大小为20G,实际大小为2.9G
此时异地备份镜像,会发现镜像会按照20G大小传输,不利于我们拷贝镜像
此时可以考虑压缩镜像(只有qcow2和qcow格式的镜像文件才支持压缩)
由于我的kvm镜像是qcow2的格式,我不想改变格式,所以在-O qcow2 时候输出qcow2
qemu-img convert -c -O qcow2 centos7_kvm.img new-centos7_kvm.img
qemu-img info new-centos7_kvm.img
image: new-centos7_kvm.img
file format: qcow2
virtual size: 20G (21474836480 bytes)
disk size: 989M
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
kvm镜像虚拟空间也可拓展(raw和qcow2都支持动态的调整磁盘大小,但是qcow2不支持缩减)
[root@localhost vm-disk]# qemu-img resize new-centos7_kvm.img +2G
Image resized.
[root@localhost vm-disk]# qemu-img info new-centos7_kvm.img
image: new-centos7_kvm.img
file format: qcow2
bytes)
disk size: 989M
cluster_size:
Format specific information:
compat: 1.1
lazy refcounts: false
可见磁盘大小已经拓展(kvm镜像不建议缩减磁盘空间,防止原有数据被破坏而不自知)
kvm镜像格式转换
qcow2转img格式
qemu-img convert -f qcow2 -O raw centos.qcow2 centos.img
vmdk转qcow2格式
qemu-img convert -f vmdk -O qcow2 centos.vmdk centos.qcow2
其他格式之间相互转换均可参照以上命令转换
制作kvm镜像、格式转换的更多相关文章
- KVM镜像image 转换 调整
qemu-img create -f raw test.raw 8G 创建一个raw格式,大小为8G的镜像. qemu-img info disk1.qcow2 #查看镜像大小及实际占用多少空 ...
- Linux的桌面虚拟化技术KVM(四)——虚拟机镜像格式对比与转换
Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机 Linux的桌面虚拟化技术KVM(二)——远程桌面管理 Linux的桌面虚拟化技术KVM(三)——KVM虚拟机克隆和快照 (1).常用镜像格 ...
- OpenStack手动制作CentOS 7 KVM镜像
在前面讲解KVM的时候,我们已经学习了如何制作KVM镜像,那么制作OpenStack使用的镜像和KVM是有一些区别的. 1. 下载CentOS 7官方ISO安装镜像这里使用国内阿里云的镜像源进行 ...
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(4)--用OZ工具制作openstack镜像
在部署openstack云平台环境的时候,需要上传镜像到glance. 首先下载iso镜像,这里下载了centos6.5镜像,放到/usr/local/src目录下然后用OZ工具制作openstack ...
- qcow2、raw、vmdk等镜像格式的比较和基本转换
注:本文转自http://www.cnblogs.com/feisky/archive/2012/07/03/2575167.html 云计算用一个朋友的话来说:”做云计算最苦逼的就是得时时刻刻为 ...
- 【CI】系列三.宿主机KVM配置及vdi与vmdk格式转换等
前提:宿主机需要支持虚拟化,如果未打开,则需要重启机器,在bois中打开该项: Ubuntu 及 KVM 相关主要参考官方 https://wiki.ubuntu.com/kvm 另外也可参考该页面: ...
- 使用kvm制作Eucalyptus镜像(CentOS 6.5为例)
1.前言 Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus) ...
- iSkysoft iMedia Converter Deluxe Mac如何制作视频?视频格式转换工具制作动图的方法
使用iSkysoft iMedia Converter Deluxe Mac如何制作视频?使用视频格式转换工具,你可以轻松进行动图或视频的制作,也可以把你喜欢的视频的某一段提取出来,制作成你自己风格的 ...
- #openstack centos6 centos7 kvm镜像制作
#openstack centos6 centos7 kvm 镜像制作 openstack windows 2008镜像 制作 http://www.cnblogs.com/elvi/p/800129 ...
随机推荐
- java中List的用法和实例详解
java中List的用法和实例详解 List的用法List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提供 ...
- java 中toString()方法详解
1.toString()方法 Object类具有一个toString()方法,你创建的每个类都会继承该方法.它返回对象的一个String表示,并且对于调试非常有帮助.然而对于默认的toString() ...
- 利用APT实现Android编译时注解
摘要: 一.APT概述 我们在前面的java注解详解一文中已经讲过,可以在运行时利用反射机制运行处理注解.其实,我们还可以在编译时处理注解,这就是不得不说官方为我们提供的注解处理工具APT (Anno ...
- Linq的使用场景简介和认识
一:C#的一个分支Linq 二:学Linq需要有一些基础知识 1. var 隐式类型 2. 匿名类型/匿名方法 3. 自动属性 4. 委托/泛型的委托 5. lambda 6. 扩展方法 7. 对象初 ...
- Android-ListView-(BaseAdapter初步)
在Android中就提供了专门列表显示条目的控件,ListView控件,ListView控件不是一次性加载全部数据,他是只加载用户在屏幕看得到的数据,当用户滑动的过程中在去加载新的数据,同时会自动销毁 ...
- 20145218张晓涵 web安全基础实践
20145218张晓涵 web安全基础实践 1.实验后回答问题 SQL注入攻击原理,如何防御 SQL注入漏洞是指在Web应用对后台数据库查询语句处理存在的安全漏洞.也就是,在输入字符串中嵌入SQL指令 ...
- C#操作windows服务,安装、卸载、停止、启动
public class ServiceUtil { private string _ServiceName = string.Empty; private string _AppName = str ...
- 【windows】dos命令查看某个文件夹下所有文件目录列表
dos命令 dir展示一个目录中的文件夹和文件列表 /a代表显示隐藏目录
- JavaScript 用new创建对象的过程
在JavaScript中创建自定义对象都需要用new运算符,那么创建对象的过程是什么样的呢? 例如现在有如下构造函数: function Person(name) { this.name = n ...
- numpy.reshape()
数组新的shape属性应该要与原来的配套,如果等于-1的话,那么Numpy会根据剩下的维度计算出数组的另外一个shape属性值.