了解虚拟化与虚拟机对比

目录

一、了解虚拟化

1.导言

2.虚拟化基本概念和应用

(1)虚拟化的基本概念

1)资源虚拟化的使用效率

2)虚拟化分类

3)全虚拟化与半虚拟化

(2)基于Linux内核的虚拟化解决方案

1) KVM 模块

2) QEMU

3)KVM架构

4)KVM虚拟磁盘(镜像)文件格式

(3)Libvirt套件

(4)虚拟化的应用

二、虚拟化与虚拟机

1.虚拟化体系结构

2.Hypervisor的分类

(1)原生(Native)型

(2)宿主(Hosted)型

3.虚拟机文件

(1)虚拟机配置文件

(2)虚拟机内存文件

(3)虚拟磁盘文件

(4)虚拟机状态文件

(5)日志文件

(6)快照文件

4.虚拟机的主要特点

5.虚拟机的应用


一、了解虚拟化

1.导言

        虚拟化(Virtualization)是当今热门技术——云计算的核心技术之一,它可以实现信息技术(Information Technology,IT)资源的弹性分配,使IT资源分配更加灵活、方便,能够弹性地满足多样化的应用需求。

        虚拟化是指把物理资源转变为逻辑上可以管理的资源,以打破物理结构之间的壁垒,使程序或软件在虚拟环境而不是真实的环境中运行,是一种可以简化管理、优化资源的解决方案。所有的资源都透明地运行在各种各样的物理平台上,资源的管理都按逻辑方式进行,虚拟化技术可以完全实现资源的自动化分配。

2.虚拟化基本概念和应用

        虚拟化是一个广义的术语,本书的重点是IT领域的虚拟化,目的是快速部署IT系统,提升系统性能和可用性,实现运维自动化,同时降低拥有成本和运维成本。虚拟化是指为运行的程序或软件营造它们所需要的执行环境。采用虚拟化技术后,程序或软件可以运行在完全相同的物理计算资源中,但不再独享底层的物理计算资源,且完全不会影响所运行的计算机的底层结构。虚拟化的主要目的是对IT基础设施和资源管理方式进行简化。虚拟化的消费者可以是最终用户、应用程序、操作系统、访问资源或与资源交互相关的其他服务。虚拟化是云计算的基础,使得用户可以在一台物理服务器上运行多台虚拟机。

(1)虚拟化的基本概念

        虚拟化是一种可以为不同规模的企业降低IT开销、提高效率的有效方式,代表当前IT的一个重要发展方向,并在多个领域得到广泛应用。【服务器、存储、网络、桌面和应用等虚拟化技术发展很快,并与云计算及不断融合。服务器虚拟化主要用于组建和改进数据中心,是极为核心的虚拟化技术,也是云计算的基础技术,更是数据中心企业级应用的关键。】

1)资源虚拟化的使用效率

①虚拟化前。一台主机对应一个操作系统,后台多个应用程序会对特定的资源进行争抢,存在相互冲突的风险。【在实际情况下,业务系统与硬件进行绑定,难以灵活部署;就统计数据来说,虚拟化前的系统资源利用率一般只有 15%左右】

②虚拟化后。一台主机可以“虚拟出”多个操作系统,独立的操作系统和应用程序拥有独立的CPU、内存和I/O资源,相互隔离。【业务系统独立于硬件,可以在不同的主机之间进行迁移;充分利用系统资源,虚拟化后的系统资源利用率可以达到60%。】

2)虚拟化分类

        虚拟化可以分为平台虚拟化、资源虚拟化、应用程序虚拟化、存储虚拟化、网络虚拟化。

①平台虚拟化

        平台虚拟化(Platform Virtualization)针对计算机和操作系统进行的虚拟化,又分为服务器虚化。而其中又可以分为服务虚拟化和桌面虚拟化。

