[置顶] SQL Server AlwaysON从入门到进阶(2)——存储
来源:程序员人生 发布时间:2017-02-16 09:31:40 阅读次数:5271次
本文属于SQL Server AlwaysON从入门到进阶系列文章
前言:
本节讲授关于SQL Server 存储方面的内容,相对其他小节而言这节比较短。本节会提供1些关于使用群集或非群集系统进程中对存储的利用建议。固然,重点还是集中在对1个标准的AlwaysOn可用组配置进程中,对存储的选择和配置上面。
AlwaysOn的部署首先建立在1个Windows Server Failover Cluster(WSFC)上。并且每一个服务器通常有1个独立的SQL Server实例。另外,每一个服务器使用其本地存储来寄存独立的SQL Server实例的数据库文件(数据文件、日志文件、备份文件等)。虽然所有火伴节点都属于同1个群集,但是不需要基于硬盘见证或故障转移实例,也没有同享存储的要求。从而避免了FCI中的同享存储单点故障风险。但是AlwaysOn可用组可使用FCI作为可用副本。这个不但又重新引入单点故障的风险,也增加了群集对节点的复杂度。
言归正传,现在来看1下存储系统的核心内容:
- 本地存储(Localized)
- 网络存储(Networked)
下面来详细介绍1下:
本地附加存储(Locally Attached Storage):
这类模式下,本地存储是直接连到
服务器上,硬盘直接插入硬件背板(backplane),然后连到
服务器的主板上。较老的配置可能会包括将通过68/80针电缆连接到PCI总线的扩大RAID控制器上。
下图是1个典型的本地存储示意图。这是相对来讲路径断和复杂度低的,可提供快速硬盘访问的方式。背板有1个输入输出BIOS,可以用于控制横跨本地硬盘的RAID阵列的硬盘冗余功能,但是由于硬件
服务器的限制,通常最大只有16个硬盘可用。
这是典型的没有网络存储的节点中的单独存储示意图,在WSFC中,没有独立的存储同享给其他节点。这也使得查分节点的物理位置进程中,不需要对存储进行复制。
网络存储(Network Storage):
网络存储可以作为资源提供给多个计算机系统。有1个中央存储库通过下降很狂每一个
服务器的多个阵列的接触点从而更加简单地管理这些硬盘。以下图所示,通常系统中有很多
服务器通过光纤(Fibre Channel,FC)网络互联,通常也称为“Fabric”。计算机通过1个Host Bus Adapter(HBA卡,
主机总线适配器是网络与交换,是能插入计算机或大型主机的板卡),实际上HBA卡类似于1个网卡。
各个
服务器也能够通过iSCSI网络进行互联,这个网络相对较新但带宽受限(1Gbps)。它运行在标准的、隔离的TCP\IP网络。
服务器通常使用专用网卡,只用于iSCSI和TCP通讯从而下降负载,意味着iSCSI的流量控制被分摊出来。现代iSCSI已可以处理上限为10Gbps的带宽数据。对iSCSI配置的好处之1是它币传统的FC网络更加经济。但是,也不总是这样。
当有很多
服务器发送要求给存储进程并从中接收结果时,可以快速发现在FC网络中产生了多少流量。正如TCP\IP网络那样,你会发现FC网络会被堵满。然后存储区域的网络会因此产生性能问题。在复杂的SAN配置中,会有多个交换机连接大量的网线和额外电源需求。如上图,可以看到这类情况下数据活动路径和复杂度都明显变大。
在这么长的路径和复杂路由中提出I/O要求,会消耗很多事件和其他开消。关于整合的存储,这类系统能提供甚么呢?这类存储可以更容易地调配和交付资源给大范围的数据。然后就像虚拟化,不是每一个实体都可以用。
这类模式的存储也经常使用于SQL Server 的FCI中,LUNs从磁盘阵列中划出来,而且数量巨大。这里的缺点是阵列可能被以128KB的块大小格式化。这个大小对SQL Server来讲并不是最优化。其优点是,当被公道配置后,存储要求几近可以不到末端阵列。由于要求可以直接产生在高速内存缓冲区,然后缓存的数据在适合的时间点被刷到硬盘从而下降对性能的影响。在停电时,后备电源也会把缓存中的数据刷新到硬盘以避免数据丢失。
另外还有1种网络存储可用于在高可用节点中同享存储又避免多个主机连接的开消。这类存储类型称为Direct Attached Storage(DAS,直接附加存储),这类系统专门为可使用基于私有光纤连接、基本上可以归到本地化的利用而设计。下面是1个典型的私有高可用存储配置示意图:
这个场景下,如果想创建私有高可用群集,会略微比本地存储更好。1些存储供应商提供通过光纤连接的装备,并可以有最多两个主机连接到高可用方案的多个路径中。多个阵列存储模块可以顺便增加可用存储量。
这类存储也能够用于SQL Server FCI中。这类方式合适在特定环境下的小型或简单群集中少数几个节点同享存储之用。你可能已注意到上图中LUNs的方式是1个方框,这是由于不是所有的Windows系统的逻辑硬盘底层都有独立的物理阵列。上图的情形也是最多见的配置中,磁盘被设置为1个较大的阵列。
想象1个大蛋糕。或在这类情况下,从物理硬盘池中创建的阵列。切下1块蛋糕或从阵列中划出1个LUN用于给Windows作为逻辑硬盘之用。
总结:
这1篇介绍了为群集和独立的SQL Server实例配置稳定坚固的典型存储要求。下1节会侧重介绍支持WSFC和FCI及AlwaysOn可用组所需的基础设施。
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