`

<转>KVM虚拟机三大存储模式性能解析

 
阅读更多
KVM的存储选项有多种,包括虚拟磁盘文件、基于文件系统的存储和基于设备的存储。
  为实现KVM(Kernel-based Virtual Machine)存储管理,可以使用LVM(Logical Volume Manager)和创建存储池。当系统创建KVM虚拟机的时候,默认使用虚拟磁盘文件作为后端存储。安装后,虚拟机认为在使用真实的磁盘,但实际上看到的是用于模拟硬盘的虚拟磁盘文件。这一额外的文件系统层会降低系统速度。
  当然,基于磁盘镜像的虚拟磁盘并非全无益处,磁盘文件系统可以很轻松地用于其它的KVM虚拟化宿主机。但是如果您希望优化KVM虚拟化性能,最好考虑其它的存储方式。
  基于文件系统的KVM存储
  在安装KVM宿主机时,可选文件系统为dir(directory)或fs(formatted block storage)作为初始KVM存储格式。默认选项为dir,用户指定本地文件系统中的一个目录用于创建磁盘镜像文件。
  fs选项可以允许用户指定某个格式化文件系统的名称,把它作为专用的磁盘镜像文件存储。两种KVM存储选项之间最主要的区别在于:fs文件系统不需要挂载到某个特定的分区。
  两种选项所指定的文件系统,都可以是本地文件系统或位于SAN上某个物理宿主机上的网络文件系统。后者具备一定的优势,因为SAN可以很轻易地实现多个主机同时访问,而本地磁盘或文件系统则无法实现。
  还有一种基于文件的磁盘存储方式是netfs,用户可以指定一个网络文件系统的名称,如Samba.用这种方式作为KVM存储很方便,因为这样很容易访问到位于其它服务器上的文件系统,同时用户也可以通过多台宿主机访问磁盘文件。
  所有的这些基于文件的KVM存储方式都有一个缺点:文件系统固有缺陷。因为虚拟机的磁盘文件不能直接读取或写入KVM存储设备,而是写入宿主机OS之上的文件系统。这也就意味着在访问和写入文件时中间增加了额外一层,这通常会降低性能。所以,如果您希望寻找KVM虚拟化性能最优方案,最好考虑基于设备的存储。
  基于设备的KVM存储
  另外一种KVM存储的方式就是使用基于设备的方式。共支持四种不同的物理存储:磁盘、iSCSI、SCSI和逻辑盘。磁盘方式指直接读写硬盘设备。iSCSI和SCSI方式可选,取决于用户采取SCSI或iSCSI地址把磁盘设备连接。这种KVM存储方式的优势在于,磁盘的名称是固定的,而不需要取决于宿主机OS搜索到磁盘设备的顺序。
  这种连接磁盘的方式也有缺点:灵活性不足。虚拟磁盘的大小很难改变,而且基于设备的KVM存储不支持快照。
  如果要优化KVM存储的灵活性,可以使用LVM(Logical Volume Manager)。LVM的优势在于可以使用快照,而快照并不是KVM虚拟化自带的功能。
  LVM可以把所有存储放到一个卷组里,从而轻松创建一个逻辑卷。该卷组是物理磁盘设备的一个抽象,所以如果超出可用磁盘空间最大值,还可以向卷组中添加新的设备,从而极大简化了增加存储空间的过程,增加的空间在逻辑卷中直接可以使用。使用LVM使得磁盘空间分配更加灵活,而且增加和删除存储也更为容易。
  最后,LVM无论是在单宿主机或多宿主机环境中都可以很好工作。在多宿主机环境中,您可以在SAN上创建逻辑卷。如果使用Cluster LVM,可以很容易的配置成多个主机同时访问某个逻辑卷。
  使用KVM存储池
  为简化KVM存储管理的目的,可以创建存储池。在宿主机上创建存储池,可以简化KVM存储设备的管理。采用存储池的方式还可以实现对提前预留的存储空间的分配。这种策略对于大型应用环境很有效,存储管理员和创建虚拟机的管理经常不是同一个人。这样,在创建首台虚拟机之前先完成KVM存储池的创建是很好的方法。
  当您决定开始KVM虚拟化时,先在宿主机端创建一个KVM存储池,然后通过这个池提供LVM逻辑卷。对于使用LVM增加的快照功能,用户是不会感到后悔的,这种KVM存储方法提供了极大地灵活性。

<转>http://www.cnblogs.com/zhangzhang/archive/2012/02/13/2349497.html
分享到:
评论

相关推荐

    《KVM虚拟化技术 实战与原理解析》.(任永杰,单海涛).[PDF]@jb51.net

    对于进阶读者,书中可能会讨论到如何使用KVM构建私有云,比如通过OpenStack这样的云管理平台来管理和调度KVM虚拟机。这涉及到云平台的组件、服务和部署策略,对于云平台开发者来说极具价值。 此外,KVM的性能分析和...

    KVM 源代码分析-虚拟机创建和运行流程代码分析.pdf

    - **函数`kvm_create()`**:创建KVM虚拟机实例,通过`ioctl(KVM_CREATE_VM)`在内核中建立虚拟机数据结构。 - **函数`kvm_create_vcpu()`**:创建vCPU,通过`ioctl(KVM_CREATE_VCPU)`创建vCPU的内核数据结构。 - **...

    虚拟机桥接及虚拟机存储-第二版

    ### 虚拟机桥接及虚拟机存储技术解析 #### 一、概述 随着云计算和虚拟化技术的发展,虚拟机已成为企业数据中心不可或缺的一部分。在众多虚拟化技术中,KVM(Kernel-based Virtual Machine)因其开源、高效等特点而...

    KVM虚拟化技术 实战与原理解析 高清完整版

    4. **网络虚拟化**:KVM支持多种网络虚拟化模型,包括桥接模式(虚拟机直接连接到物理网络)、NAT模式(虚拟机通过主机的NAT访问网络)和网络地址转换(MACVTAP)等,确保虚拟机间以及虚拟机与外部网络的通信。...

    KVM虚拟化技术__实战与原理解析

    3. Libvirt:是一个管理虚拟化资源的开源库,提供了API和命令行工具,用于管理KVM虚拟机的创建、运行、监控和维护。 KVM虚拟化技术实战与原理解析的内容非常丰富,它可能包含了如何安装和配置KVM,创建和运行虚拟机...

    迁移VMware虚拟机到KVM

    `virt-v2v`可以解析VMware的`.vmx`文件并创建对应的libvirt XML描述文件,用于在KVM环境中启动虚拟机。 3. **转换虚拟机**:使用`virt-v2v`或其他手动方法将VMware的虚拟机文件转换为KVM兼容的格式。这通常包括将`....

    KVM虚拟化技术__实战与原理解析_带书签

    在实际操作中,管理员可以使用命令行工具如`virsh`来管理KVM虚拟机,或者使用图形界面工具如Virtual Machine Manager(virt-manager)进行更直观的操作。此外,KVM还支持热迁移、快照、动态资源调整等功能,以满足...

    KVM虚拟化技术 实战与原理解析

    同时,KVM虚拟机使用硬件辅助虚拟化技术,比如Intel VT和AMD-V,来提高虚拟化性能和降低虚拟化的开销。 KVM的实战应用非常广泛,从企业服务器虚拟化到云计算平台构建,都可以见到KVM的身影。在部署KVM虚拟化环境时...

    《KVM虚拟化技术 实战与原理解析》.(任永杰,单海涛)《

    在性能优化方面,书中有专门章节讨论如何监控和调整KVM虚拟机的性能,包括CPU、内存和I/O资源的优化策略。此外,还会介绍如何处理常见的问题和故障排查方法,帮助读者解决KVM环境中可能出现的问题。 安全是虚拟化...

    使用 Proxmox VE 搭建基于 Ceph 存储的高可用集群

    在配置完成后,我们可以通过 Proxmox VE 的 Web 界面管理虚拟机和存储系统,实现高性能、高可用性和高可扩展性。本文提供了一个简单的示例,展示了如何使用 Proxmox VE 搭建基于 Ceph 存储的高可用集群。

    虚拟机在物理主机之间迁移的实现.

    本文旨在详尽解析KVM虚拟机在物理主机间的迁移机制,包括静态迁移(离线迁移)与动态迁移(在线迁移),并探讨基于数据块的在线迁移实现。 #### KVM虚拟机迁移的重要性 虚拟机迁移技术的核心价值在于,它允许运行...

    KVM虚拟化技术:实战与原理解析

    此外,书中可能还会探讨一些高级主题,如性能优化、高可用性集群、分布式存储解决方案,以及KVM与其他虚拟化技术(如Xen、VMware ESXi)的对比。 总的来说,《KVM虚拟化技术:实战与原理解析》这本书将帮助读者深入...

    KVM 桥接 QEMU 启动选项 图形组合键 磁盘映像

    当使用QEMU启动KVM虚拟机时,可以通过一系列启动选项来定制虚拟机的行为。这些选项包括但不限于: - `-m MEM`:分配给虚拟机的内存大小。 - `-hda DISK`:指定虚拟机的主硬盘映像文件路径。 - `-net nic,macaddr=...

    qemu-kvm-1.1 源码下载

    KVM(Kernel-based Virtual Machine)是Linux内核中的一个模块,它将QEMU与Linux内核结合,提供高性能的虚拟化解决方案。`qemu-kvm-1.1`是QEMU与KVM集成的一个版本,发布于2012年,包含了针对KVM优化的QEMU组件。 ...

    Mastering KVM Virtualization,Second Edition

    9. **容器与KVM的结合**:比较KVM虚拟机和容器的区别,以及如何在KVM环境中部署和管理Docker或Kubernetes等容器技术。 10. **案例研究**:提供实际数据中心场景下的KVM应用案例,帮助读者理解如何在生产环境中设计...

    控制qemu虚拟机.zip易语言项目例子源码下载

    3. 文件操作:虚拟机配置文件通常以XML格式存储,易语言的文件操作函数可以帮助我们读取、修改这些配置文件。 4. 通信机制:通过管道、套接字等通信方式,可以实现宿主机与虚拟机之间的数据交换,例如发送命令、接收...

    VSAN对比KVM等.pptx

    #### 三、KVM架构解析 KVM是Linux内核的一部分,它将Linux转变成一个Hypervisor,可以直接运行和管理虚拟机。KVM架构的核心优势在于: - **开源免费**:基于开源项目,降低了企业的成本投入。 - **高度兼容**:支持...

    KVM创建存储池、存储卷

    systemctl status libvirtd 查看服务启没启动 命令介绍 ...解析:pool-define-as dirpool(池名字) dir(类型) –target /kvm-vm/dirpool/(定义目录地址) pool-build dirpool 构建池 pool-start dirp

    qemu大神写的虚拟机源码

    2. **KVM支持**:当与Kernel-based Virtual Machine (KVM) 结合时,QEMU利用Linux内核的硬件虚拟化功能,提供接近原生性能的虚拟化环境。 3. **硬件支持**:QEMU支持多种硬件平台,包括x86、ARM、MIPS、PowerPC等,...

    KVM学习\安装 、虚拟化的定义

    virsh是libvirt的命令行界面工具,可以通过virsh进入交互模式来管理虚拟机。 存储虚拟化指的是在物理存储设备上创建虚拟层,比如通过RAID或LVM技术,从而将物理存储抽象为虚拟硬盘,提供给虚拟机使用。网络虚拟化则...

Global site tag (gtag.js) - Google Analytics