②资源虚拟化(Resource Virtualization ),是针对特定的计算资源进行的虚拟化。例如,存储虚拟化、网络资源虚拟化等。存储虚拟化是指把操作系统有机地分布于若干内、外存储器中,所有内、外存储器结合成虚拟存储器。网络资源虚拟化的典型应用是网格计算。【网格计算通过使用虚拟化技术来管理网络上的数据,并在逻辑上将其作为一个系统呈现给用户。它动态地提供符合用户和应用程序需求的资源,同时提供对基础设施的共享和访问的简化。当前,有些研究人员提出了利用软件代理技术来实现计算网络空间资源虚拟化的设想。】

③应用程序虚拟化(Application Virtualization),包括仿真、模拟、解释技术等。Java 虚拟机是典型的在应用层进行虚拟化的应用程序。基于应用层的虚拟化技术,通过保存用户的个性化计算环境的配置信息,可以在任意计算机上重现用户的个性化计算环境。【服务虚拟化是近年来研究的一个热点,可以使用户按需快速构建应用。服务虚拟化通过服务聚合,可降低服务资源使用的复杂性,使用户更易于直接将业务需求映射到虚拟化的服务资源中。现代软件体系结构及其配置的复杂性阻碍了软件开发,通过在应用层建立虚拟化的模型,可以提供较好的开发、测试和运行环境。】

④存储虚拟化(Storage Virtualization),是指将具体的存储设备或存储系统同服务器操作系统分隔开来,为存储用户提供统一的虚拟存储池。它是具体存储设备或存储系统的抽象,将展示给用户一个逻辑视图,同时将应用程序及用户所需要的数据存储操作和具体的存储控制分离。

存储虚拟化可在存储设备上加入一个逻辑层,管理员通过逻辑层访问或者调整存储资源,提高存储资源利用率。这样便于集中存储设备,可以提高易用性。存储虚拟化包括基于主机的存储虚拟化、基于存储设备的存储虚拟化。

⑤网络虚拟化(Network Virtualization ),是指将以前基于硬件的网络转变为基于软件的网络与所有形式的虚拟化一样,网络虚拟化的基本目标是在硬件和利用该硬件的活动之间引入一个抽象层。【具体地说,网络虚拟化允许独立于硬件来交付网络功能、硬件资源和软件资源,即虚拟网络网络虚拟化以软件的形式完整再现物理网络,应用程序在虚拟网络上的情况与在物理网络上的情况完全相同,网络虚拟化向已连接的工作负载提供逻辑网络连接设备和服务,如逻辑端口、交换机、路由器、防火墙、虚拟专用网(VirtualPrivate Network,VPN)等。它可以用来合并许多物理网络,或者将网络进一步细分,又或者将虚拟机连接起来。借助它可以优化数字服务提供商使用服务器资源的方式,使它们能够使用标准服务器来执行以前必须由昂贵的专有硬件才能执行的功能,并提高其网络的速度、灵活性和可靠性。虚拟网络不仅可以提供与物理网络相同的功能特性和保证还具备虚拟化所具有的运维优势和硬件独立性。】

3)全虚拟化与半虚拟化

        根据虚拟化实现技术的不同,虚拟化可以分为全虚拟化和半虚拟化两种。其中,全虚拟化产品将是未来虚拟化产品的主流。

①全虚拟化(Full Virtualization ),也称为原始虚拟化技术,用全虚拟化模拟出来的虚拟机中的操作系统是与底层的硬件完全隔离的。虚拟机中所有的硬件资源都通过虚拟化软件来模拟,包括处理器、内存和外部设备,支持运行任何理论上可在真实物理平台上运行的操作系统,为虚拟机的配置提供了较大的灵活性。【在客户机操作系统看来,完全虚拟化的虚拟平台和物理平台是一样的,客户机操作系统察觉不到程序是运行在一个虚拟平台上的。这样的虚拟平台可以运行现有的操作系统,无须对操作系统进行任何修改,因此这种方式被称为全虚拟化。全虚拟化的运行速度要快于硬件模拟的运行速度,但是在性能方面不如裸机,因为 Hypervisor(虚拟机监视器,一种运行在物理服务器和操作系统之间的中间层软件,可以允许多个操作系统和应用共享一套基础物理硬件)需要占用一些资源。】

