存储网络 Day11 存储网络的应用
6.3数据的可用性
如今,数据的可用性是IT系统的重要要求。本节讨论如何在各种错误条件下维护数据和应用程序的可用性。单独地,将讨论以下内容:I / O总线故障(第6.3.1节),服务器故障(第6.3.2节),磁盘子系统故障(第6.3.3节)以及放置在存储网络中的存储虚拟化实例失败(第6.3.4节)。案例研究“保护重要数据库”讨论了一种情况,其中将先前讨论过的保护措施结合起来,以保护应用程序免受整个数据中心的故障(第6.3.5节)。
6.3.1 I / O总线故障
防止I / O总线故障的保护相对简单,涉及在服务器和存储设备之间安装多个I / O总线。图6.11显示了SCSI的场景,图6.12显示了一个用于光纤通道的场景。在图6.12中,通过两个彼此独立的存储网络实现了对I / O总线故障的保护。这种单独的存储网络也称为“双存储网络”或“双SAN”。
问题在于:操作系统通过三主机总线适配器,SCSI目标ID和SCSI逻辑单元号(LUN)管理存储设备。例如,如果从服务器到磁盘子系统有两个连接,则操作系统会识别两次相同的磁盘(图6.13)。
所谓的多路径软件识别出可以通过多个路径访问存储设备。图6.14显示了多路径软件如何重新集成图6.13中两次找到的磁盘,以再次形成一个磁盘。多路径软件可以根据产品的不同点起作用:
·在卷管理器中(图6.14,右);
·作为卷管理器和磁盘子系统的设备驱动程序之间的附加虚拟设备驱动程序(图6.14,左);
·在磁盘子系统的设备驱动程序中;
·在主机总线适配卡的设备驱动程序中。
图6.11服务器和磁盘子系统之间的冗余SCSI电缆可防止SCSI电缆,SCSI主机总线适配器或磁盘子系统中的连接端口发生故障。
图6.12所谓的双存储网络(双SAN)将冗余SCSI电缆的概念扩展到存储网络。
图6.13问题:由于冗余I / O路径,操作系统会多次识别单个物理或虚拟磁盘。
光纤通道计划在FC-3层实现此功能。 但是,这部分光纤通道标准尚未在实际产品中实现。 我们认为,在光纤通道协议栈中实际实现这些功能的可能性微乎其微。 过去,保持网络协议尽可能简单并在终端设备中实现必要智能的原则在网络中占了上风。
图6.14解决方案:多路径软件将多个识别的磁盘重新组合在一起。 可以在操作系统的各个点实现多路径软件。
目前市场上可用的多路径软件在使用冗余I / O总线的模式上有所不同:
活动/被动模式
在主动/被动模式下,多路径软件管理服务器和存储设备之间的所有I / O路径。只有一个I / O路径用于实际数据流量。如果活动I / O路径发生故障,则多路径软件会激活其中一个I / O路径,以便通过此路径发送数据。
活动/主动模式
在主动/主动模式下,多路径软件使用服务器和存储设备之间的所有可用I / O路径。它在所有可用的I / O通道上均匀分配负载。此外,多路径软件持续监控各个I / O路径的可用性;它根据可用性激活或停用各个I / O路径。
很明显,主动/主动模式比主动/被动模式更好地利用底层硬件,因为它结合了容错和负载分配。
6.3.2服务器故障
防止整个服务器的故障有点棘手。这里唯一可以帮助的是提供第二台服务器,以便在发生故障时接管实际应用服务器的任务。所谓的集群软件监视两台计算机的状态,如果第一台计算机出现故障,则在第二台计算机上启动应用程序。
图6.15显示了文件服务器的集群,其磁盘通过光纤通道SAN连接。两台计算机都可以访问磁盘,但只有一台计算机主动访问它们。存储在磁盘上的文件系统通过网络文件系统(如NFS或CIFS)导出。为此,为群集配置虚拟IP地址(vip)。客户端通过此虚拟IP地址访问文件系统。
如果第一台计算机出现故障,群集软件将自动启动以下步骤:
1.激活备用计算机上的磁盘。
2.文件系统检查存储在磁盘子系统上的本地文件系统。
3.在备用计算机上安装本地文件系统。
4.传输虚拟群集IP地址。
5.通过虚拟群集IP地址导出本地文件系统。
图6.15防止服务器故障的服务器集群:服务器1通过虚拟IP地址“vip”导出文件系统“/ fs”。
此过程对于文件服务器的客户端是不可见的,除了它们无法在短时间内访问网络文件系统之外,因此可能必须重复文件访问(图6.16)。
服务器群集和冗余I / O总线是完全独立的两种措施。 实际上,如图6.17所示,这两个指标仍然相结合。 多路径软件比集群软件更快地对I / O总线中的错误作出反应,因此冗余I / O总线的额外成本通常是合理的。
图6.16主服务器故障 备用服务器激活磁盘,检查本地文件系统的一致性,并通过虚拟IP地址“vip”将其导出。
图6.17服务器群集和冗余I / O总线是独立的概念。
6.3.3磁盘子系统故障
在第2章中,我们讨论了磁盘子系统如何实现一系列措施来提高自身的容错能力。然而,磁盘子系统有时可能会发生故障,例如在发生火灾或水损坏等物理损伤或根据制造商根本不应发生的故障时。在磁盘子系统出现故障时唯一有用的是镜像两个磁盘子系统上的数据。
镜像(RAID 1)是一种虚拟化形式,第5.1节讨论了各种实现位置。与磁盘子系统中用于防止其故障的经典RAID 1相反,数据镜像在两个不同的磁盘子系统上,这两个子系统尽可能由防火墙隔开并连接到两个独立的电路。从减少服务器负载的角度来看,磁盘子系统以远程镜像的形式实现镜像是最佳的(图6.18,参见第2.7.2节和第5.1节)。
但是,从容错的角度来看,通过磁盘子系统的远程镜像表示单点故障:如果磁盘子系统中的数据在通往磁盘子系统的路上被伪造(控制器故障,连接端口故障),数据的副本也是错误的。因此,从容错的角度来看,卷管理器或应用程序本身的镜像是最佳的(图6.19)。在这种方法中,数据通过两个不同的物理I / O路径写入两个不同的磁盘子系统。
与远程镜像相比,卷管理器镜像的另一个优点是由于这两种变体集成到操作系统中的方式。卷管理器镜像是每个良好卷管理器的可靠组件:卷管理器自动响应故障并重新启动磁盘子系统。另一方面,今天开放系统领域的操作系统还不擅长处理磁盘子系统创建的磁盘副本。切换到这样的副本通常需要手动支持。虽然从技术上讲,可以对磁盘子系统的故障或重启进行自动化反应,但是由于缺少与操作系统的集成,因此需要额外的脚本。
图6.18磁盘子系统的远程镜像可防止磁盘子系统发生故障。
图6.19卷管理器镜像通常是磁盘子系统远程镜像的有利替代方案,可防止磁盘子系统发生故障。
另一方面,有一些论据支持远程镜像。除了上面讨论的性能优势之外,我们还应该提到远程镜像支持比卷管理器镜像更远的事实。根据经验,卷管理器可以在服务器和磁盘子系统之间最多使用6到10公里的距离;为了更远的距离,目前必须使用远程镜像。此外,远程镜像在避免重大故障发生时避免数据丢失方面具有优势。我们将在业务连续性的背景下仔细研究这方面(第9.5.5节)。
为了业务连续性,我们将在故障安全和无损操作方面制定卷管理器镜像和远程镜像的非常不同的特性(第9.4.2节)。在确定是否应使用卷管理器镜像或远程镜像时,高可用性和无损操作的要求通常是决定性因素。稍后我们将证明,只有将两种技术结合在一起才能满足某些要求(见第9.5.6节)。
图6.20显示了如何组合卷管理器镜像,服务器群集和冗余I / O总线。在此配置中,磁盘的管理稍微复杂一些:每个服务器看到磁盘子系统可用的每个磁盘四次,因为每个主机总线适配器通过磁盘子系统的两个连接端口找到每个磁盘。此外,卷管理器镜像两个磁盘子系统上的数据。图6.21显示了服务器中的软件如何将操作系统识别的磁盘重新组合在一起:文件系统将数据写入卷管理器提供的逻辑磁盘。卷管理器镜像两个不同虚拟磁盘上的数据,这些虚拟磁盘由多路径软件管理。多路径软件还管理两个磁盘的四个不同路径。此处不可见从磁盘子系统导出的磁盘是否也在磁盘子系统中虚拟化。
图6.20所示的配置为各种组件的故障提供了良好的保护,同时提供了高水平的数据和应用程序可用性。但是,这个解决方案需要付出代价。因此,在实践中,出于成本原因,有时会省去一种且有时是另一种保护措施。通常,例如,使用以下参数:'数据通过RAID镜像到磁盘子系统中,并通过网络备份进行额外保护。那应该够了。
图6.20服务器群集,卷管理器镜像和冗余I / O总线的组合使用。
6.3.4存储网络中的虚拟化失败
存储网络中的虚拟化是整合大型存储网络中存储资源的重要技术,可以集中管理多个磁盘子系统的存储资源(第5章)。但是,有必要明确这样一个事实,即这种中央虚拟化实例恰好代表单点故障。即使虚拟化实例受到诸如集群等措施的单个组件故障的保护,整个数据中心的数据也可能由于虚拟化实例中的配置错误或软件错误而丢失,因为存储虚拟化旨在跨越数据中心的所有存储资源。
因此,同样的注意事项适用于保护位于存储网络中的虚拟化实例(第5.7节)以防止故障,作为防止上一节中讨论的磁盘子系统故障的措施。因此,在存储网络中进行虚拟化的情况下,还应考虑通过两个虚拟化实例从服务器镜像重要数据。
图6.21使用冗余I / O总线进行卷管理器镜像的逻辑I / O路径。
6.3.5基于案例研究“保护重要数据库”的数据中心故障
上面讨论的服务器群集,冗余I / O总线和磁盘子系统镜像(卷管理器镜像或远程镜像)的措施可防止数据中心内组件的故障。但是,如果整个数据中心发生故障(火灾,水损坏),这些措施将毫无用处。为防止数据中心故障,必须在备份数据中心复制必要的基础架构,以继续运行最重要的应用程序。
图6.22为了保护重要数据库,卷管理器镜像两个不同磁盘子系统上的数据文件和日志文件(1)。数据库服务器和数据库服务器与磁盘子系统之间的I / O总线设计有内置冗余(2)。在备份数据中心中,仅镜像日志文件(3)。在那里,日志文件以延迟(4)集成到数据集中。在正常操作中,备份数据中心中的第二计算机和第二磁盘子系统用于其他任务(5)。
图6.23如果主数据中心发生故障,备份数据中心中的两台计算机将配置为群集。 同样,数据库的数据通过卷管理器镜像到第二个磁盘子系统。 因此,备份数据中心可以使用与主数据中心相同的配置。
图6.22显示了基于案例研究“保护重要数据库”的主数据中心与其备份数据中心之间的交互。在案例研究中,使用了本节中讨论的用于防止组件故障的所有措施。
在主数据中心,所有组件都设计有内置冗余。主服务器通过两个独立的光纤通道SAN(双SAN)连接到两个磁盘子系统,数据库的数据存储在这两个子系统上。双SAN的优势在于,即使在SAN中出现严重故障(有缺陷的交换机,使SAN损坏了框架),通过其他SAN的连接仍然保持不变。服务器和存储设备之间的冗余路径由适当的多路径软件管理。
使用RAID过程配置每个磁盘子系统,以便纠正相关磁盘子系统中各个物理磁盘的故障。此外,数据在卷管理器中进行镜像,以便系统可以承受磁盘子系统的故障。两个磁盘子系统在主数据中心中彼此相距一定距离。它们通过防火墙彼此分开。
与磁盘子系统一样,这两台服务器在空间上由防火墙隔开。在正常操作中,数据库在一台服务器上运行;与此同时,第二台服务器用于其他不太重要的任务。如果主服务器出现故障,群集软件将自动在第二台计算机上启动数据库。它还终止了第二台计算机上的所有其他活动,从而使其所有资源完全可用于主应用程序。
远程镜像通过IP连接进行。镜像利用数据库数据结构的知识:以与文件系统中的日志记录类似的方式(第4.1.2节),数据库将每个更改写入日志文件,然后将其集成到实际数据集中。在该示例中,仅在备份数据中心中镜像日志文件。完整的数据集仅在镜像开始时传输到备份数据中心。此后,此数据集仅在日志文件的帮助下进行调整。
这有两个优点:主数据中心和远程备份数据中心之间的强大网络连接非常昂贵。仅通过将更改传输到日志文件,可以将此连接的必要数据速率减半。这降低了成本。
在备份数据中心中,日志文件在延迟两小时后被集成到数据集中。因此,备份数据中心始终提供两小时的数据集副本。这另外可以防止应用程序错误:如果在数据库中意外删除了表空间,则用户有两个小时的时间来注意错误并中断复制备份数据中心中的更改。
第二服务器和第二磁盘子系统也在备份数据中心中运行,其在正常操作中可以用作测试系统或用于其他较少时间关键的任务,例如数据挖掘。如果将数据库的操作移动到备份数据中心,则会暂停这些活动(图6.23)。第二台服务器配置为集群中第一台服务器的备用服务器;第一个磁盘子系统的数据通过卷管理器镜像到第二个磁盘子系统。因此,备份数据中心中提供了完全冗余的系统。
使用当前技术可以实现这里讨论的案例研究。但是,它需要付出代价;对于大多数应用来说,这个成本肯定是不合理的。案例研究的重点是强调存储网络的可能性。在实践中,您必须确定需要多少故障保护以及可能花费多少。在一天结束时,防止数据丢失或临时不可用应用程序的成本必须低于数据丢失或应用程序本身的临时不可用性。
应用程序经济高效的故障保护是规划IT系统的一个重要方面。第9章深入探讨了应用程序可用性的要求,并描述了技术上最佳的解决方案和从业务角度认为必要的解决方案,因此在经济上是最明智的。
[注:本文部分图片来自互联网!未经授权,不得转载!每天跟着我们读更多的书]
互推传媒文章转载自第三方或本站原创生产,如需转载,请联系版权方授权,如有内容如侵犯了你的权益,请联系我们进行删除!
如若转载,请注明出处:http://www.hfwlcm.com/info/119041.html