【大话存储】学习笔记(10~13章),NAS、IP SAN

DAS , SAN , NAS

NAS

LUN只是一个卷设备,对主机而言就是一块硬盘,我们的操作系统集成了文件系统的功能,可以用来管理卷。而 NAS就是把文件系统从主机迁移到磁盘阵列上,自己来管理。使用者只需要通过网络告诉这个文件系统需要存取什么文件而不需要向NAS传递LBA地址。

那么** NAS与SAN的区别**是什么?
SAN是网络上的磁盘,NAS是网络上的文件系统。

  • SAN:存储区域网络,是网络上的磁盘,其本质只是一个网络,包含了主机、适配器等一切后端存储相关的内容。可以说SAN包含NAS。

  • 一般把FC网络上的磁盘叫做SAN,以太网上的文件系统叫NAS

另外, FTP服务器属于NAS吗?不属于,为什么?

我们知道网络文件系统与本地文件系统最大的区别是传输方式从主板的导线变成了以太网络,也就是传输的距离可以更快了。但是FTP实际上必须把文件传输到本地的某个目录才能执行,而网络文件系统不需要将数据复制到本地再进行访问,可以进行挂载。

image.png

NAS与SAN之争

谁更快

NAS主要实现虚拟目录层与文件系统层的通信,使用的是“以太网+TCP/IP”,为了处理TCP/IP和以太网逻辑,增加了不少的CPU指令,同时使用的是以太网等低速介质。

而FC SAN中,FC逻辑有很大一部分由HBA卡完成,同时FC协议的速度比以太网更快,所以整体来说FC SAN肯定更快。

但是在大量随机小块IO的场景下,因为NAS系统对并发IO进行了优化,而且文件系统逻辑由专门的设备处理,所以性能可能会比SAN更高。

既然这样,为什么还需要使用NAS呢?因为

  • 最重要的文员是NAS成本更低,不需要昂贵的FC HBA卡和FC交换机。
  • 基于以太网、TCP/IP,扩展性强
  • 可以提供多种协议访问。网络文件系统通过HTTP、FTP等协议进行访问,而SAN只有SCSI协议。
  • 采用专门的设备处理文件系统逻辑, 可以解放主机CPU和内存,适合在CPU密集的应用环境。
  • NAS可以在一台盘阵上实现多台客户端同时访问。SAN的LUN一般只能分配给某个主机,只有通过集群系统对数据一致性进行了保证以后,才能实现LUN共享
image.png

所以单纯的讨论** SAN好还是NAS好**是没有意义的,我们更需要的是根据场景、成本等要素来决定到底使用NAS还是SAN。

我们可以把目前的应用分为两种:IO密集与CPU密集

  • CPU密集:程序内部逻辑复杂,但是对磁盘IO访问量不高。比如高性能运算

  • IO密集:内部逻辑不复杂,但是需要随时存取硬盘的,比如Web应用

  • IO和CPU同时密集:不适合单机运行,需要组成集群

对于高并发随机小块IO,或者共享访问文件的环境,因为NAS做了很多的优化,此时应该优选NAS。而对于大块顺序IO密集的环境,NAS比SAN慢,所以优选SAN。

与SAN和与NAS设备通信的过程

对主机而言,如果与SAN通信,必须通过文件系统。当应用程序发出指令后,文件系统会计算LBA地址,然后通过FC网络告诉SAN。SAN取出数据,通过FC网络传送给主机,然后放入程序的缓冲区。

那与NAS设备通信呢?程序只需要告诉NAS设备路径+文件即可,也就是说通过操作系统的虚拟目录与NAS进行对话,通过TCP/IP+以太网进行传输,后面的过程就都在NAS设备内部了,它会查找要取的文件的扇区位置,存储数据。

其实NAS设备还可以进行拆分,它可以把硬盘拆分出去,只是做为一个专门处理文件逻辑的设备而存在,这就是NAS网关

image.png

DAS、NAS、SAN

DAS:最原始的存储:直接存储。存储设备只用与独立的主机。比如PC中的磁盘或者只有一个外部SCSI接口的JBOD

DAS(仅供自己使用)到SAN(出租仓库给其他的租户),到NAS(集中式理货服务外包)

SAN是一种网络,而不是某种设备。只要是专门向服务器传输数据的网络就可以称为SAN。

NAS设备通过以太网向主机提供文件级别的数据访问,以太网络就是SAN。

习惯性的将FC SAN架构称为SAN

NetApp的NAS

NetApp的NAS极大的借鉴了数据库管理系统的设计,本小节主要讲解一下NetApp的NAS的基本思想。

利用了数据库管理系统的设计

我们知道数据库管理系统是这样记录日志的,在某个时刻,数据库管理系统接收到应用程序的SQL更新语句,首先将数据修改前的状态以日志的形式保留在内存的日志缓存区,然后覆写原来的数据。

因为日志缓存区是内存的一部分,所以如果掉电则数据丢失,所以每隔一段时间或者说程序进行提交事务时,管理系统会把日志推到磁盘中。同理,也会把缓存中更新过的数据块写入磁盘。

只有当日志确实写入到硬盘上的日志文件中的时候,才会对上层应用返回执行成功。
具体过程可以参见数据库(五),事务

