阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Windows Server 2012 虚拟化测试:存储

187次阅读
没有评论

共计 17541 个字符,预计需要花费 44 分钟才能阅读完成。

在计算机世界我们随处可以见的一种方法,那就是抽象。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 对支持存储虚拟化的几项重要改进。在 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 目标服务器可提供下列服务:

  • 网络和无磁盘启动:通过使用支持启动的网络适配器或软件加载程序,可以快速部署成百上千个无磁盘服务器。使用差异虚拟磁盘,你可以节省多达 90% 的操作系统映像存储空间。这对于相同操作系统映像的大型部署很有用,如部署大型机房或者在大规模集群中部署服务器。
  • 服务器应用程序存储:某些应用程序需要块存储(例如 Hyper-V 和 Exchange Server)。iSCSI 目标服务器可以为这些应用程序提供持续可用的块存储。由于存储可以远程访问,因此还可以合并中心或分支机构位置的块存储。这个是 iSCSI 的最重要的功能。
  • 异类存储:iSCSI 目标服务器支持非 Windows iSCSI 发起程序,以便能够在混合软件环境中共享的 Windows Server 上存储。
  • 开发、测试、演示和实验室环境:当启用 iSCSI 目标服务器角色服务时,它会将任何 Windows Server 转变为可通过网络访问的块存储设备。存储阵列一般非常昂贵,测试环境中我们可以使用部署 iSCSI 目标服务器角色的 Windows Server 计算机来充当这样的存储设备。这个功能非常实用,如果想进行虚拟化测试却苦于没有独立的存储阵列,可以使用 iSCSI 目标服务器服务可以让任何一台安装 Window Server 的服务器成为存储阵列。

由上可见,如果不考虑高性能 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)协议。在配置文件服务器的时候会要求进行选择,我们来看看他们的区别:

  • NFS 最早由 SUN 公司开发,是最常见的网络文件共享协议。NFS 允许系统将其目录和文件共享给网络上的其他系统。用户和应用程序可以像访问本地文件一样访问远程系统上的文件。NFS 更多应用在 Unix 或类 Unix 系统中,当然 Windows 也支持该协议。
  • SMB 最早源自 IBM,但随后 Microsoft 对其提供支持和改进,最初 SMB 是基于 NetBIOS 建立一个文件共享协议,但为将 SMB 扩展到 Internet 上,摆脱对 NetBIOS 的依赖,微软对 SMB 协议进行整理,并重命名为 CIFS。Windows 网络环境的核心是 SMB/CIFS,许多 Microsoft 系的网络应用都可以基于 SMB/CIFS 协议,包括在 Windows 系统之间的文件共享,在 Unix 类系统上要为 Windows 客户提供文件共享服务就需要实现 SMB/CIFS 协议,例如 Samba。

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 磁盘柜就可以了,省不少钱。

如下官网上的示意图已经清楚的展示的存储空间相关概念:

Windows Server 2012 虚拟化测试:存储

在存储空间中建立的虚拟磁盘是一种弹性存储,虚拟磁盘定义好后无法改变存储布局(即无法在 Simple、Mirror 和 Parity 模式中自由切换)和提供方式(Thin 和 Fixed),但是可以调整容量。微软提供了三种存储布局,类似 RAID 的几种级别,TEDNET 上的定义是:

  • 简单(Simple):数据跨物理磁盘条带化,这最大化了容量并提高了吞吐量,但降低了可靠性。这种存储布局至少需要一块磁盘,并且不能针对磁盘故障提供保护。
  • 镜像(Mirror):数据在两个或三个物理磁盘上复制,这提高了可靠性,但降低了容量。这种存储布局至少需要两块磁盘用于针对单一磁盘故障提供保护,或者至少需要五块磁盘用于针对同时发生的两起磁盘故障提供保护。
  • 奇偶校验(Parity):数据和奇偶校验信息跨物理磁盘条带化,这提高了可靠性,但一定程度上降低了容量。这种存储布局至少需要三块磁盘用于针对单一磁盘故障提供保护,并且至少需要七块磁盘用于针对两起磁盘故障提供保护。

