4.3系统管理程序Hypervisor:存储影像独立性
一个逻辑分区LPAR是在processor complex上的一套资源,提供足够的硬件去支持启动和运行一个操作系统(我们叫做一台服务器)的能力。LPAR建立在一台DS8000 processor complex上被用来形成存储影像。这些LPAR共享不仅仅是在processor complex上一般的硬件,包括CPU、内存、内部SCSI硬盘和其他媒体托架(例如DVD-RAM),但也有processor complex之间共同的硬件。这些硬件包括例如I/O enclosures以及安装在内部的适配卡。
p QT&qiX5d _`
h0一个机制必须存在来允许这些共享的资源是无缝的方式。这个机制叫做hypervisor。
`fu*yX0hypervisor提供了如下能力:DOIT博客vy A
q.RdB
Ü 保留内存分区允许留出内存某一确定的部分用于Cache以及某一确定的部分用于NVS。DOIT博客C'a-\7?Po+k
Ü 被保存的内存支持允许NVS和cache内存区域的内容被保护在服务器重启之下。DOIT博客;vhO
u]F'W
Ü 在一个存储影像里的LPAR之间共享I/O enclosures和I/O插槽。
C.axwb5T*wT0Ü I/O enclosures初始化控制以便当一台服务器被初始化时它没有初始化一个另一台服务器使用的I/O适配卡。
t/a)vee7a5ax0Ü 在LPAR之间内存块的移动来允许信息传递。
.K0I1k+w tMb%{u"S']0Ü 能够关闭一个LPAR的一个I/O适配卡插槽或是enclosures或者强行重启另一个LPAR。DOIT博客B`'f&G Wq8?
Ü 自动重启一个停顿的LPAR或hypervisor
~l'P9Rp.s6hue0RIO-G连接也通常叫做RIO-2。每个RIO-G端口能够运行在1GHz双向模式,并且有能力传输数据在端口的每个方向。这建立了一个冗余高速的连接,允许在任意的storage complex上的服务器使用任何RIO-G环路访问资源。如果资源不能从一台服务器上访问,请求能够选择备用RIO-G端口在另一台服务器上发送。
g%A9I
P6a-Q"VV3Am"M0DS8000的I/O enclosures使用热插拔的PCI-X适配卡,这些适配卡是在防护交换热插拔箱内,允许它们同时被替换。每个插槽能够独立的关闭电源来同时更换失效的适配卡,安装一个新的适配卡或移走一个旧的。
$b9n(ak*X0另外,每个I/O enclosures以2个电源和集成的风扇的形式形成N+1电源和冷却。电源能够被同时替换,并且有一个独立的电源为一个I/O抽屉提供直流电的能力。
w.zZ"V ~IuQ0DS8000的设计基于IBM高度的冗余存储架构。它也得益于超过5年发展历史的ESS 2105。DS8000因而也使用了同ESS保护数据完整性相似的方法,在写操作或服务器故障的时候。DOIT博客)r%L'k#Nm _"w,c
^\
4.4.1元数据检查Metadata checks
当应用数据进入DS8000,特殊编码或元数据,也成为冗余校验,被添加到那个数据。这个元数据一直关联着应用数据,当它在DS8000内流转时。元数据被各种各样的内部元件检查确认数据的完整性,当它移动到盘的过程中。在一个读I/O请求被响应时,它也会在数据发送到主机之前被DS8000检查。此外,原数据也包含信息被另外一个级别验证,确认返回给主机的数据是来自于硬盘上需要的位置。DOIT博客3}X4_u lzIp
4.4.2服务器failover和failback
了解服务器failover和failback的过程,我们能够懂得DS8000的逻辑构造。为了更好的了解本节内容,可以查阅第十章,“DS存储管理器—逻辑配置”。
}jT
@N2`^9A0简略的,DS8000上建立逻辑卷,我们的工作通过以下实现:
Kj@)tZe#p_H0Ü 我们从安装在预先定义的array site上的DDM出发。DOIT博客$X7X1hqHZ
T
Ü 这些array site被用来形成RAID-5或RAID-10。
l/i7_I']ac1g0Ü 这些RAID阵列之后成为一个rank的成员。DOIT博客:ZN0v1okg*B
Ü 每个rank之后成为一个extend pool的成员。每个extend pool有一个或是服务器0或是服务器1的亲缘关系。每个extend pool可以是开放系统FB(fixed block)也可以是zSeries CKD(count key data)。
%_fz'x+h\3SR%{KA|0Ü 我们在每个extend pool内部建立逻辑卷,为开放平台的叫做LUN,为zSeries叫做3990卷。LUN代表逻辑单元数字logical unit number,使用SCSI地址。每个逻辑卷属于一个逻辑子系统logical subsystem (LSS)。DOIT博客@|-R%Q+b
对于开放系统的LSS数量是不重要的(除非我们使用拷贝服务),但是对于zSeries,LSS是逻辑控制单元logical control unit (LCU),它们等同于3990(一个DS8000仿真的zSeries磁盘控制器)。它非常重要,如果LSS又一个偶数辨认数字,它就属于服务器0,有一个奇数数字就属于服务器1。当一个开放系统主机发出一个写操作到一个逻辑卷,DS8000 HA直接写到这个逻辑卷所属的拥有那个LSS的服务器上。DOIT博客 \V Rk4v3O A6M/S-uO
如果DS8000被用来操作一个单独的存储设备影像,因而下列的例子涉及到2个服务器,运行在每个processor complex上。如果一个processor complex失效,于是一台服务器将失效。同样的,如果一台服务器它自己失效,于是它将有一样损失processor complex上面运行的应用的影响。DOIT博客6N^2VHk2Y
如果,DS8000被分开成两个存储设备影像,每个processor complex将拥有2个服务器。这样的话,一个processor complex失效带来2个服务器的失效。在每台服务器上的影响相同。failover过程由各个存储影像独立进行。DOIT博客x(|{%i:lux!E
数据流动DOIT博客ZH,P]Dt.n%]
当一个写入发送到一个卷,这个写入一般直接到达拥有这个卷的服务器。数据流是写入放置到服务器的Cache内存里。写入数据也被放置到另外一台服务器的NVS内存中。DOIT博客r ffc-v ]I+a
"O!t'F N]\0
DOIT博客ig1i%Ll'Yq
图4-3正常数据流DOIT博客i}0w*tN p+[
图4-3举例说明了服务器0的Cache内存被用于支持所有偶数LSS成员的逻辑卷。同样的,服务器1的Cache内存被用于支持所有奇数LSS成员的逻辑卷。但是任何写放入Cache,另一个拷贝放置到另一台服务器的NVS内存。因此一个写的正常数据流是:DOIT博客t2ZG#fm2hC
1. 数据写入到自己的服务器cache内存
-H^$^I$^H v02. 数据写入到预备服务器的NVS内存DOIT博客/{aL$l+G5n+z _'}
3. 报告给连接的主机写已经完成DOIT博客
AY9}%p)ywO
4. 写从cache降级到硬盘DOIT博客;CF,O*l5Y"s5G
5. 写从预备服务器上的NVS内存中清除DOIT博客N{1D7L"R"@U7\m