NetApp借鉴了这种设计思想,它会将文件系统中的写入请求作为操作日志写入到NVRAM中保存。

NVRAM不用电池也可以在不供电的情况下保存数据,而NetApp使用的是带电池保护的RAM,下文姑且称其为NVRAM.

为什么要使用NVRAM而不像数据库一样使用文件来保存日志的呢?

对于数据库系统来说,先将日志写入到内存中日志缓冲区,再在触发条件下将日志写入磁盘上的文件。一旦意外掉电,内存中的日志没有来得及保存到硬盘就丢失,数据库再次启动的时候,会提取硬盘上的日志,对于没有提交的操作进行回滚。这样就保证了数据的一致性。

不过如果应用程序频繁提交,日志缓冲区的日志会频繁的写入到磁盘上,这时日志缓存就起不了什么作用了。

对数据库来说,上层的每个业务一般都算是一个交易,在尚未完成的时候,程序不会发送提交指令给数据库系统的,所以频繁提交的频率不高

而文件系统则不然,上层应用向文件系统写入数据而言,每次请求都是完整的交易。也就是说提交会非常频繁。如果将操作日志写入磁盘,开销大,所以利用了带电池保护的RAM内存(NVRAM)。只要成功写入了RAM,就可以立即通知上层写入成功。

一定要搞清楚日志和数据缓存的区别。

  • 日志是记录操作动作和数据内容,而非实际的数据块。保存在NVRAM中
  • 实际的数据块保存在RAM中而非NVRAM中。

WAFL的做法是用RAM来保存日志,可以一次接收到上千条写请求,而且可以直接返回成功。等到RAM半满,由WAFL一次性批量连续写入硬盘,保证高效率。

WAFL从不覆写数据

当日志占了NVRAM空间的一半或者每10s,WAFL会将内存中已改写的数据以及元数据批量写入硬盘。同时清空日志,腾出空间。这个动作叫CheckPoint

WAFL不会覆盖掉对应区块中原来的数据,而是寻找空闲块来存放被更改的块。也就是说WAFL写入的数据都会到空闲块中,而不是覆盖旧块。另外,在Checkpoint没有发生或者数据没有Flush完全之前,WAFL从来不会写入任何元数据到磁盘。

这样可以保证CheckPoint没发生之前,磁盘上的元数据对应的实际数据仍为上一个CheckPoint的状态。如果此时断电,就算新数据写入了,但是元数据没有写入,所以磁盘上的元数据仍指向旧块,数据就像没有变化,所以不用执行文件系统检查等工作。

当CheckPoint触发时,先写入数据,最后再写元数据,然后新元数据指针指向方才写入的新数据块。对应的旧数据块变为空闲块。(此时块中仍然有数据,但是没有任何指针指向它)

image.png

IP SAN

以太网的可寻址容量大,比IP都大,而且地址是定长的,使用专用的电路完成交换,还可以使用光纤进行传输。最重要的一点是以太网非常的廉价。

但进入以太网有这么多优点,现在FC SAN还是应用广泛,这是因为以太网与FC相比,以太网是不可靠的网络,不是端到端的协议,必须依靠上层协议。而且开销也比较大。

IP SAN

TCP/IP在速度和性能上无法与FC相比,但是它最大的优点在于扩展性,SCSI都能嫁接到FC上,当然也可以与TCP/IP结合。这种新的协议系统叫ISCSI(Internet Small Computer System Interace )

这种协议的优点很明显,只要IP可达,两个节点就可以通过ISCSI通信。所以扩展性非常强。

IP SAN : 以ISCSI为代表的TCP/IP作为传输方式的网络存储系统,也就是基于IP的存储区域网络

当然IP SAN不一定用以太网作为链路层,可以用任何支持IP 的链路层,如 ATM 、PPP 、 HDLC 甚至是FC

同样用TCP/IP来进行传输,NAS与IP SAN有什么区别呢?

NAS传输的是文件系统语言。ISCSI传输是SCSI指令语言。所以IP SAN本质是SAN提供的是块存储

IP SAN相对于FC SAN最大的优势在于:

  • FC SAN 成本是IP SAN的十倍。

  • FC是专用网络,很难扩展

  • 部署FC存储网络更复杂

  • 兼容性:不同生产厂家的FC设备不一定完全兼容

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

  • 1、卷 从最简单的卷开始讲起,卷,本质就是硬盘上的存储区域。一个硬盘包括好多卷,一卷也可以跨越许多磁盘。在WIND...
    Mered1th阅读 1,023评论 0 0
  • Fibre Channnel 我们之前引入了SAN的概念,SAN首先是个网络,而不是存储设备。这个网络是专门来给主...
    dy2903阅读 2,977评论 0 4
  • 前不久在facebook看到一系列的龙珠职场版漫画,可谓字字珠玑一针见血,不得不佩服作者的脑洞。也许只有香...
    杨狮虎阅读 201评论 0 1
  • 一早就出门去路边等车,要坐车回家。在等待的过程中,看那路上的车来车往的。过了二十分钟车了,坐上车回家去了。 在回家...
    户外_a931阅读 186评论 0 0
  • 1、不会游泳,换游泳池也没用。 2、卖不脱,换壳壳。 3、多想想别人的感受。 4、家庭不是讲理的地方。 5、日日新...
    马唐阅读 191评论 0 0