Windows Server 2012 虚拟化测试:存储

存储空间特性也可以应用在 Windows Server 2012 的故障转移集群中,但要求会更高:

  • 虚拟磁盘提供方式必须是固定(Fiexed,创建时就占据固定容量)。
  • 虚拟磁盘奇偶校验存储布局在 Windows Server 2012 中不被支持,但 2012 R2 支持。
  • 所有物理磁盘必须通过 SAS 链接。
  • 所有物理磁盘必须支持 PR(Persistent Reservation)且通过故障转移集群验证测试。
  • 集群需要共享存储,因而 JBOD 磁盘必须通过 SAS 物理连接所有节点(可以通过 SAS 连接所有节点或者使用 SAS 交换机),因而 DAS 不被支持。

从以上要求看,要使用集群存储空间特性局限性是比较明显的,要与 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。

Windows Server 2012 虚拟化测试:存储

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。

 

Windows Server 2012 虚拟化测试:存储

 

2、Hyper-V over SMB

Hyper-V over SMB 是微软特有的存储解决方案。从下图的网络拓扑看,多了一级 Windows File Server Cluster 作为 Hyper- V 集群的共享存储的提供者,大家也许会认为这样是多此一举,但实际上这样的方案有几个好处:

  • 节约成本,重用旧有资产,使用便宜硬件。如果无需实现文件服务器的高可用性,那么任何一台连接的存储设备的 PC 都可以充当 Hyper- V 集群的共享存储的提供者,文件服务器的存储可以采用任何形式的存储模式(DAS、NAS 和 SAN),因而甚至可以是 PC 中的本地磁盘。如果实现文件服务器的高可以性,那么文件服务器故障转移集群本身也需要共享存储,因而文件服务器集群要么采用 SAN,要么采用共享 SAS 连接 JBOD,但应当推荐如下图所示通过共享 SAS 连接 JBOD。JBOD 比传统的 RAID 存储阵列便宜,它没有控制器,没有 RAID 的高可用性,但配合 Windows Server 存储空间特性,可以在文件服务器集群中实现高可用性和扩展性。
  • 扩展性。文件服务器集群的节点可扩展。另外存储空间可扩展,如下图各个文件服务器节点可连接 2 个以上 JBOD,配合存储空间特性实现大容量虚拟磁盘(存储空间特性需要微软验证的 JBOD 才支持,可以在此查阅通过验证的 JBOD 产品)。
  • 兼容性。多一层文件服务器或文件服务器集群,上层应用只需访问文件服务器而无需知道底层存储的实现细节,因而可以兼容不同型号的产品。如下图两个 JBOD 可以来自不同厂家。
  • 其他好处,关于与 Hyper- V 和其他微软产品的完美配合以及微软的产品简单易用就不提了。

Windows Server 2012 虚拟化测试:存储

实际上上图文件服务器集群不仅可以通过 SMB 也可以通过 NFS 协议和 iSCIS 将存储共享出去。但 SMB 3.0 已经明显强化了采用 SMB 协议的优势。

四、集群共享卷

集群共享卷是 Windows Server 2008 R2 为故障转移集群新增的一项特性。简单来说,集群共享卷使得多个节点对网络中同一位置的访问实现了真正的同步,各节点都拥有该位置的最新状态信息。

当我们使用 Windows 文件共享服务时会这样的经验:在节点 1 打开的共享文件夹 \\fs01\share 中新增了文件 A,但是在节点 2 打开的同样位置 \\fs01\share 却没有文件 A。网络位置 \\fs01\share 虽然是共享文件夹,但是在同一时间只能有一个节点维护其最新状态。在故障转移集群各节点上访问集群共享卷时却没有这样的问题。

