标签:
在计算机世界我们随处可以见的一种方法,那就是抽象。1946年冯诺依曼提出了计算机的基本结构包含:计算器,存储器和I/O设备。这可能是对计算机这一新生事物最重要的一次抽象,它直接影响了今后几十年计算机软硬件的发展。我们每个人对计算机的计算器,存储器和I/O设备都有不同的认知,你可能不认识所有计算芯片,不了解各种存储设备和输入输出设备,但是这绝对不会阻碍你区分出它们来。计算机系统中的各个部分可能是不可或缺的,但一定是可以替换的,这就是抽象的力量。没有抽象,我们可能要为每一套硬件开发不同的操作系统,要为每一种操作系统开发不同的应用程序,那简直是不可想象的事情。
当然事情发展到今天,我们依然觉得软硬件系统种类太多了,我们需要新的层次上的抽象。虚拟化就是一个抽象的过程,是对软硬件资源的进行抽象的过程。虚拟化的目的之一是让上层无需感知下层的差异,并提供统一的接口以备上层使用下层资源。
理想状态下的硬件虚拟化要实现的也许就是对硬件不受任何限制的使用,应用程序无需感知计算、存储和网络等硬件设备的差异而能够充分利用硬件资源。但是现实的情况,我们还是需要考虑或多或少考虑硬件的限制的。接下来我们先来考虑硬件虚拟化中,最关键的角色——存储。
一、存储发展现状
对于存储每个人都会有直观的认识,从纸带、软盘、光盘到硬盘。根据冯诺依曼的计算机结构理论,存储的概念就如同字面一样简单,就是任何可用于存储数据的设备,也如同这一抽象的独立的概念,存储设备在计算机结构中甚至是可以相对独立的。随着网络的发展,存储不再局限于计算机外壳的内部,网络存储在服务器领域日益成为主流。
在存储设备中最重要的应该是硬盘,对硬盘的读写速度、容量和质量的追求,硬盘技术几经变迁。单从与主板的接口标准上分就有ATA(IDE)、SATA、SCSI、SAS、FC和Infiniband之多,他们在接口、传输媒介和协议上都存在一定区别。其中ATA接口常连接大家熟悉的IDE设备;SATA(Serial ATA)是串行ATA;SAS(Serial Attached SCSI)是串行SCSI;SATA与SAS是孪生兄弟,SATA硬盘可以连接SAS接口,反之却不兼容;FC(Fiber Channel)是光纤通道,光纤通道其实不一定使用光纤,也可以使用铜质电缆。需要详细了解各接口技术细节请google之。
随着网络存储的发展,区分出了DAS (Direct-Attached Storage) 、NAS(Network Attached Storage)、SAN(Storage Area Network)等存储模式。下图是他们之间的比较,其中每个虚线框表示为一个相对独立的整体,箭头左侧描述的是一种接口或者连接方式,右侧描述的是实现存储的技术方案。图中所显示的只是各个模式中最为简单的组织或连接方式。DAS中File System连接Storage的方式不仅仅限于机器内部各种接口和线缆(如计算机连接内置SAS硬盘),也可以是外部的接口和线缆(如通过外部SAS线缆连接存储),这样情况就会变得复杂了,NAS或SAN作为整体可以容易成为DAS的一部分。但DAS与其他二者的最大不同在于DAS不需要网络的支持。NAS和SAN最初的最大区别在于NAS是基于文件的存储,而SAN是基于数据块的存储。NAS存储更多表现为独立的文件服务器,但SAN更多表现的像是一块磁盘,因而SAN可以成为NAS网络中更加底层的那一部分。
二、Windows Server 2012 存储
接下来,我们来看看Windows Server 2012对支持存储虚拟化的几项重要改进。在Windows Server 2012中新增和改进许了多存储特性实现对存储虚拟化的支持,其中最为引人关注的是iSCSI目标服务器、SMB3.0和存储空间。Windows Server 2012及其集群可以容易实现目前主流的存储方案用于测试或生产环境,并且微软还有一套自己特有的基于文件服务器及文件服务器集群(SMB3.0和存储空间技术)的存储解决方案。
1、iSCSI目标服务器
iSCSI(Internet Small Computer System Interface)即Internet小型计算机系统接口。iSCSI在服务器与存储系统之间使用以太网连接,基于TCP/IP协议封装传输SCSI指令和数据,创建IP SAN。iSCSI和IP SAN应该是目前最具性价比的存储解决方案了。
在Windows Server 2012 中,iSCSI目标服务器(iSCSI Software Target Server)成为一个内建于文件与存储服务下的一个服务器角色,集成在服务器管理器中,不再需要额外下载安装(之前的Server版本都需要下载独立安装包进行安装),因此部署与更新变得更加简单。查找文档后我们发现iSCSI 目标服务器可提供下列服务:
由上可见,如果不考虑高性能iSCSI目标服务器生产环境中还是有用武之地的,在测试环境中更是不可或缺的帮手。另外iSCSI目标服务器可以配置成为Windows Server 2012故障转移集群的集群角色,同时通过配置MPIO实现高可以性。这里向iSCSI目标服务器发起连接与向其他iSCSI设备发起连接并没有什么不同。
2、文件服务器/SMB3.0
在Windows Server 2012中,文件服务器是另一个重要服务器角色。访问文件服务器有两个可选协议:NFS(Network File System)和SMB(Server Message Block) / CIFS(Common Internet File System )协议。在配置文件服务器的时候会要求进行选择,我们来看看他们的区别:
SMB3.0是SMB最新版本,提供了许多新功能,如:SMB透明故障转移,SMB多通道,SMB直连(SMB Direct)等。SMB3.0能够在以太网上实现1Gbps的文件访问速度,从而能匹敌DAS的性能。因而在Windows网络环境中,SMB可以作为替代iSCSI的另一个选择。
在Windows Server 2012中文件服务器也可以配置成为Windows Server 2012故障转移集群的集群角色,为满足不同应用对文件服务器的需要,集群角色配置过程中也有基于NFS和SMB的多种可选方案。
Windows Server虚拟化的核心Hyper-V服务器对与存储网络的要求很高,这里我们有多种选择:虽然Hyper-V的虚拟机可以部署于DAS、NAS或SAN存储中,但为了实现高可用性,基于SAN是最常见(基于iSCSI的IP SAN和基于FC通道的FC SAN),现在还可以选择基于文件服务器集群的Hyper-V over SMB(小型网络中可以配合使用下文中将要提到的“存储空间”特性),后文将实现它。
3、存储空间
存储空间是Windows Server 2012中的一个新特性,它提供了一种高效便捷的存储虚拟化解决方案。
简单来说,它可以将符合标准的存储设备,放入存储池中并进行虚拟化,创建称为存储空间的虚拟磁盘。目前符合标准的存储设备包括通过ATA、SATA、SCSI、SAS直接连接的磁盘或JBOD磁盘阵列,甚至也可以是通过USB连接的存储设备,但不可以是那些经过虚拟化和分层的磁盘,比如VHDs虚拟磁盘、虚拟机中的直通磁盘、RAID阵列等,另外存储池也不支持iSCSI和FC光纤通道。
再简单来说,存储空间实现类似RAID卡那样的功能,但实现的层级是在操作系统上,而不是在硬件上,这就是所谓的软件定义存储的实现吧。
如果存储设备中存在RAID卡,那么只能将RAID的所有功能禁用(如果允许禁用的话)才可能兼容存储空间特性,这样其实是一种浪费。因而采用存储空间的虚拟化方案,就不需要采购带RAID控制器的磁盘阵列,而直接采购JBOD磁盘柜就可以了,省不少钱。
如下官网上的示意图已经清楚的展示的存储空间相关概念:
在存储空间中建立的虚拟磁盘是一种弹性存储,虚拟磁盘定义好后无法改变存储布局(即无法在Simple、Mirror和Parity模式中自由切换)和提供方式(Thin和Fixed),但是可以调整容量。微软提供了三种存储布局,类似RAID的几种级别,TEDNET上的定义是:
存储空间特性也可以应用在Windows Server 2012的故障转移集群中,但要求会更高:
从以上要求看,要使用集群存储空间特性局限性是比较明显的,要与SAN方案竞争还有很长的路要走。想了解更多关于存储空间特性的细节,可以访问Storage Spaces Frequently Asked Questions (FAQ)
三、虚拟化存储网络
在Windows Server 2012中实现虚拟化的关键是部署Hyper-V服务器,保障Hyper-V虚拟机运行。原则上我们可以将Hyper-V虚拟机放置任何存储中,基于DAS、NAS或SAN存储都是可选的,Hyper-V Server 2012甚至已经实现在非共享存储的独立主机间实时迁移虚拟机。但是为了实现高可用性,我们一般会部署Hyper-V服务器故障转移集群,这要求集群节点拥有共享存储,因而为实现共享存储我们还有两种选择:基于SAN(基于iSCSI的IP SAN和基于FC通道的FC SAN)和基于文件服务器集群的Hyper-V over SMB。
1、基于IP SAN和FC SAN
如下图是典型的两节点集群连接存储的实现高可用性的方案,可以看出IP SAN与FC SAN在网络拓扑上没有本质区别,两者都可以通过多路径IO(MPIO)实现IO高可靠性和负载均衡。这里的Storage Server即是传统意义上的存储服务器(带CPU和控制器的存储阵列),为Hyper-V Server集群提供共享存储。测试环境中,可以利用Windows Server中 iSCSI目标服务器角色在普通PC中实现一个IP SAN所需要的Storage Server。
2、Hyper-V over SMB
Hyper-V over SMB是微软特有的存储解决方案。从下图的网络拓扑看,多了一级Windows File Server Cluster作为Hyper-V集群的共享存储的提供者,大家也许会认为这样是多此一举,但实际上这样的方案有几个好处:
实际上上图文件服务器集群不仅可以通过SMB也可以通过NFS协议和iSCIS将存储共享出去。但SMB 3.0已经明显强化了采用SMB协议的优势。
四、集群共享卷
集群共享卷是Windows Server 2008 R2为故障转移集群新增的一项特性。简单来说,集群共享卷使得多个节点对网络中同一位置的访问实现了真正的同步,各节点都拥有该位置的最新状态信息。
当我们使用Windows文件共享服务时会这样的经验:在节点1打开的共享文件夹\\fs01\share中新增了文件A,但是在节点2打开的同样位置\\fs01\share却没有文件A。网络位置\\fs01\share虽然是共享文件夹,但是在同一时间只能有一个节点维护其最新状态。在故障转移集群各节点上访问集群共享卷时却没有这样的问题。
集群共享卷的好处远不止上面这一点:
Windows Server 2012对集群共享卷特性做了很大的改进,关于集群共享卷的实现原理详细可以参考 Cluster Shared Volume (CSV) Inside Out 和 Cluster Shared Volumes Reborn in Windows Server 2012: Deep Dive 这两篇文章。
Windows Server 2012 虚拟化测试:存储(一)
标签:
原文地址:http://www.cnblogs.com/qingspace/p/4216761.html