虚拟化知识
1.虚拟化基础知识:什么是存储虚拟化
对于中小型架构来说存储虚拟化看起来是过大或过于昂贵的技术。但实际上许多不同规模的企业也可以从存储虚拟化中获益--通过使用商品硬件和传统的虚拟化存储引擎。
简而言之,虚拟化存储就是将数据从磁盘中抽象出来。在传统存储部署设置中,我们受限于驱动器盘符(在Windows系统上)或逻辑单元号(LUN),并且在特定磁盘层上给定了特定的RAID(独立磁盘冗余阵列)算法。
虚拟化存储的第一个实例可能是来自将存储迁移到虚拟服务器环境。在大多数情况下,这需要实施某种形式的共享存储。这种共享存储通常是一个通过光纤通道或iSCSI(互联网小型计算机系统接口)网络的存储局域网(SAN)。
在这种设置中,各个服务器从通常与服务器架构相连的硬件中抽象出来。从存储的角度而言,用户可以也可以不将数据从磁盘中完全抽象出来。虚拟化存储提供了主机和磁盘的抽象化。
这种互联的系统,无论是VMware ESXi主机或Windows Server系统,都不知道底层的磁盘是RAID 5、6或者是否可以和它直接互动。存储处理器作为存储虚拟化引擎,可以协调实际磁盘和主机系统之间的I/O。
虚拟化存储还可以带来新的功能,比如允许透明的存储扩展。在这些功能中,最引人注目的功能之一就是自动精简配置。自动精简配置可以仅消耗实际使用的驱动器空间。存储管理员另一个青睐的功能就是重复数据删除。
当用户在块层次上部署重复数据删除的时候,重复数据删除会检查逻辑区的磁盘使用情况并寻找相同的数据块。这些相同的数据块会被链接到第一个实例,然后重复的块会被存储系统回收。
其他可能推动管理员转向虚拟化存储的功能是卷管理功能,比如复制、快照和迁移。
从一个存储系统到另一个存储系统的卷或LUN复制是灾难恢复的福音。实际上,像VMware Site Recovery Manager(VMware站点恢复管理器)这样的解决方案依赖于这种复制技术,需要复制技术才能系统完好地复原到另一个站点。LUN的快照也可以非常有用。LUN快照可以像虚拟机的快照功能那样运作,整个数据集可以很快地恢复到指定的时间点。
最后,迁移功能也可以为架构管理员带来很多方便。通过带虚拟技术(比如VMware的Storage vMotion功能)的虚拟化引擎,管理员可以进行从一个存储系统到另一个存储系统的迁移。但是这对于非虚拟化的存储部分则没有多大用处。基于SAN的迁移功能可以将一个卷从存储处理器背后的一个存储系统迁移到另一个存储系统,以便将数据从需要移除的设备中迁移出来。
这种功能的一个主要使用情境就是将数据从旧磁盘阵列(比如使用Ultra-320 SCSI磁盘的阵列)迁移到新的磁盘阵列(比如使用串行链接SCSI(SAS)驱动器的阵列)。这可以带来更好的性能。通过虚拟化存储环境,LUN可以从一个存储系统迁移到另一个存储系统,完全不受制于所连接的系统。这主要是因为VMware ESXi主机或Windows Server连接到的不是底层存储而是存储处理器,也就是抽象层。
虚拟化存储的一个隐性好处就是管理员可以解决非结构化数据的数据保护问题。比如说有数TB的存储,这虽然看起来也不是太多,但是如果这里面包含1KB文件的数据,你会很快发现这么多的数据很难在文件系统中管理。
这种情况导致这种类型的数据备份变得异常繁琐。虚拟存储可以在块层次上解决这个问题,将卷复制或快照到另一个存储系统,从而满足数据保护的要求。只要存储系统可以块层次上对LUN的内容进行操作,那么虚拟存储的好处就会显现出来。
2.学习虚拟化技术怎么入门呢
虚拟化技术也分不同层面的,包括服务器虚拟化,存储虚拟化,网络虚拟化,平台软件虚拟化,应用虚拟化。
学习其实挺简单的,因为服务器虚拟化目前的技术和产品就那么几种,Oracle VM,Vmware,Xen,KVM,微软的hyper-v等等,基本的原理其实都差不多,所差的是管理和实现的不同,你可以去查查看看虚拟化的主要技术介绍,了解虚拟化的原理,然后选择某个主流的产品,例如Vmware或者Oracle VM,到他们的网站上潜心读读他们的解决方案介绍和产品手册,从了解一种产品开始,然后再扩展知识面,从而不断的积累和完善自己。
3.关于虚拟化如何学习的问题
对于已有三年以上网络实施经验的一线工程师来说,如何实现向虚拟化方向的转变?网络作为IT基础,连接不同硬件设备,建立软件之间的网络连接,对于已经有三年以上网络实施经验的人来说能够理解服务器、存储、操作系统、数据库、应用软件的关系。
虚拟化产品的安装和管理需要具备网络方面的知识,如果已有三年以上网络实施经验,对于虚拟网络更容易掌握和理解。未来虚拟化技术的部署走到了自动化阶段,需要一个工程师同时具备网络、存储、系统、虚拟化管理的知识和技能。
以后网络经验是先天优势,向虚拟化方向转变并不难。 查看原帖>>。
4.虚拟化技术都包含什么内容
虚拟化技术简介 什么是虚拟化 虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机系统,在70年代的 System 370 系列中逐渐流行起来,这些机器通过一种叫虚拟机监控器(Virtual Machine Monitor,VMM)的程序在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(Virtual Machine)实例。
随着近年多核系统、集群、网格甚至云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了 IT 成本,而且还增强了系统安全性和可靠性,虚拟化的概念也逐渐深入到人们日常的工作与生活中。 虚拟化是一个广义的术语,对于不同的人来说可能意味着不同的东西,这要取决他们所处的环境。
在计算机科学领域中,虚拟化代表着对计算资源的抽象,而不仅仅局限于虚拟机的概念。例如对物理内存的抽象,产生了虚拟内存技术,使得应用程序认为其自身拥有连续可用的地址空间(Address Space),而实际上,应用程序的代码和数据可能是被分隔成多个碎片页或段),甚至被交换到磁盘、闪存等外部存储器上,即使物理内存不足,应用程序也能顺利执行。
虚拟化技术的分类 虚拟化技术主要分为以下几个大类 [1]: 平台虚拟化(Platform Virtualization),针对计算机和操作系统的虚拟化。 资源虚拟化(Resource Virtualization),针对特定的系统资源的虚拟化,比如内存、存储、网络资源等。
应用程序虚拟化(Application Virtualization),包括仿真、模拟、解释技术等。 我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用控制程序(Control Program,也被称为 Virtual Machine Monitor 或 Hypervisor),隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境(称为虚拟机)。
虚拟机中运行的操作系统被称为客户机操作系统(Guest OS),运行虚拟机监控器的操作系统被称为主机操作系统(Host OS),当然某些虚拟机监控器可以脱离操作系统直接运行在硬件之上(如 VMWARE 的 ESX 产品)。运行虚拟机的真实系统我们称之为主机系统。
平台虚拟化技术又可以细分为如下几个子类: 全虚拟化(Full Virtualization) 全虚拟化是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得为原始硬件设计的操作系统或其它系统软件完全不做任何修改就可以在虚拟机中运行。操作系统与真实硬件之间的交互可以看成是通过一个预先规定的硬件接口进行的。
全虚拟化 VMM 以完整模拟硬件的方式提供全部接口(同时还必须模拟特权指令的执行过程)。举例而言,x86 体系结构中,对于操作系统切换进程页表的操作,真实硬件通过提供一个特权 CR3 寄存器来实现该接口,操作系统只需执行 "mov pgtable,%%cr3" 汇编指令即可。
全虚拟化 VMM 必须完整地模拟该接口执行的全过程。如果硬件不提供虚拟化的特殊支持,那么这个模拟过程将会十分复杂:一般而言,VMM 必须运行在最高优先级来完全控制主机系统,而 Guest OS 需要降级运行,从而不能执行特权操作。
当 Guest OS 执行前面的特权汇编指令时,主机系统产生异常(General Protection Exception),执行控制权重新从 Guest OS 转到 VMM 手中。VMM 事先分配一个变量作为影子 CR3 寄存器给 Guest OS,将 pgtable 代表的客户机物理地址(Guest Physical Address)填入影子 CR3 寄存器,然后 VMM 还需要 pgtable 翻译成主机物理地址(Host Physical Address)并填入物理 CR3 寄存器,最后返回到 Guest OS中。
随后 VMM 还将处理复杂的 Guest OS 缺页异常(Page Fault)。比较著名的全虚拟化 VMM 有 Microsoft Virtual PC、VMware Workstation、Sun Virtual Box、Parallels Desktop for Mac 和 QEMU。
超虚拟化(Paravirtualization) 这是一种修改 Guest OS 部分访问特权状态的代码以便直接与 VMM 交互的技术。在超虚拟化虚拟机中,部分硬件接口以软件的形式提供给客户机操作系统,这可以通过 Hypercall(VMM 提供给 Guest OS 的直接调用,与系统调用类似)的方式来提供。
例如,Guest OS 把切换页表的代码修改为调用 Hypercall 来直接完成修改影子 CR3 寄存器和翻译地址的工作。由于不需要产生额外的异常和模拟部分硬件执行流程,超虚拟化可以大幅度提高性能,比较著名的 VMM 有 Denali、Xen。
硬件辅助虚拟化(Hardware-Assisted Virtualization) 硬件辅助虚拟化是指借助硬件(主要是主机处理器)的支持来实现高效的全虚拟化。例如有了 Intel-VT 技术的支持,Guest OS 和 VMM 的执行环境自动地完全隔离开来,Guest OS 有自己的“全套寄存器”,可以直接运行在最高级别。
因此在上面的例子中,Guest OS 能够执行修改页表的汇编指令。Intel-VT 和 AMD-V 是目前 x86 体系结构上可用的两种硬件辅助虚拟化技术。
部分虚拟化(Partial Virtualization) VMM 只模拟部分底层硬件,因此客户机操作系统不做修改是无法在虚拟机中运行的,其它程序可能也需要进行修改。在历史上,部分虚拟化是通往全虚拟化道路上的重要里程碑,最早出现在第一代的分时系统 CTSS 和 IBM M44/44X 实验性的分页系统中。
操作系统级虚拟化(。