②半虚拟化(Para Virtualization),是一种类似于全虚拟化的技术,需要修改虚拟机中的操作系统来集成一些虚拟化方面的代码,以减小虚拟化软件的负载。半虚拟化模拟出来的虚拟机整体性能会更好一些,因为修改后的虚拟机操作系统承载了部分虚拟化软件的工作。【其不足之处是,由于要修改虚拟机的操作系统,用户会感知到使用的环境是虚拟化环境,而且兼容性比较差,用户使用起来比较麻烦,需要获得集成虚拟化代码的操作系统。】

(2)基于Linux内核的虚拟化解决方案

        基于内核的虚拟机(Kernel-based Virtual Machine,KVM)是一种基于Linux的x86硬件平台开源全虚拟化解决方案,也是主流的Linux虚拟化解决方案,支持广泛的客户机操作系统。KVM 需要CPU的虚拟化技术的支持,如Intel 虚拟化技术( Intel Virtualization Technology, Intel VT ) 或AMD虚拟化(AMD Virtualization, AMD-V)技术。

1) KVM 模块

        KVM 模块是一个可加载的内核模块 kvm.ko。基于KVM对x86硬件架构的依赖, KVM 需要 使用处理模块。如果使用Intel架构,则加载 kvm-intel.ko 模块;如果使用AMD架构,则加载 kvm-amd.ko 模块。

        KVM 模块负责对虚拟机的虚拟 CPU 和内存进行管理及调试,主要任务是初始化 CPU 硬件, 打开虚拟化模式,然后使虚拟机运行在虚拟模式下,并对虚拟机的运行提供一定的支持。

        至于虚拟机的外部设备交互,如果是真实的物理硬件设备,则利用Linux系统内核来管理;如 果是虚拟的外部设备,则借助快速仿真(Quick Emulator, QEMU)来处理。

        由此可见, KVM本身只关注虚拟机的调试和内存管理,是一个轻量级的Hypervisor,很多Linux 发行版将 KVM 作为虚拟化解决方案,CentOS 也不例外。

2) QEMU

        KVM 模块本身无法作为 Hypervisor 模拟出完整的虚拟机,而且用户也无法直接对 Linux 系统内核进行操作,因此需要借助其他软件,QEMU 就是这样一款软件。

        QEMU 并非 KVM 的一部分,而是一款开源的虚拟机软件。与 KVM 不同,作为宿主型的 Hypervisor,即使没有 KVM 模块,QEMU 也可以通过模拟来创建和管理虚拟机,但因为是纯 软件实现,所以其性能较低。QEMU的优点是,在支持QEMU的平台上就可以实现虚拟机的功 能,甚至虚拟机可以不与主机使用同一个架构。KVM在QEMU 的基础上进行了修改。在虚拟 机运行期间, QEMU 将通过 KVM 模块提供的系统调用进入内核, KVM 模块负责将虚拟机置于 处理器的特殊模式下运行;当虚拟机进行I/O操作时, KVM模块将任务转交给QEMU解析和模 拟虚拟机。

        QEMU 使用KVM 模块的虚拟化功能,为自己的虚拟机提供硬件虚拟化的加速能力,从而极大 地提高了虚拟机的性能。除此之外,虚拟机的配置和创建,虚拟机运行时依赖的虚拟设备,虚拟机 运行时的用户操作环境和交互,以及一些针对虚拟机的特殊技术(如动态迁移),都是由QEMU自 己实现的。

        KVM 的创建和运行是用户空间的 QEMU 程序和内核空间的 KVM 模块相互配合的过程。KVM 模块作为整个虚拟化环境的核心,工作在系统空间,负责CPU和内存的调试; QEMU作为模拟器, 工作在用户空间,负责虚拟机的I/O模拟。