集群共享卷的好处远不止上面这一点:

  • 每个集群共享卷都会被映射到每个节点的系统分区下 ClusterStorage 文件夹中,因为各节点访问集群共享卷就如同访问本地路径。如果系统分区在 C 盘,那么集群共享卷 1 的路径默认为 C:\ClusterStorage\Volume1\,其中 Volume1 的名称可以随意更改。
  • 多个虚拟机可以放置在同一个集群共享卷中,即同一个 LUN 中,并且可以正常进行故障转移(这时故障转移的单位不再是 LUN,而是虚拟机),这充分利用了磁盘空间,也省却了为每个虚拟机配置 LUN 的繁琐工作。
  • 即使一个节点和 SAN 之间连接中断或者部分网络中断,集群也可以正常响应,集群将通过 SAN 或网络中完好的部分来重新路由集群共享卷的通信。

Windows Server 2012 对集群共享卷特性做了很大的改进,关于集群共享卷的实现原理详细可以参考 Cluster Shared Volume (CSV) Inside Out 和 Cluster Shared Volumes Reborn in Windows Server 2012: Deep Dive 这两篇文章。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2015-01/112168p2.htm

五、搭建 Window Server 2012 虚拟化的存储网络

前文我们讨论了 Window Server 2012 支持的各种与存储相关的技术,接下来我们通过实践对其中的一些技术进行检验。实际上 Window Server 2012 虚拟化并不一定需要诸如 NAS 或者 SAN 之类的第三方存储,利用服务器的内的本地磁盘也同样可以部署 Window Server 2012 虚拟化的基础架构 SCVMM(System Center Virtual Machine Manger)。但是虚拟化本质上追求的是可伸缩性和高可用性,而这些在将本地磁盘直接作为虚拟机的存储时是无法实现的。虚拟化所依赖的存储需要更高层级的抽象。但与采用分布式存储的不同,Window Server 2012 虚拟化更多使用的是第三方的存储(个人称之为集中式存储)。这带来的性能的提升和复杂度的降低,但同时也限制了其扩展的规模。无论如何,Window Server 2012 虚拟化对于中小型规模的应用还是具有相当优势的。

那么为了实现可伸缩性和高可用性,我们需要可共享的第三方存储,可以是 SAN 或者 Windows File Server(利用 over SMB 技术),企业级应用一般会选择 FC SAN。

Windows Server 2012 虚拟化测试:存储

 

这里我们以 1 台 IBM DS3512 存储,1 台 IBM 光纤交换机,8 台 IBM X3550 M4 服务器,来构建 Windows Server 2012 虚拟化的基础设施。主要有两个工作要完成,第一完成所有硬件连接,第二配置光纤交换机和存储。

1、硬件连接

由于只有 1 台光纤交换机,无法实现在交换机层次的高可用性,就是如果光纤交换机损坏的话,存储将无法提供服务。但是对于非核心服务来说应该是足够的,要知道光纤交换机价格高昂。根据上图的方式,每台服务器上的 FC HBA 卡通过光纤连接至光纤交换机,存储的两个控制器都连接至光纤交换机。

Windows Server 2012 虚拟化测试:存储

IBM DS3512 存储(正面)

Windows Server 2012 虚拟化测试:存储

IBM DS3512 存储(上)和 IBM 2498-B24 光纤交换机(下)

下图是包含更多设备的较为全景的图片:

Windows Server 2012 虚拟化测试:存储

IBM DS3512 存储(上)、IBM 2498-B24 光纤交换机(中上)、KVM(中下)和 IBM X3550 M4 服务器(下)

在上图可以发现每条光纤其实连接的是光纤模块,而光纤模块插入光纤交换机或者 FC HBA 卡上的插槽中。光纤模块实现了光电信号的转换,光纤模块要与插槽匹配,光纤线也要与光纤模块匹配。这里我们选择多模的光纤和 SFP 光纤模块。

