迄今,对磁盘镜像的讨论仅涉及写操作的镜像。事实上,写操作只占整个磁盘操作的1 0 % ~ 2 0 %左右,大部分磁盘操作都是读操作。因此,增强磁盘读操作的速度是改善性能非常重要的环节。
为了满足性能要求,必须增加一个另外的主机I / O控制器,如图4 - 9所示。图4 - 1 0显示了一个另加主机I / O控制器的例子,磁盘驱动器与磁带驱动器共享器总线,这就限制了路径的带宽,但是给峰值为1 5 M B / s的磁盘驱动器保留了足够的带宽。表4 - 2总结了这个新的配置。
S C S I允许不同速度的设备挂接到同样的总线上,然而当使用不同速度的设备时,性能往往令人失望,S C S I主机适配器使用最小公分母的办法设置其速度,即设置总线的速度为连接到该总线上最慢设备的速度。因此,大部分主机适配器将不得不改变其传输速度,以匹配那个最慢设备的速度。也有一些I / O控制器支持不同速度的多条总线,特别是更新版本的U
使用另外的主机I / O控制器很少是为了性能的原因。但是通常情况下,尽量不要这样配置I / O 路径,即连接到I / O总线的磁盘驱动器的总性能超过它的控制器性能。为了达到最优的性能,应该至少保持2 5 %的空闲路径带宽。
双主机I / O控制器经常用于镜像的磁盘,提供I / O控制器失败的保护,也提高系统的性能。Novell NetWa r e 服务器的系统管理员们称之为“复式磁盘”。一般来说,只有在高可用性的要求下,才使用双控制器,而对于许多一般的应用这是不必要的。
最后一种磁盘镜像的实现位于主机I / O控制器中。像软件镜像一样,主机I / O控制器镜像既可以与内部磁盘控制器一起工作,也可以与J B O D机柜中的磁盘驱动器一起工作。一般地说,主机I / O控制器并不提供镜像功能,但也有一些特别的例外情况,如康柏、A d a p t e c、M y l e x、D P T,A M I和C M D等制造的主机I / O控制器,都提供R A I D 1的
在有充分处理能力的前提下,外部磁盘子系统的镜像可以达到很高的性能。不仅其处理器是存储管理任务所专用的,子系统也是为某些特殊的成分而设计和调试的,再配以其他高速的I / O部件,包括系统处理器和总线,外部磁盘镜像可以达到最优性能。
第二种磁盘镜像位于外部R A I D子系统,R A I D包含着一个智能处理器,能够提供高级的磁盘操作和管理。通常,R A I D机柜中的磁盘并不是由服务器I / O控制器直接寻址,而是由内嵌的I / O控制器寻址。磁盘镜像也称R A I D 1,是R A I D子系统所提供的功能之一。
软件镜像是一个系统的管理应用,它运行在主机系统上,并利用主机的处理器周期和内存资源执行自己的作业。因此,软件磁盘镜像给主机系统增加了负荷,在大多数情况下,这并不成为一个问题。但对于服务器而言,由于已经承担了大量过载的任务,因此,软件镜像将影响服务器的性能。
正如大多数软件情形一样,磁盘镜像也存在几种软件的实现方法。软件磁盘镜像既可以使用内部驱动器(位于服务器机柜中),也可以使用外部J B O D机柜中的磁盘,J B O D(just a bunch of disk )是一个简单的磁盘子系统,能为外部机柜中的多个磁盘驱动器提供电源和I / O连接。
当镜像磁盘对中一个磁盘失败时,就需要替换它,第一个磁盘失败的原因很可能也是第二个磁盘失败的原因,所以要尽快地为这个镜像磁盘对安装新的磁盘。一旦新的磁盘被安装,就要把另一工作磁盘上的数据拷贝过来,这可能是一个自动的过程,但如果拥有了娴熟的镜像技术,也可手工操作。
相比镜像不同的驱动器,镜像具有同样的物理特征的同类磁盘驱动器要简单得多。由于这个原因,镜像的磁盘通常使用相同类型的驱动器,今天磁盘驱动器的价位已经很低,因此,镜像不同特征和容量的磁盘是完全没有必要的。
相比镜像不同的驱动器,镜像具有同样的物理特征的同类磁盘驱动器要简单得多。由于这个原因,镜像的磁盘通常使用相同类型的驱动器,今天磁盘驱动器的价位已经很低,因此,镜像不同特征和容量的磁盘是完全没有必要的。
磁盘镜像并不是简单地将另一个磁盘附加到I / O路径上。为了使镜像能够正常地工作,I / O路径必须处理和管理镜像功能。目前,实现这个功能的方法有几种,本章后面将详细讨论这些方法。现在,只需知道镜像执行在文件系统和I / O总线从属磁盘间的I / O路径上即可。
几十年来,磁盘镜像一直是存储管理的基础,每年这种简单的技术能为企业节省几百万资金,磁盘镜像对于存储管理就像锤子对于木匠一样,是一个最基本的工具。在近期内,它不可能为新的技术所替代,而变成过时的技术。
远地的磁盘系统会将先收到的写请求缓存起来(比如上面的数据C),等到它前面的数据(A,B)到达后,再按照顺序写盘。这种方式也叫做“全局镜像(Global Mirror)
在本文中我们将要讨论的是,如何抛开昂贵的SAN(存贮区域网络Storage Area Network,如全球文件系统GFS)或网络块设备在Linux下实现数据复制。我们在复制系统中采用了FAM(文件变更监视模块)和IMON(信息节点监视模块),这两个系统都是SGI当初为IRIX开发的。
在本文中我们将要讨论的是,如何抛开昂贵的SAN(存贮区域网络Storage Area Network,如全球文件系统GFS)或网络块设备在Linux下实现数据复制。我们在复制系统中采用了FAM(文件变更监视模块)和IMON(信息节点监视模块),这两个系统都是SGI当初为IRIX开发的。
磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相关磁盘一起动作,大幅减低数据的存取时间,同时有更佳的空间利用率。