分类: 服务器与存储
2008-06-25 04:35:02
一、存储的鼻祖--DAS
图-1 磁盘架构
在DAS存储中,最基本的设备就是磁盘;不管是传统的IDE (也就是PATA) 硬盘,还是其升级版本SATA; 或者是领域的并行,还是最近火爆的
硬盘通常有三个模块组成:接口电路、Firware、盘片和机械控制电路。数据通过Cable到达接口电路,就是上面所说IDE、SATA、SCSI、FC接口,它完成对应
最后数据通过机械臂写入到盘片,由于盘片可能因为某些坏块而导致,或者数据写入错误。目前,有一种重定向技术,来解决这种问题;例如,写入到某数据块错误 (比如LBA地址 M ),Firmware可以将这个块的数据重新写入一个专用区域块;从而即使该块损坏,也可以通过Mapping,将坏块重定向到好的区域,并完成正常的读写操作。
二、存储的扩展--NAS
2.1 基于的NAS
图-2 采用Linux构建NAS
在中低端NAS领域,可以采用定制的LINUX+SATA作为平台来进行设计,如图-2所示。尽管SATA采用ATA协议集,但是在LINUX下由于SCSI驱动架构比IDE架构 (专门用于IDE硬盘) 扩展能力强,所以还让SATA跑在SCSI架构下面。
在Linux下SCSI驱动架构,自下而上主要分为三层,分别是SCSI Lower Level驱动、SCSI Middle Level驱动,和SCSI Upper Level驱动。最下面是SCSI Lower Level驱动,它和系统提供的Libata模块协作,让各种SATA HBA能够正常的运行,因为系统提供的Libata是按照SATA的规范来抽象出一些共有的东西,所以对于不同的SATA HBA只要去做自己相关的事情,这样就像流水线那样,分工明确,责任清晰,从而也更加易于扩展。
对于SCSI Middle Level驱动,它就像一个中央管理者,负责探寻下面各个SATA HBA上连接的硬盘,并向上层驱动汇报,同时将上层发下来的读写请求转化为对应的某个磁盘上对应的块读写操作。它就像一个调度者,负责协调上下模块之间的动作,在整个SCSI驱动架构中扮演重要的角色。
而基于最上层的SCSI Upper Level驱动,就是针对各种SCSI设备而专门设计,对于磁盘就是通常的sd_mod.o模块。该模块一个最直观的功能就是向系统报告设备名,中众所周知的/dev/sda, /dev/sdb, /dev/sdc等设备名就是由它来完成的。
当构建完底层的卷之后,那么就可以设计文件系统了。文件系统,说的简单点,就是一个大管家,它把你的资料统一管理起来;例如,你不要知道某张图片放在那个磁盘的某个位置,只需要告诉大管家,要看这个文件,那么它就会把该图片取出来。当然,对于文件系统来说,最怕系统崩溃,所以在现代的文件系统设计中都加入了日志功能,对于Linux来说就是常用的Ext2, Ext3。
上面所涉及到的各个模块,在Linux下都有良好的支持,通过对的定制,以及对各种应用程序的适当选择就可以完成;尽管看起来很容易,但实际上在整个通路上的安全问题,是由很多底层的设计人员解决掉封装好,所以用户了解不到。
2.2基于windows的NAS
图-3 基于WINDOWS的NAS设计
针对Linux在这方面的应用,Windows也设计了对应的NAS涉及,如图-3所示。和Linux构建NAS对比,可以发现在架构设计上很多是相通的,毕竟的兴旺发达还是各个大牛们啃开始的。
从图-3中的最底层开始,其中的MiniPort Driver和Linux下的SCSI Lower Level驱动功能类似,同样windows中也有SCSI Port Driver来完成Linux SCSI Middle Level驱动的工作,上面的Disk Class Driver基本和sd_mod.o完成的工作一样;
在它们之上和文件系统之间,windows放入了一个PSM Filter Driver,它和用户模式下的PSM组件一起完成Snapshot的功能;而这些功能,可以在Linux的卷管理模块,如LVM中完成。其上面就是专有的NTFS,它本身也是一个系统;再加上CIFS网络文件系统,一个基于Windows的NAS就横空出世了。
三、存储的贵族--存储网络SAN中的阵列
图-4 DS8000架构
对于,那高贵的血统通常不是普通用户能够接触得到,即使使用也是小心翼翼,倍加呵护;所以其内部架构,也倍显神秘。图-4就是IBM DS8000的内部架构图。
然后对照从上往下看,先是接入SAN Fabric的HBA (Host Adapter),然后数据就进入Processor Complex;经过Processor的处理,然后到达设备控制器 (Device Adapter);在DS8000内部,采用了Fabric ,从而设备控制器会把数据传送给光纤,最终由它传递到磁盘上,注意这里的磁盘采用了双端口技术。
换个角度来看,如果把HBA, Processor和设备控制器结合起来,它就像是一个服务器那样;那么对于DS8000阵列,它包含服务器、光纤交换机、存储磁盘,它本身就像一个SAN环境,自不过这个SAN是一个自封闭的环境,只留下HBA接受外面的SCSI命令。
当然对于EMC和HDS可能采用了不同的架构和设计方法,不过最基本的原理,都是类似的,俗话说“天下武功出少林”。
四、安全与存储,IT的新热点
通过上述对存储设备组成模块,数据移动路径的分析,对于神神秘秘的存储作了初浅的“故事简介”,如果把数据在传输和存储中的安全定义为广义的安全,那么可靠性就是提高安全的关键。
而在存储领域中,可靠性是随处可见,自底而上,贯穿始终:
总之,数据天生就包含到安全和存储两个属性,在以前的应用中,对这一点客户和厂商都没有达到将他们二者统一的观念,将其分为两个不同的领域来处理和对待。但是,随着安全和存储厂商并购的滚滚大流,随着用户对数据重要性认识的越来越深入,安全和存储必将融合。