另外,上图的连接并不规范,存储的两个控制器上分别连接了两条光纤,其中一条与光纤交换机连接,另一条与一台服务器的 FC HBA 卡直接连接。原因是 IBM 的光纤交换机是按插槽口数量授权的,也就是说目前这台光纤交换机只授权的 8 个插槽口,其中 2 个用于连接存储的 2 个控制器,剩余只够连接 6 台服务器,剩余 2 台服务器只能直接连接到存储上,这样这两台服务器将无法实现多路径 IO(MPIO),即在存储的两个控制器之间实现冗余。不过大家明白有这样的缺点即可,有时考虑成本,妥协也在所难免。

上图存储两个控制器上分别连接的黑色网线是控制线,用于通过以太网对存储进行配置,下文将涉及。

2、配置光纤交换机和存储

(1)配置光纤交换机

初次配置可以使用 putty 连接 IBM 2498-B24 光纤交换机的 COM 口,找到该光纤交换机的默认静态 IP 地址,以方便今后使用 IP 在浏览器中进行连接和配置。根据如下图参数连接 COM 口(注意如果通过 COM 转 USB 连接线连接的话,可以在设备管理器中查看模拟出的串口号,这里连接的是 COM4)。

Windows Server 2012 虚拟化测试:存储

使用用户名 admin 和密码 password 登录。登陆后会要求重设各类用户的初始密码,最后使用命令 ipaddrshow 显示默认 IP 地址,也可以通过命令 ipaddrset 进行修改。输入 help 命令可以获得更多帮助。

IBM_2498_B24 login: admin
Password:
Please change passwords
for switch default accounts now.

IBM_2498_B24:admin
>  ipaddrshow

SWITCH
Ethernet IP Address:10.77.77.77
Ethernet Subnetmask:
255.255.255.0
Gateway IP Address: none
DHCP: Off
IBM_2498_B24:admin
>

通过上面的方法找到的交换机的 IP 地址为 10.77.77.77,那么接下来使用网线连接交换机的管理网口,在浏览器中 访问 http://10.77.77.77,提示要求安装 java 运行库,但是由于机器年份比较早,跳转的地址仍然是 sun.com 的地址(sun 公司目前已经被 Oracle 收购),现在无法知道需要安装的 java jre 的版本了,但通过研究跳转前的页面中的验证 java 版本的 JavaScript 脚本可知,需要安装 java jre 1.6 32 位。到 oracle 官网下载 jre-6u43-windows-i586.exe 安装。终于看到交换机的管理登录界面。

Windows Server 2012 虚拟化测试:存储

使用 admin 和之前在 putty 里修改的密码登录。

Windows Server 2012 虚拟化测试:存储

主要的配置集中在 Zone Admin,主要配置逻辑是:

a. 在 Alias 选项卡内为每个需要连接的端口(含每台服务器的 FC HBA 卡和存储的 2 个控制器)建立别名,以方便后续配置。

Windows Server 2012 虚拟化测试:存储

b. 在 Zone 选项卡内将需要连接的端口,划归在一个 Zone 里。左侧是可选的对象,右侧是加入的对象,这里我们加入别名即可。

Windows Server 2012 虚拟化测试:存储

c. 在 Zone Config 选项卡内将需要启用的 Zone 加入右侧 Zone Members。这样就完成的基本的交换机端口映射。

Windows Server 2012 虚拟化测试:存储

(2)配置存储

完成了光纤交换机的配置,其实已经打通的服务器与存储之间的通道。接下来就需要对存储进行规划和配置,以便服务器能够正常访问。我们可以简单的认为外部存储即是服务器外置的几块大硬盘,只不过这些大硬盘是通过光纤的方式连接的。我们可以使用 IBM 的存储管理软件 IBM System Storage DS Storage Manager 对存储进行管理,将安装有 IBM 的存储管理软件的计算机通过网线同时连接存储的两个控制器上的管理网口,这中间需要加交换机,管理软件可以自动发现存储。

在规划存储时,我们需要考虑该存储未来的应用。当一切尘埃落定后存储将无法重新调整,即使可以调整也将面临较大风险。我们的存储将是整个虚拟化的基石,其上需要构建 Windows Server 故障转移集群,需要提供集群共享卷功能,以放置具有高可用的虚拟机。那么有几个方面需要考虑:

