磁盘延伸(Disk Spanning):
译为磁盘延伸,能确切的表示disk spanning这种技术的含义。如图磁盘阵列控制器, 联接了四个磁盘,这四个磁盘形成一个阵列(array),而磁盘阵列的控制器(RAID controller)是将此四个磁盘视为单一的磁盘,如DOS环境下的C:盘。这是disk spanning的意义,因为把小容量的磁盘延伸为大容量的单一磁盘,用户不必规划数据在 各磁盘的分布,而且提高了磁盘空间的使用率。并使磁盘容量几乎可作无限的延伸;而各 个磁盘一起作取存的动作,比单一磁盘更为快捷。很明显的,有此阵列的形成而产生 RAID的各种技术。
磁盘或数据分段(Disk Striping or Data Striping):
因为磁盘阵列是将同一阵列的多个磁盘视为单一的虚拟磁盘(virtual disk),所以其数 据是以分段(block or segment)的方式顺序存放在磁盘阵列中,数据按需要分段,从第一 个磁盘开始放,放到最後一个磁盘再回到第一个磁盘放起,直到数据分布完毕。至于分段 的大小视系统而定,有的系统或以1KB最有效率,或以4KB,或以6KB,甚至是4MB或8MB 的,但除非数据小于一个扇区(sector,即521bytes),否则其分段应是512byte的倍数。 因为磁盘的读写是以一个扇区为单位,若数据小于512bytes,系统读取该扇区后,还要 做组合或分组(视读或写而定)的动作,浪费时间。从上图我们可以看出,数据以分段于在 不同的磁盘,整个阵列的各个磁盘可同时作读写,故数据分段使数据的存取有最好的效 率,理论上本来读一个包含四个分段的数据所需要的时间约=(磁盘的access time+数据 的tranfer time)X4次,现在只要一次就可以完成。
若以N表示磁盘的数目,R表示读取,W表示写入,S表示可使用空间,则数据分段的性能 为: R:N(可同时读取所有磁盘) W:N(可同时写入所有磁盘) S:N(可利用所有的磁盘,并有最佳的使用率)
Disk striping也称为RAID 0,很多人以为RAID 0没有甚么,其实这是非常错误的观念, 因为RAID 0使磁盘的输出入有最高的效率。而磁盘阵列有更好效率的原因除数据分段 外,它可以同时执行多个输出入的要求,因为阵列中的每一个磁盘都能独立动作,分段放 在不同的磁盘,不同的磁盘可同时作读写,而且能在快取内存及磁盘作并行存取 (parallel access)的动作,但只有硬件的磁盘阵列才有此性能表现。
从上面两点我们可以看出,disk spanning定义了RAID的基本形式,提供了一个便宜、 灵活、高性能的系统结构,而disk striping解决了数据的存取效率和磁盘的利用率问 题,RAID 1至RAID 5是在此基础上提供磁盘安全的方案。
RAID 1
RAID 1是使用磁盘镜像(disk mirroring)的技术。磁盘镜像应用在RAID 1之前就在很 多系统中使用,它的方式是在工作磁盘(working disk)之外再加一额外的备份磁盘 (backup disk),两个磁盘所储存的数据完全一样,数据写入工作磁盘的同时亦写入备份 磁盘。磁盘镜像不见得就是RAID 1,如Novell Netware亦有提供磁盘镜像的功能,但并 不表示Netware有了RAID 1的功能。一般磁盘镜像和RAID 1有二点最大的不同:
RAID 1无工作磁盘和备份磁盘之分,多个磁盘可同时动作而有重叠(overlaping)读取的 功能,甚至不同的镜像磁盘可同时作写入的动作,这是一种最佳化的方式,称为负载平衡 (load-balance)。例如有多个用户在同一时间要读取数据,系统能同时驱动互相镜像的 磁盘,同时读取数据,以减轻系统的负载,增加I/O的性能。
上一篇:SC101 NETGEAR网络数据存储中心
下一篇:(连载)网络存储导论第七章:用SAN实现远程容灾
|