KVM虚拟化技术(六)磁盘管理

KVM支持的虚拟磁盘类型

raw

  这并非是一种真正的磁盘格式,而是代表虚拟机所使用的原始镜像;它并不存储元数据,因此可以作为保证虚拟机兼容性的候选方案,然而也正因为

它不存储元数据,因此不能支持某些高级特性,比如快照和压缩等。

  格式简单,容易转换为其他格式;需要文件系统的支持才能支持sparse file

cow copy-on-write格式,昙花一现

qcow  QEMU早期的copy-on-write格式,过渡性方案

qcow2

  按需进行分配磁盘空间,不管文件系统是否支持

  支持快照、压缩、加密

当虚拟机出现问题,如何拷贝出里面的数据?没有开机的情况下,如何挂在硬盘文件?

首先我们找到虚拟机的磁盘文件存放位置,存储池位于哪里,此处以/var/lib/libvit/image/ 为例

 1 # cd /var/lib/libvirt/images/
 2 [[email protected] images]# qemu-img info rhel6.6.qcow2
 3 image: rhel6.6.qcow2
 4 file format: qcow2
 5 virtual size: 9.0G (9663676416 bytes)
 6 disk size: 1.7G
 7 cluster_size: 65536
 8 Format specific information:
 9     compat: 1.1
10     lazy refcounts: true

格式的转换:
    qemu-img    convert    -f    qcow2    -O raw    rhel7.qcow2    rhel7.img
    qemu-img    convert    -f    源格式    -O 目标格式    源磁盘    目标磁盘

raw格式磁盘挂载:
    kpartx    -av    rhel7.img        ------执行后会把rhel7.img映射为几个文件
    在/dev/mapper/下 为loop0p1(boot)   loop0p2   rhel-root(/)    rhel-swap(swap)
    将其分别挂载就可以拷贝其中的数据
    kpartx    -d    rhel7.img          -----删除换回映射

qcow2格式磁盘挂载
    必须要在内核里添加nbd模块
    思路:qcow2先转换为raw格式,以raw格式去操作

1.查看现有磁盘镜像格式与转换
(1) 查看磁盘格式
    # qemu-ing  info  kvmname.img
    raw格式需要转换成qcow2
(2)关闭虚拟机并转换磁盘
    #virsh  shutdown  kvmname
(3)转换磁盘格式
    # qemu-img  convert  -f  raw  -O qcow2  kvmname1.img  kvmname2.qcow2
    -f   源镜像格式
    -O 目标镜像格式
    查看转换格式后,已经转换成了qcow2,这里是拷贝一份,并将格式转化成qcow2
    # qemu-img  info kvmname2.qcow2

qemu-img  create  -f  qcow2  /data/test1.qcow2  10G
1.给虚拟机在线添加磁盘
(1)查看现有磁盘
    # virsh domblklist  kvmname
(2)创建一块qcow2虚拟磁盘
    # qemu-img  create  -f  qcow2  test_add.qcow2  5G
(3)添加虚拟磁盘
    # virsh  attach-disk  kvmname  /path/test_add.qcow2  vdb
此时添加的在重启之后会消失,需要将新添加的磁盘配置保存到配置文件中
    # virsh dumpxml  kvmname 
    <disk type=‘file‘ device=‘disk‘>
        
<driver name=‘qemu‘ type=‘qcow2‘ cache=‘none‘/>
        
<source file=‘/data/test02_add01.qcow2‘/>
        
<target dev=‘vdb‘ bus=‘virtio‘/>
        
<alias name=‘virtio-disk1‘/>
        
<address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x06‘ function=‘0x0‘/>
        
</disk>
    # virsh edit  kvmname

修改虚拟机的配置文件(/etc/libvirt/qemu/)可以根据已复制发磁盘定义新的虚拟机

时间: 2024-10-10 11:55:31

KVM虚拟化技术(六)磁盘管理的相关文章

KVM虚拟化技术

KVM虚拟化技术 Qemu-kvm kvm Qemu-kvm创建和管理虚拟机 1.KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machine的缩写,即基于内核的虚拟机),是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor.KVM在2007年2月被导入Linux 2.6.20核心中,以可加载核心模块的方式被移植到FreeBSD及illumos上. KVM在具备Intel VT或AMD-V功能的x86平台上运行.它也被移植到S

KVM虚拟化平台部署及管理