a. 对物理磁盘进行分组创建热备磁盘,创建磁盘阵列 Raid,选择 Raid 的类型。如下图在 Hardware 选项卡中,右键图中的磁盘创建热备盘和磁盘阵列。

Windows Server 2012 虚拟化测试:存储

b. 对磁盘阵列划分逻辑磁盘(在服务器操作系统中表现为一个磁盘),其中为 Windows Server 故障转移集群创建见证磁盘。如下图在 Storage & Copy Services 选项卡中可以看见创建了 2 个的磁盘阵列,一个是 Raid10 类型��另一个是 Raid5 类型,可以在每个磁盘阵列下创建逻辑磁盘。其中在名为 RAID5 这个磁盘阵列下我创建了两个 1 -2Gb 大小的逻辑磁盘,这两个磁盘将作为故障转移集群的见证磁盘。

Windows Server 2012 虚拟化测试:存储

c. 为服务器分配逻辑磁盘。在 Host Mappings 选项卡中可以通过 host port identifier(每个光纤网口唯一的标识)定义所有的允许连接存储的服务器,可以对这些服务器进行分组,并为它们分配逻辑磁盘。如下图定义了 8 个服务器,分为一组,组名为 Host Group 02,并将大部分逻辑磁盘分配给该组。

Windows Server 2012 虚拟化测试:存储

 

(3)配置服务器

进行如上配置后,在服务器的磁盘管理工具中就可以看见分配给服务器的那些逻辑磁盘了。这里我们还需要配置多路径 IO(MPIO),实现服务器在存储的两个控制器之间实现路径冗余,即如果一个存储控制器坏了,服务器将自动使用另一个。当然多路径 IO 不仅止于此,如果每台服务器有两个 FC HBA 卡,并分别连接两台光纤交换机,每台光纤交换机分别连接两个存储控制器,那么这将实现真正的冗余,当然成本也不菲。在 Windows Server 2012 R2 中配置多路径 IO,需要做两件事:

a. 安装 IBM 多路径 IO 的驱动,可以在官网下载对应存储的驱动,这里安装驱动为 MPIO Device Specific Module(DSM),其文件名类似 SMIA-WinX64-01.03.1305.0050.exe。

Windows Server 2012 虚拟化测试:存储

b. 在服务器管理器中添加服务器特性 Multipath I/O。

Windows Server 2012 虚拟化测试:存储

完成后我们可以在磁盘管理器 Disk Management 中,看到到原来冗余的磁盘都合并在一起,并且右键 Disk 属性,可以看到多出了 MPIO 的选项卡。

Windows Server 2012 虚拟化测试:存储

 

至此,我们已经完成了构建虚拟化所需要的最重要的部分——存储的配置。过程中需要注意的细节非常多,但许多问题几乎可以通过 Google 解决。这里只描述了大体过程和方向,基本上类似的不同型号的存储的配置应该也差不太多。下面我们将继续搭建虚拟化的基础设施,安装相关虚拟化的软件,实现存储虚拟化,网络虚拟化和计算虚拟化。

在计算机世界我们随处可以见的一种方法,那就是抽象。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 对支持存储虚拟化的几项重要改进。在 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 目标服务器可提供下列服务:

  • 网络和无磁盘启动:通过使用支持启动的网络适配器或软件加载程序,可以快速部署成百上千个无磁盘服务器。使用差异虚拟磁盘,你可以节省多达 90% 的操作系统映像存储空间。这对于相同操作系统映像的大型部署很有用,如部署大型机房或者在大规模集群中部署服务器。
  • 服务器应用程序存储:某些应用程序需要块存储(例如 Hyper-V 和 Exchange Server)。iSCSI 目标服务器可以为这些应用程序提供持续可用的块存储。由于存储可以远程访问,因此还可以合并中心或分支机构位置的块存储。这个是 iSCSI 的最重要的功能。
  • 异类存储:iSCSI 目标服务器支持非 Windows iSCSI 发起程序,以便能够在混合软件环境中共享的 Windows Server 上存储。
  • 开发、测试、演示和实验室环境:当启用 iSCSI 目标服务器角色服务时,它会将任何 Windows Server 转变为可通过网络访问的块存储设备。存储阵列一般非常昂贵,测试环境中我们可以使用部署 iSCSI 目标服务器角色的 Windows Server 计算机来充当这样的存储设备。这个功能非常实用,如果想进行虚拟化测试却苦于没有独立的存储阵列,可以使用 iSCSI 目标服务器服务可以让任何一台安装 Window Server 的服务器成为存储阵列。