3)KVM架构

        从前面的分析来看, KVM作为Hypervisor,主要包括两个重要的组成部分:一个是Linux系统内核的KVM模块,主要负责虚拟机的创建、虚拟内存的分配、虚拟CPU寄存器的读写以及虚拟CPU的运行;另一个是提供硬件仿真的QEMU,用于模拟虚拟机的用户空间组件、提供I/O设备模型和访问外部设备的途径。

        在KVM中,每一个虚拟机都是一个由Linux调度程序管理的标准进程,可以在用户空间启动客户机操作系统。 普通的Linux进程有两种运行模 式,即内核模式和用户模式;而KVM增加了第3种模式,即客户模式,客户模式又有自己的内核 模式和用户模式。当新的虚拟机在KVM上启动时,它就成为主机操作系统的一个进程,因此可以 像调度其他进程一样调度它。但与传统的Linux进程不同的是,每个虚拟机都是通过/dev/kvm设 备映射的,它们拥有自己的虚拟地址空间,该空间映射到主机内核的物理地址空间。如前所述,KVM 使用硬件的虚拟化支持来提供完整的(原生)虚拟化,1/O请求通过主机内核映射到在主机 (Hypervisor)上执行的 QEMU 进程。

4)KVM虚拟磁盘(镜像)文件格式

     在 KVM 中往往使用镜像(Image)这个术语来表示虚拟磁盘,虚拟磁盘主要有以下3种文件。

①RAW。这是原始的格式,它直接将文件系统的存储单元分配给虚拟机使用,采取直读直写的策 略。该格式实现简单,不支持诸如压缩、快照、加密和写时拷贝(Copy-On-Write, COW)等特性。

② QCOW2。这是 QEMU 引入的镜像文件格式,也是目前 KVM 默认的格式。QCOW2 文件 存储数据的基本单元是簇(Cluster),每一簇由若干个数据扇区组成,每个数据扇区的大小是512B。 在QCOW2中,要定位镜像文件的簇,需要经过两次地址查询操作,QCOW2根据实际需要来决 定占用空间的大小,而且支持更多的主机文件系统格式。

③ QED。这是QCOW2的一种改进格式, QED的存储、定位、查询方式以及数据块大小均 与QCOW2一样,它的目的是改进QCOW2格式的一些缺点,提高性能,不过目前还不够成熟。

如果需要使用虚拟机快照,则可选择 QCOW2 格式;对于大规模数据的存储,可以选择RAW 格式。QCOW2格式只能增加文件容量,不能减少文件容量,而RAW格式可以增加或减少文件容量。

(3)Libvirt套件

        为了使 KVM 的整个虚拟环境易于管理,仅有 KVM 模块和 QEMU 组件是不够的,还需要使用 Libvirt 服务和基于 Libvirt 开发出来的管理工具。

        Libvirt是一个软件集合,是为管理平台虚拟化技术而设计的开源的应用程序接口(Application Program Interface, API)、守护进程和管理工具。它不仅可以对虚拟机进行管理,还可以对虚拟 网络和存储进行管理。Libvirt 最初是为 Xen 虚拟化平台设计的 API,目前还支持其他多种虚拟化平 台,如 KVM、ESXi 和 QEMU 等。在 KVM 解决方案中,QEMU 用来进行平台模拟,面向上层进 行管理和操作;而 Libvirt 用来管理 KVM,面向下层进行管理和操作。Libvirt 架构如图 1.2 所示。

        Libvirt 套件包括两部分,一部分是服务(守护进程名为 libvirtd),另一部分是 Libvirt API。Libvirt API是目前广泛使用的虚拟机管理 API,它是一系列标准的库文件,可以给多种虚拟化平台提供统一的 编程接口。一些常用的虚拟机管理工具(如 virsh)和云计算框架平台(如 OpenStack)都是在底 层使用 Libvirt API 的。

        libvirtd作为运行在主机上的服务器守护进程,为虚拟化平台及其虚拟机提供了本地和远程的管理功 能。libvirtd 在管理工具和虚拟化平台之间起到了“桥梁”的作用,基于Libvirt 开发的管理工具可通过 libvirtd 服务管理整个虚拟化环境,且可以支持多种虚拟化平台。

(4)虚拟化的应用

        虚拟化一方面应用于计算领域,包括虚拟化数据中心、分布式计算、服务器整合、高性能应用、定制化服务、私有云部署、云托管提供商等;另一方面应用于测试、实验和教学培训,如软件测试和软件培训等。