前言 KVM即Kernel Virtual Machine,最初是由以色列公司Qumranet开发.2007年2月被导入Linux 2.6.20核心中,成为内核源代码的一部分.2008年9月4日,Redhat收购了Qumranet,至此Redhat拥有了自己的虚拟化解决方案,之后便舍弃Xen开始全面扶持KVM,从RHEL6开始KVM便被默认内置于内核中.本文介绍KVM虚拟化平台部署及管理. KVM简介 KVM特点 KVM必须在具备Intel VT或AMD-V功能的x86平台上运行.KVM包含一个

Linux下kvm虚拟化技术的安装与使用

Linux下kvm虚拟化技术的安装与使用 云时代的到来,虚拟化的广泛应用.让我们重新的科技进行了定义.而当下知名的虚拟化产品有 vmware vsphere ,Hyper-v,xen,kvm.vmware的虚拟化所占的市场有目共睹,Hyper-V是windows平台下的虚拟化,而Xen就属于一个半虚拟化产品.kvm就是我们今天所介绍的对象. (kvm是kernel virtual module的简写)kvm是红帽公司5.4版本后所推出的最新虚拟化技术产品.它和vpc,virtual  box都属

[转] KVM虚拟化技术生态环境介绍

KVM虚拟化技术生态环境介绍 http://xanpeng.github.io/wiki/virt/kvm-virtulization-echosystem-intro.html kvm和qemu/qemu-kvm的关系 qemu vs. qemu-kvm: 从qemu 1.3开始,kvm userspace code就维护在qemu mainline中(git clone https://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git, ref) qe

KVM虚拟化技术(一)

KVM虚拟化技术(一) =============================================================================== 概述: =============================================================================== 虚拟化技术基础 1.介绍 ★cpu虚拟化: ☉模拟:emulation ☉虚拟:virtulization 完全虚拟化(full-virtuliza

深入浅出KVM虚拟化技术

深入浅出KVM虚拟化技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实虚拟化技术已经不是一个新技术了,上个世纪六十年代IBM公司已经在使用,只不过后来随着PC机的出现,虚拟化为最初的应用目的已经可用武之地了,但是随着X86系统的增多以及PC机性能的提升以及现在业务模式的需要,所以使得虚拟化技术再一次蓬勃发展起来.在上个世纪的1974年有2位很著名的教授Popek和Glodberg在一篇论文中定义了经典虚拟化应该至少满足三个需求: 1>.等价执行(除了资源可用性以及时间上

KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机

一.KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machine的缩写,即基于内核的虚拟机),是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor.KVM在2007年2月被导入Linux 2.6.20核心中,以可加载核心模块的方式被移植到FreeBSD及illumos上. KVM在具备Intel VT或AMD-V功能的x86平台上运行.它也被移植到S/390,PowerPC与IA-64平台上.在Linux内核3.9版中,加入A

KVM虚拟化技术基本应用

KVM简介: KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术),是基于硬件的完全虚拟化. KVM的模式: 内核模式:原Linux系统内核使用的模式空间: 用户模式:用户的应用程序进程使用的模式空间: 来宾模式:虚拟机实例使用的模式空间: 检测硬件平台是否支持KVM的使用: 1.KVM需要CPU支持硬件虚拟化,

KVM虚拟化技术(二)KVM介绍

KVM:Kernel Virtual Machine KVM是基于虚拟化扩展的x86硬件,是Linux完全原生的全虚拟化解决方案.部分半虚拟化支持,主要是通过半虚拟网络驱动程序的形式用于Linux和Windows客户机系统的. KVM被设计为是一个内核模块,支持广泛的客户机操作系统:在KVM架构中,虚拟机实现为常规的Linux进程.这使KVM能够享受Linux内核的所有功能. KVM模块是KVM虚拟机的核心部分.其主要功能是初始化CPU硬件,打开虚拟化模式,然后将虚拟机客户机运行在虚拟机模式下,

kvm虚拟化技术应用实战

本文根据上课笔记整理,大家都知道云计算的基础就是虚拟化,而开源的虚拟化基本以kvm技术为主导,因此kvm技术已成为运维工程师必备的技术,也是云时代必不可少的技术 在介绍kvm之前 我们先来了解一下vnc这个软件,后面安装kvm需要vnc来支持 1.vnc的安装及使用 # yum -y install tigervnc-server 首次启动 # vncserver :1 会提示输入两次密码 然后编辑/root/.vnc/xstartup,将最后一行twm替换为gnome-session或者sta