1.6 从管理员角度来看VSAN的样子
当VSAN启用的时候,一个共享的数据存储就开始展现给该VSAN群集中的所有主机。这就是VSAN强大的地方——它以数据存储的形式出现。就像现在所有其他存储解决方案一样,这个数据存储能用来存储虚拟机及其所关联的组件,例如虚拟磁盘、交换文件和虚拟机配置文件。当你在部署一台新的虚拟机的时候,你将会看见一个熟悉的界面,其中列出了可用的数据存储,包括基于VSAN的数据存储(如图1-4所示)。
图1-4 一个普通的数据存储
这个VSAN数据存储是在主机的本地存储资源之外形成的。通常来说,在一个启用了VSAN的群集中所有的主机都要为这个共享的数据存储贡献出自己的性能(闪存)和容量(磁盘)。这意味着当群集逐渐扩大的时候,数据存储也会随之成长。VSAN因此被称为横向扩展(在群集中添加主机)的存储系统,但是也允许纵向扩展(给主机增加资源)。
每台为VSAN群集贡献存储容量的主机都至少需要有一个闪存设备和一个容量设备(磁盘或闪存)。为了构成共享存储,VSAN要求群集中至少有3台主机把自己的存储提供给共享的数据存储使用(或2台主机,如你决定使用1台见证主机,这常见于ROBO配置时),其他群集中的主机可以不贡献自己的存储而仅仅只是利用这些存储资源。图1-5显示一个具有4台主机的群集,其中的3台(esxi-01、esxi-02和esxi-03)贡献了自己的存储,第四台主机没有提供自己的存储,而只是作为消费者去使用存储资源。尽管一个带有不贡献存储的主机的非统一的群集在技术上是可行的,但是为了总体上获得更好的利用率、更佳的性能和更高的可用性,VMware强烈建议创建一个所有的主机都贡献自己的存储的统一群集。
图1-5 非统一的VSAN群集的示例
现今VSAN的界限无论从容量还是网络连接的角度来看都在于vSphere群集。这意味着VSAN支持单个群集/数据存储最多64主机,不过单个vCenter Server实例则可以管理多达64个群集。但对于大多数客户而言,实践中往往会限制群集的主机数到大概20台左右。这主要是出于运营上的考量,比如考虑到更新整个群集所需的时间会很长。每台主机最多可以支持200台虚拟机,一个64台主机的VSAN群集中最多可以容纳6400台虚拟机。可以想象,在这么大规模的存储系统上,性能和响应时间是至关重要的。VSAN设计使用了闪存来提供用户期望的性能体验。闪存资源被用于所有的写入操作,而且根据硬件配置的不同(全闪存或混合配置),读操作往往也是由闪存提供的。
为了保证部署的虚拟机可以带有某些特性,VSAN允许你为每台虚拟机或每块虚拟磁盘分别配置策略。这些策略可以帮助你实现为工作负载定义的服务水平目标(service level objective, SLO),这可以是性能相关的特性——例如读缓冲或磁盘条带,但也可以是可用性相关的特性——例如用来保证虚拟机磁盘(以及其他重要文件的)的策略副本的放置。
如果曾经用过虚拟机存储策略,你或许会产生疑惑——是不是保存在同一个VSAN数据存储上的所有虚拟机都必须配置相同的虚拟机存储策略呢?事实并非如此。VSAN允许在同一个数据存储上给不同的虚拟机提供不同的策略,甚至是给同一个虚拟机的不同虚拟磁盘提供不同的策略。
如前所述,通过利用策略,弹性等级可以根据每块虚拟磁盘的粒度来进行配置。一个镜像副本会存在于多少台主机和多少磁盘上将取决于所选择的策略。因为VSAN可以使用由策略定义的镜像副本(RAID-1)或纠删码(RAID-5/6)来提供弹性,所以不需要本地RAID组。换而言之,主机提供给VSAN存储空间的磁盘应该只需要简单地提供一组磁盘即可。
不管你定义的策略可以容忍1台主机故障,还是要容忍3台主机同时发生故障,VSAN都会保证你的对象有足够多的副本被创建出来。下面的例子描述了VSAN和大多数现有的其他虚拟存储解决方案之间的主要区别,以及这对于VSAN有多么重要。
示例
我们已经配置好了一个可容忍1台主机故障的VSAN存储,并创建了一个新的虚拟磁盘。我们已决定将允许的故障数设为1,即形成RAID-1配置。这意味着VSAN将创建两个完全一样的存储对象和一个见证(witness)对象。见证是一个和虚拟机绑定的对象,用来帮助VSAN判断故障时谁将赢得所有权。如果你熟悉群集技术,可以把见证看成是在故障事件发生时决断所有权的仲裁(quorum)对象。图1-6可能有助于阐明这些有时不太好理解的概念,它描述了可以容忍一个故障(这个故障可以是主机、网卡、磁盘或闪存设备)的情况下一台带有一块虚拟磁盘的虚拟机看上去是怎样的。
图1-6 VSAN允许的故障数
在图1-6中,虚拟机运行在第一台主机(esxi-01)上,而它的虚拟磁盘位于群集的其他主机(esxi-02和esxi-03)上。在这个场景中,VSAN网络用于存储I/O,使得虚拟机可以在群集中自由移动而无须随着计算资源的迁移而移动存储对象。不过,这导致了实施VSAN所需的第一个必要条件:VSAN要求最少一个专用的千兆网络端口,不仅如此,VMware推荐给VSAN网络提供万兆以太网连接。
是的,这看上去可能还是有点复杂,但平心而论,VSAN将所有这些复杂性都遮掩掉了,我们将在本书余下的章节中进一步阐述这一点。