二、虚拟化与虚拟机

        虚拟化是一种简化管理和优化资源的解决方案,可以在虚拟环境中实现真实环境中的全部或部 分功能。虚拟化是指软件在虚拟的而不是真实的平台上运行,用“虚”的软件来替代或模拟“实” 的服务器、CPU、网络设备等硬件产品。虚拟化将物理资源转变为可管理的逻辑资源,以消除物理 结构之间的隔阂,将物理资源融为一个整体。虚拟化的所有资源都透明地运行在各种各样的物理平 台上,操作系统、应用程序和网络中的其他计算机无法分辨虚拟机与物理计算机。

        虚拟化使用软件来模拟硬件并创建虚拟计算机系统。虚拟计算机系统被称为虚拟机(Virtual Machine,VM),它是一种严密隔离的软件容器,内含操作系统和应用。每个功能完备的虚拟机都 是完全独立的,通过将多台虚拟机放置在一台计算机上,可 在一台物理服务器或主机上运行多个操作系统和应用,从而 扩大规模并提高效益。虚拟机是指通过软件模拟的具有完整 硬件系统的计算机,从理论上讲完全等同于实体的物理计算 机。服务器的虚拟化是指将服务器物理资源抽象成逻辑资 源,使一台服务器变成若干台相互隔离的虚拟服务器。

1.虚拟化体系结构

        虚拟化主要通过软件实现,常见的虚拟化体系结构如 图 1.3 所示,这表示一个直接在物理机上运行虚拟机管理程 序的虚拟化系统。在 x86 平台虚拟化技术中,虚拟机管理程 序通常被称为虚拟机监控器(Virtual Machine Monitor, VMM),又称为Hypervisor。它运行在物理机和虚拟机之间 的软件层上,物理机被称为主机,虚拟机被称为客户机。

(1)主机。主机一般指实际存在的计算机(即物理机),又称为宿主机。但当虚拟机嵌套时,运行虚拟机的虚拟机也是宿主机,但却不是物理机。

(2)虚拟机。虚拟机指在物理机上运行的操作系统中模拟出来的计算机,又称为客户机,理论上完全等同于实体的物理机。每个虚拟机都可以安装自己的操作系统或应用程序,并连接网络。

2.Hypervisor的分类

        Hypervisor基于主机的硬件资源为虚拟机提供了一个虚拟的操作平台并管理每个虚拟机的运行,所有虚拟机独立运行并共享主机的所有硬件资源。可以叫做虚拟机管理程序,也可以叫做VMM(Virtual Machine Manager)

        Hypervisor是提供虚拟机硬件模拟的专门软件,可以分为原生型和宿主型两类。

(1)原生(Native)型

        原生型又称为裸机(Bare-metal)型。Hypervisor作为一个精简的操作系统(操作系统也是软件,只不过是比较特殊的软件)直接运行在硬件之上以控制硬件资源并管理虚拟机,比较常见的有VMware公司的ESXi、微软公司的Hyper-V等。

(2)宿主(Hosted)型

        宿主型又称为托管型。Hypervisor运行在传统的操作系统之上,同样可以模拟出一整套虚拟硬件平台,比较常见的有VMware Workstation、Oracle VM VirtualBox等。

        从性能角度来看,无论是原生型 Hypervisor 还是宿主型 Hypervisor,都会有性能损耗,但宿 主型Hypervisor比原生型Hypervisor的损耗更大,所以企业生产环境中使用的基本是原生型 Hypervisor,宿主型 Hypervisor 一般用于实验或测试环境中。

3.虚拟机文件

        与物理机一样,虚拟机是运行操作系统和应用程序的软件计算机。虚拟机包含一组规范和配置文件,这些文件存储在物理机可访问的存储设备上,所以复制和重复使用虚拟机就变得很容易。虚拟机的文件管理由VMware Workstation来执行。