由上可见,如果不考虑高性能 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)协议。在配置文件服务器的时候会要求进行选择,我们来看看他们的区别:

  • NFS 最早由 SUN 公司开发,是最常见的网络文件共享协议。NFS 允许系统将其目录和文件共享给网络上的其他系统。用户和应用程序可以像访问本地文件一样访问远程系统上的文件。NFS 更多应用在 Unix 或类 Unix 系统中,当然 Windows 也支持该协议。
  • SMB 最早源自 IBM,但随后 Microsoft 对其提供支持和改进,最初 SMB 是基于 NetBIOS 建立一个文件共享协议,但为将 SMB 扩展到 Internet 上,摆脱对 NetBIOS 的依赖,微软对 SMB 协议进行整理,并重命名为 CIFS。Windows 网络环境的核心是 SMB/CIFS,许多 Microsoft 系的网络应用都可以基于 SMB/CIFS 协议,包括在 Windows 系统之间的文件共享,在 Unix 类系统上要为 Windows 客户提供文件共享服务就需要实现 SMB/CIFS 协议,例如 Samba。

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 磁盘柜就可以了,省不少钱。

如下官网上的示意图已经清楚的展示的存储空间相关概念:

Windows Server 2012 虚拟化测试:存储

在存储空间中建立的虚拟磁盘是一种弹性存储,虚拟磁盘定义好后无法改变存储布局(即无法在 Simple、Mirror 和 Parity 模式中自由切换)和提供方式(Thin 和 Fixed),但是可以调整容量。微软提供了三种存储布局,类似 RAID 的几种级别,TEDNET 上的定义是:

  • 简单(Simple):数据跨物理磁盘条带化,这最大化了容量并提高了吞吐量,但降低了可靠性。这种存储布局至少需要一块磁盘,并且不能针对磁盘故障提供保护。
  • 镜像(Mirror):数据在两个或三个物理磁盘上复制,这提高了可靠性,但降低了容量。这种存储布局至少需要两块磁盘用于针对单一磁盘故障提供保护,或者至少需要五块磁盘用于针对同时发生的两起磁盘故障提供保护。
  • 奇偶校验(Parity):数据和奇偶校验信息跨物理磁盘条带化,这提高了可靠性,但一定程度上降低了容量。这种存储布局至少需要三块磁盘用于针对单一磁盘故障提供保护,并且至少需要七块磁盘用于针对两起磁盘故障提供保护。

Windows Server 2012 虚拟化测试:存储

存储空间特性也可以应用在 Windows Server 2012 的故障转移集群中,但要求会更高:

  • 虚拟磁盘提供方式必须是固定(Fiexed,创建时就占据固定容量)。
  • 虚拟磁盘奇偶校验存储布局在 Windows Server 2012 中不被支持,但 2012 R2 支持。
  • 所有物理磁盘必须通过 SAS 链接。
  • 所有物理磁盘必须支持 PR(Persistent Reservation)且通过故障转移集群验证测试。
  • 集群需要共享存储,因而 JBOD 磁盘必须通过 SAS 物理连接所有节点(可以通过 SAS 连接所有节点或者使用 SAS 交换机),因而 DAS 不被支持。

从以上要求看,要使用集群存储空间特性局限性是比较明显的,要与 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。

Windows Server 2012 虚拟化测试:存储

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。

 

