AubreyHan 发表于 2010-1-3 22:12:43

谈谈常见的存储方面的基础技术

在论坛上看了一圈,讨论产品和使用的多,但是谈存储基本技术的比较少。很多朋友把一些概念搞混了,所以对nas的使用有些疑惑。
我在这个帖子里把存储的一些基本概念做一些说明,希望能抛砖引玉,能帮助到大家。
打算分如下几个部分进行讨论:
1、连接方式:DAS、NAS、SAN
2、数据存放方式:在线存储(实时数据)、近线存储和离线存储(归档和备份)
3、介质技术:磁盘及相关概念(raid、逻辑卷、热备等),光盘、磁带
由于每天时间不固定,所以随时写随时贴,如果有什么不足之处,或者大家如果有什么问题,欢迎随时提出

AubreyHan 发表于 2010-1-5 20:43:21

本帖最后由 AubreyHan 于 2010-1-5 20:57 编辑

先说说存储的连接方式。
目前主流的存储连接方式有3种:DAS,NAS,SAN
DAS:
直链存储,是目前使用最多的存储连接方式。简单的说,就是存储设备(硬盘、光驱、U盘等)直接连接到电脑上,例如PC、笔记本、服务器的内置硬盘、光驱、或者是一些服务器的SCSI盘阵等,都是采用了DAS的连接方式。这种连接方式是最简单直接的,特点是存储设备只能被所链接的主机独享,不能同时被多台主机访问读写数据(HA和一些特殊的文件系统除外)。
NAS:
网络共享存储,说的简单点,就是网上的共享文件夹。放置在NAS里的文件可以被网络上所有的主机访问(当然和权限设置有关)。
SAN:
存储区域网络。从2000年来,SAN逐渐越来越热,开始在企业里大量部署使用。SAN的原理实际上就是把主机和存储设备拆分,通过网络连接起来,如下图:

通过把存储设备上的介质拆分成逻辑单元,分别分配给不同的主机,使得主机可以透明的使用存储设备。
和DAS一样,每个存储的逻辑单元只能从属于一台单独的主机,除非是主机之间采用了HA或者特殊的文件系统。

那么,从使用上来说,这三种连接方式有什么区别?
实际上,DAS和SAN提供了同一个级别的存储方式,它们提供给主机的都是裸盘,换句话说,无论是DAS还是SAN提供给主机的存储设备,主机看到的全是一个一个的硬盘,如果要使用,需要先分区再创建文件系统(在Linux和Unix下,可能会采用逻辑卷lvm的方式进行管理)才能使用,这种存储读写的级别,我们成为块级的存储,所有对存储的操作都是基于数据块的。
而NAS在逻辑层上比DAS或者SAN高了一级,NAS是通过以太网共享的方式提供一个存储空间给客户端使用,客户端拿到这块空间后,直接就可以使用了(Linux和Unix下需要先挂载),而无需分区创建文件系统系统。这种读写操作是基于文件为单位的,所以叫做文件级存储。
那么,什么时候该用DAS、SAN,什么时候该用NAS呢?主要看数据类型。
对于数据库,往往是要对存储基于块级访问,甚至都不需要文件系统,直接访问裸设备(如Oralce的RAC方式),所以所有的数据库都要求不能使用NAS作为存储介质(虽然通过一些技术手段能够实现把数据库放到共享文件夹里,但是官方并不推荐),只能使用DAS或SAN作存储,这种数据称为结构化数据。除了数据库,例如页面缓存等也都是结构化数据。
对于文档、照片、音乐、影片等,访问都是基于文件级的,叫做非结构化数据,而且往往有多人共享的访问需求,就比较适合放置在NAS了。
还有一种特殊的数据类型,主要是邮件服务器如Exchange、Lotus Notes等,数据介于结构化数据和非结构化数据之间,称为半结构化数据,为了高效稳定的访问,一般也是放到DAS和SAN上。
file:///C:/Users/AUBREY%7E1/AppData/Local/Temp/moz-screenshot.png

AubreyHan 发表于 2010-1-6 21:46:06

SAN架构最初提出时,由于以太网的先天不足(如广播风暴,协议公开、病毒、延迟严重等原因),SAN并没有使用IP协议作为SAN网络的协议,而是创建了一套新的存储网络协议,叫做FC协议(因为最开始的时候,SAN主要用光纤作为传输介质,实际上现在很多时候也用铜缆作为介质,特别是磁盘盘阵内部扩展柜的连接)。

既然是网络,那么除了主机和存储设备之外,还有网络连接设备。在SAN网络里,网络连接设备主要有2种:HBA卡和SAN交换机。

HBA卡是安装在主机里的,一般是PCI插槽的卡,类似于网卡,主要作用是把主机连接进SAN网络。

SAN交换机主要功能和网络交换机一样,把SAN环境里的所有设备集中在一起;多台SAN交换机可以级联在一起,形成一个大的SAN网络,这种级联方式叫做ISL,我们把这么一个大的SAN网络叫做一个Fabric。

这种基于FC协议的SAN叫做FC SAN。

随着以太网络的发展以及成本、远距离传输的需要,前两年开始,基于IP的SAN网络开始逐步发展起来,这种SAN叫做IP SAN(或iSCSI)。

使用IP SAN的主机一般叫做iscsi Initiator,可以有2种方式实现:

1)直接使用操作系统附带的iscsi Initiator程序,通过普通以太网卡连接到网络里,称为软iscsi Initiator

2)采用专门的iscsi网卡(iscsi HBA卡),这种卡在普通网卡的基础上还同时实现了TOE(TCP Offload Engine,TCP卸载引擎,直接由网卡对ip数据包进行封装和解包,降低CPU压力)和iscsi Initiator的功能,与第一种方式相对应,称为硬iscsi Initiator。

而iSCSI的网络设备使用的就是和普通以太网一样的网络设备了,不过要打开一些特定端口。

而使用iSCSI的存储设备叫做iscsi target。

FC和IP两种SAN架构相比较,各有优势。FC稳定,速度较快,但是价格高。IP相对比较便宜,可以利用已建设好的网络,但是不稳定,容易受到网络干扰。

kanjell 发表于 2010-1-14 22:34:23

感谢赐教,学到了很多东西

cappie 发表于 2010-4-26 11:20:23

感谢赐教,终于知道原来iSCSI就是基于IP的SAN
页: [1]
查看完整版本: 谈谈常见的存储方面的基础技术