(1)虚拟机配置文件

        虚拟机配置文件包含虚拟机配置信息,如CPU、内存、网卡以及虚拟磁盘的配置信息。创建虚拟机的同时会创建相应的配置文件。更改虚拟机配置后,该文件也会相应地变更。虚拟化软件根据该文件提供的配置信息从物理机上为该虚拟机分配物理资源,通常使用文本、XML、CFG或VMX格式等,文件体积很小。

.vmx文件:表示虚拟机配置文件,使用虚拟机程序打开这个文件以启动虚拟系统。该文件为虚拟机配置文件,存储着根据虚拟机向导或虚拟机编辑器对虚拟机进行的所有配置。

        有时候需要手动更改配置文件以达到对虚拟机硬件方面的更改,该文件可以使用文本编辑器进行编辑。如果宿主机使用Linux,则使用虚拟机时,这个配置文件的扩展名将是.cfg。

(2)虚拟机内存文件

        虚拟机内存文件默认存在于系统盘的根目录下,系统盘的空间越大,系统就越能腾出更多的空 间给虚拟内存,系统也就越稳定。当虚拟机关闭时,该文件的内容可以提交到虚拟磁盘文件中。

        .vmem文件:表示虚拟机内存文件,与pagefile.sys (也称为分页文件)的作用 相同。当虚拟系统执行关机操作后,该文件消失,但挂起时,该文件不消失。

        虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的、可用的内存 (一个连续完整的地址空间),而实际上,它通常被分隔成多个物理内存碎片,还有部分暂时存储在 外部磁盘存储器上,需要时再进行数据交换。

        pagefile.sys为分页文件,即虚拟内存文件,它默认存在于系统盘的根目录下。系统盘的空间 越大,用户的系统就越能腾出更多的空间给虚拟内存,用户的系统也就越稳定,所以建议尽量不要 把软件程序装在系统盘中。

        主机中所运行的程序均需经由内存执行,若执行的程序很大或很多,则会导致内存消耗殆尽, 而内存不足常导致卡机、系统不稳定等情况发生。为解决该问题, Windows中运用了虚拟内存技 术,即匀出一部分硬盘空间来充当内存。虽然虚拟内存技术在一定程度上能够缓解物理内存的紧张 状况,但是因为计算机从随机存取存储器(Random Access Memory, RAM)读取数据的速率要 比从硬盘读取数据的速率快,所以若想提高性能,扩增RAM容量(可加内存条)是极佳的选择。 若运行程序或操作缺乏所需的RAM,则Windows会用虚拟机内存文件进行补偿。虚拟机内存文件 将计算机的 RAM 和硬盘上的临时空间(虚拟内存)进行组合。当 RAM 运行速率缓慢时,虚拟机 内存文件便将数据从 RAM 移动到“分页文件”的空间中。