Windows Server 2012 虚拟化测试:存储

 

2、Hyper-V over SMB

Hyper-V over SMB 是微软特有的存储解决方案。从下图的网络拓扑看,多了一级 Windows File Server Cluster 作为 Hyper- V 集群的共享存储的提供者,大家也许会认为这样是多此一举,但实际上这样的方案有几个好处:

  • 节约成本,重用旧有资产,使用便宜硬件。如果无需实现文件服务器的高可用性,那么任何一台连接的存储设备的 PC 都可以充当 Hyper- V 集群的共享存储的提供者,文件服务器的存储可以采用任何形式的存储模式(DAS、NAS 和 SAN),因而甚至可以是 PC 中的本地磁盘。如果实现文件服务器的高可以性,那么文件服务器故障转移集群本身也需要共享存储,因而文件服务器集群要么采用 SAN,要么采用共享 SAS 连接 JBOD,但应当推荐如下图所示通过共享 SAS 连接 JBOD。JBOD 比传统的 RAID 存储阵列便宜,它没有控制器,没有 RAID 的高可用性,但配合 Windows Server 存储空间特性,可以在文件服务器集群中实现高可用性和扩展性。
  • 扩展性。文件服务器集群的节点可扩展。另外存储空间可扩展,如下图各个文件服务器节点可连接 2 个以上 JBOD,配合存储空间特性实现大容量虚拟磁盘(存储空间特性需要微软验证的 JBOD 才支持,可以在此查阅通过验证的 JBOD 产品)。
  • 兼容性。多一层文件服务器或文件服务器集群,上层应用只需访问文件服务器而无需知道底层存储的实现细节,因而可以兼容不同型号的产品。如下图两个 JBOD 可以来自不同厂家。
  • 其他好处,关于与 Hyper- V 和其他微软产品的完美配合以及微软的产品简单易用就不提了。

Windows Server 2012 虚拟化测试:存储

实际上上图文件服务器集群不仅可以通过 SMB 也可以通过 NFS 协议和 iSCIS 将存储共享出去。但 SMB 3.0 已经明显强化了采用 SMB 协议的优势。

四、集群共享卷

集群共享卷是 Windows Server 2008 R2 为故障转移集群新增的一项特性。简单来说,集群共享卷使得多个节点对网络中同一位置的访问实现了真正的同步,各节点都拥有该位置的最新状态信息。

当我们使用 Windows 文件共享服务时会这样的经验:在节点 1 打开的共享文件夹 \\fs01\share 中新增了文件 A,但是在节点 2 打开的同样位置 \\fs01\share 却没有文件 A。网络位置 \\fs01\share 虽然是共享文件夹,但是在同一时间只能有一个节点维护其最新状态。在故障转移集群各节点上访问集群共享卷时却没有这样的问题。

集群共享卷的好处远不止上面这一点:

  • 每个集群共享卷都会被映射到每个节点的系统分区下 ClusterStorage 文件夹中,因为各节点访问集群共享卷就如同访问本地路径。如果系统分区在 C 盘,那么集群共享卷 1 的路径默认为 C:\ClusterStorage\Volume1\,其中 Volume1 的名称可以随意更改。
  • 多个虚拟机可以放置在同一个集群共享卷中,即同一个 LUN 中,并且可以正常进行故障转移(这时故障转移的单位不再是 LUN,而是虚拟机),这充分利用了磁盘空间,也省却了为每个虚拟机配置 LUN 的繁琐工作。
  • 即使一个节点和 SAN 之间连接中断或者部分网络中断,集群也可以正常响应,集群将通过 SAN 或网络中完好的部分来重新路由集群共享卷的通信。

Windows Server 2012 对集群共享卷特性做了很大的改进,关于集群共享卷的实现原理详细可以参考 Cluster Shared Volume (CSV) Inside Out 和 Cluster Shared Volumes Reborn in Windows Server 2012: Deep Dive 这两篇文章。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2015-01/112168p2.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计17541字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中