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镜像、格式转换的更多相关文章

  1. KVM镜像image 转换 调整

    qemu-img create -f raw test.raw 8G 创建一个raw格式,大小为8G的镜像. qemu-img info disk1.qcow2     #查看镜像大小及实际占用多少空 ...

  2. Linux的桌面虚拟化技术KVM(四)——虚拟机镜像格式对比与转换

    Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机 Linux的桌面虚拟化技术KVM(二)——远程桌面管理 Linux的桌面虚拟化技术KVM(三)——KVM虚拟机克隆和快照 (1).常用镜像格 ...

  3. OpenStack手动制作CentOS 7 KVM镜像

    在前面讲解KVM的时候,我们已经学习了如何制作KVM镜像,那么制作OpenStack使用的镜像和KVM是有一些区别的. 1.    下载CentOS 7官方ISO安装镜像这里使用国内阿里云的镜像源进行 ...

  4. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(4)--用OZ工具制作openstack镜像

    在部署openstack云平台环境的时候,需要上传镜像到glance. 首先下载iso镜像,这里下载了centos6.5镜像,放到/usr/local/src目录下然后用OZ工具制作openstack ...

  5. qcow2、raw、vmdk等镜像格式的比较和基本转换

    注:本文转自http://www.cnblogs.com/feisky/archive/2012/07/03/2575167.html   云计算用一个朋友的话来说:”做云计算最苦逼的就是得时时刻刻为 ...

  6. 【CI】系列三.宿主机KVM配置及vdi与vmdk格式转换等

    前提:宿主机需要支持虚拟化,如果未打开,则需要重启机器,在bois中打开该项: Ubuntu 及 KVM 相关主要参考官方 https://wiki.ubuntu.com/kvm 另外也可参考该页面: ...

  7. 使用kvm制作Eucalyptus镜像(CentOS 6.5为例)

    1.前言 Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus) ...

  8. iSkysoft iMedia Converter Deluxe Mac如何制作视频?视频格式转换工具制作动图的方法

    使用iSkysoft iMedia Converter Deluxe Mac如何制作视频?使用视频格式转换工具,你可以轻松进行动图或视频的制作,也可以把你喜欢的视频的某一段提取出来,制作成你自己风格的 ...

  9. #openstack centos6 centos7 kvm镜像制作

    #openstack centos6 centos7 kvm 镜像制作 openstack windows 2008镜像 制作 http://www.cnblogs.com/elvi/p/800129 ...

随机推荐

  1. java中List的用法和实例详解

    java中List的用法和实例详解 List的用法List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提供 ...

  2. java 中toString()方法详解

    1.toString()方法 Object类具有一个toString()方法,你创建的每个类都会继承该方法.它返回对象的一个String表示,并且对于调试非常有帮助.然而对于默认的toString() ...

  3. 利用APT实现Android编译时注解

    摘要: 一.APT概述 我们在前面的java注解详解一文中已经讲过,可以在运行时利用反射机制运行处理注解.其实,我们还可以在编译时处理注解,这就是不得不说官方为我们提供的注解处理工具APT (Anno ...

  4. Linq的使用场景简介和认识

    一:C#的一个分支Linq 二:学Linq需要有一些基础知识 1. var 隐式类型 2. 匿名类型/匿名方法 3. 自动属性 4. 委托/泛型的委托 5. lambda 6. 扩展方法 7. 对象初 ...

  5. Android-ListView-(BaseAdapter初步)

    在Android中就提供了专门列表显示条目的控件,ListView控件,ListView控件不是一次性加载全部数据,他是只加载用户在屏幕看得到的数据,当用户滑动的过程中在去加载新的数据,同时会自动销毁 ...

  6. 20145218张晓涵 web安全基础实践

    20145218张晓涵 web安全基础实践 1.实验后回答问题 SQL注入攻击原理,如何防御 SQL注入漏洞是指在Web应用对后台数据库查询语句处理存在的安全漏洞.也就是,在输入字符串中嵌入SQL指令 ...

  7. C#操作windows服务,安装、卸载、停止、启动

    public class ServiceUtil { private string _ServiceName = string.Empty; private string _AppName = str ...

  8. 【windows】dos命令查看某个文件夹下所有文件目录列表

    dos命令  dir展示一个目录中的文件夹和文件列表  /a代表显示隐藏目录

  9. JavaScript 用new创建对象的过程

       在JavaScript中创建自定义对象都需要用new运算符,那么创建对象的过程是什么样的呢? 例如现在有如下构造函数: function Person(name) { this.name = n ...

  10. numpy.reshape()

    数组新的shape属性应该要与原来的配套,如果等于-1的话,那么Numpy会根据剩下的维度计算出数组的另外一个shape属性值.