(3)虚拟磁盘文件

        虚拟机所使用的虚拟磁盘,实际上是物理磁盘上一种特殊格式的文件,它模拟了一个典型的基 于扇区的磁盘,虚拟磁盘为虚拟机提供存储空间。在虚拟机中,虚拟磁盘被虚拟机当作物理磁盘使 用,功能相当于物理机的物理磁盘,虚拟机的操作系统安装在一个虚拟磁盘(文件)中。

        虚拟磁盘文件用于捕获驻留在主机内存的虚拟机的完整信息,并将信息以一种明确的磁盘文件 格式显示出来。每个虚拟机都从其相应的虚拟磁盘文件启动,并加载到物理机内存中。随着虚拟机 的运行,虚拟磁盘文件可通过更新来反映数据或状态的改变。虚拟磁盘文件可以复制到远程存储中, 提供虚拟机的备份和灾难恢复副本;也可以迁移或复制到其他服务器中。虚拟磁盘文件适合集中式 存储,而不是存于每台本地服务器上。模拟磁盘中的虚拟磁盘文件往往较大,因此除了可以选择固 定大小的磁盘类型外,还可以按需动态分配物理存储空间,更好地利用物理存储空间。

        .vmdk 文件:表示虚拟机的一个虚拟磁盘。这是虚拟机的磁盘文件,存储了虚拟 机硬盘驱动器里的信息。一个虚拟机可以由一个或多个虚拟磁盘文件组成。如果在新建虚拟机时指 定虚拟磁盘文件为一个单独文件,则系统将只创建一个.vmdk 文件。该文件包括了虚 拟机磁盘分区信息,以及虚拟机磁盘的所有数据。随着数据写入虚拟磁盘,虚拟磁盘文件将变大, 但始终只有这一个磁盘文件。

        如果在新建虚拟机时指定为每 2GB 容量单独创建一个磁盘文件,虚拟磁盘的总大小就决定了 虚拟磁盘文件的数量。系统将创建一个.vmdk文件和多个-.vmdk 文件(注:为磁盘文件编号),其中.vmdk 文件只包括磁盘分区信息,多个 -.vmdk 文件用于存储磁盘数据信息。随着数据写入某个虚拟磁盘文件,该虚 拟磁盘文件将变大,直到文件大小为 2GB,然后新的数据将写入其他编号的磁盘文件中。

        如果在创建虚拟磁盘时已经分配了所有的空间,那么这些文件将在初始时就具有最大大小并且 不再变大了。如果虚拟机是直接使用物理硬盘而不是虚拟磁盘,则虚拟磁盘文件保存着虚拟机能够 访问的分区信息。

        早期版本的 VMware 产品用.dsk 扩展名来表示虚拟磁盘文件。

        -.vmdk:当虚拟机有一个或多个快照时,就会自动创建该文件。该文件记 录了创建某个快照时,虚拟机所有的磁盘数据内容。为数字编号,根据快照数量自动增加。

(4)虚拟机状态文件

        与物理机一样,虚拟机也支持待机、休眠等状态,这就需要相应的文件来保存计算机的状态。 暂停虚拟机后,会将其挂起状态保存到状态文件中,由于仅包含状态信息,文件体积通常不大。

        .vmss文件:用来存储虚拟机在挂起状态时的信息。一些早期版本的虚拟化软件 用.std扩展名来表示这个文件。

(5)日志文件

        虚拟化软件通常使用日志文件记录虚拟机调试、运行的情况,这些记录对故障诊断非常有用。

        .log文件:记录了VMware Workstation对虚拟机调试、运行的情况。当遇到问 题时,这些文件对用户做出故障诊断非常有用。

(6)快照文件

        对虚拟机执行某些任务时,会创建其他文件。例如,创建虚拟机快照时,可以捕获虚拟机设置 和虚拟磁盘的状况,创建内存快照时还可以捕获虚拟机的内存状况,这些信息将随虚拟机配置文件 一起存储在快照文件中。

        当虚拟机建立快照时,就会自动创建快照文件。有几个快照就会有几个此类文件。这是虚拟机 快照的状态信息文件,它记录了在建立快照时虚拟机的状态信息。为数字编号,根据快照数 量自动增加,如-Snapshot.vmsn。

        当运行一个“虚拟系统”时,为防止该系统被另外一个VMware程序打开,导致数据被修改或 损坏, VMware会自动在该"虚拟系统”所在的文件夹下生成3个锁定文件(虚拟系统锁定文件、 虚拟磁盘锁定文件、虚拟内存锁定文件),分别为systemType.vmx.lck、systemType.vmdk.lck、 systemTyep.vmem.lck。考试会考

        虽然 VMware这种锁定机制能够很好地防止同一个虚拟系统文件被多个 VMware程序运行,避免数据被破坏,但它也带来了一些问题,如当出现断电或其他意外情况时, 可能导致某个虚拟系统文件无法正常打开,其原因往往是该虚拟系统文件没有解锁,解决办法是将 这3个.Ick 文件删除。

4.虚拟机的主要特点

        虚拟机可以通过软件模拟创建具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计 算机系统。在物理计算机中能够完成的工作在虚拟机中都能够实现。在物理计算机中创建虚拟机时, 需要将物理计算机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的互 补金属氧化物半导体(Complementary Metal-Oxide-Semiconductor, CMOS)、硬盘和操作系 统,可以像使用物理机一样对虚拟机进行操作。

        通过虚拟机软件,可以在一台物理机上模拟出两台或多台虚拟的计算机,这些虚拟机就像真正 的计算机那样工作,可以安装操作系统、安装应用程序、访问网络资源等。对用户而言,虚拟机只 是运行在用户物理机上的一个应用程序;但是对在虚拟机中运行的应用程序而言,它就是一台真正 的计算机。因此,当用户在虚拟机中进行软件测试时,系统同样有可能会崩溃;但是,崩溃的只是 虚拟机上的操作系统,而不是物理机上的操作系统,使用虚拟机的“Undo"(恢复)功能,用户可 以将虚拟机恢复到安装软件之前的状态。

        虚拟机实现了应用程序与操作系统和硬件的分离,从而实现了应用程序与平台的无关性,具有 以下特点。

(1)可同时在同一个主机上运行多个操作系统,每个操作系统都有自己独立的一个虚拟机,就 如同网络上一个独立的主机;可在虚拟机之间分配系统资源。

(2)在虚拟机上安装同一种操作系统的另一发行版,不需要重新对硬盘进行分区。在硬件层面 进行故障和安全隔离,利用高级资源控制功能保持性能。

(3)虚拟机之间共享文件、应用、网络资源等。虚拟机的完整状态保存在文件中,移动和复制 虚拟机就像移动和复制文件一样便捷。

(4)可以运行采用客户机/服务器方式的应用,也可以在同一台计算机上使用另一个虚拟机的所 有资源。其独立于硬件,可以将任意虚拟机调配或迁移到任意物理服务器上。

5.虚拟机的应用

        虚拟机现在已广泛应用于IT 的各行各业,下面列举几个主要的应用。

(1)虚拟服务器

虚拟服务器非常适合为中小企业创建网站,可节省资金和资源。

(2)电子商务平台

虚拟服务器的运行与独立服务器的运行完全相同,中小型服务商可以以较低成本,通过虚拟机 空间建立自己的电子商务平台、在线交易平台。

(3)ASP 应用平台

虚拟服务器特有的应用程序模板,可以快速地进行应用程序的批量部署,再加上独立服务器的 品质和极低的成本,是中小型企业搭建活动服务器页面(Active Server Pages, ASP )应用的首 选平台。

(4)数据共享平台

完全的隔离、无与伦比的安全,使得中小企业、专业门户网站可以使用虚拟服务器提供数据共 享、数据下载服务。对大型企业来说,虚拟机可以作为部门级应用平台。

(5)数据库存储平台

虚拟机可以为中小企业提供数据存储功能。由于其成本比独立服务器低,安全性高,可作为小 型数据库的首选。

(6)服务器整合

通过虚拟化软件,可在物理服务器上运行多个虚拟机,令每个虚拟机代替一个传统的服务器, 虚拟服务器共享物理服务器的硬件资源,由虚拟管理程序负责这些资源的调配。一些老旧系统和软 件需要特定的运行环境,新的计算机硬件环境无法支持,可以考虑使用兼容早期硬件的虚拟机,通 过安装早期版本的操作系统和运行环境来解决这个问题。

(7)IT 基础设施管理

在物理平台上部署虚拟机,使物理资源逻辑化,便于实现资源管理和分配的自动化。虚拟机与 物理硬件隔离,虚拟机之间相互独立,使得虚拟机运行更安全。自动化的虚拟机管理工具可以降低 IT 维护难度和成本。

(8)系统快速恢复

虚拟机可以实现系统快照、备份和迁移功能,便于及时恢复系统。

(9)IT 人员测试和实验

使用虚拟机可以模拟真实的操作系统,做各种操作系统实验和测试;还可以基于多种操作系统、 多种软件运行环境、多种网络环境做IT实验。一些应用系统可以先在虚拟机上部署和测试,成功之 后再正式部署到生产环境中。

(10)软件开发与调试

软件开发人员可以利用虚拟机实现跨平台的不同操作系统下的应用程序开发,完成整个开发阶 段的试运行和调试工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值