专栏首页北京马哥教育存储基础:DAS/NAS/SAN存储类型及应用

存储基础:DAS/NAS/SAN存储类型及应用

一. 硬盘接口类型

1. 并行接口还是串行接口

(1) 并行接口,指的是并行传输的接口,比如有0~9十个数字,用10条传输线,那么每根线只需要传输一位数字,即可完成。 从理论上看,并行传输效率很高,但是由于线路上的物理原因,它的传输频率不能太高,所以实际的传输速度并不和并行度成正比,甚至可能更差。

(2) 串行接口,指的是串行传输的接口,同样是0~9十个数字,用1条传输线,那么需要传输10次,才可以完成。 从理论上看,串行传输效率不高,但是由于它的数据准确性,高频率的支持,使得传输速度可以很高。

(3) 并行连接线和串行连接线(IDE/SATA)

目前,计算机的外部接口大多被串行接口取代,比如:USB,1394,COM等等,都是串行接口。而硬盘的外部接口也已经被串行接口(SATA/SAS)占领。

2. 硬盘接口类型

按硬盘接口协议/规范可以分为2类:ATA和SCSI。使用了某种接口的硬盘就称为XXX硬盘。

2.1 ATA接口协议

(1) IDE接口 IDE接口也称为PATA(Parallel ATA)接口,也就是并行ATA接口。以前的PC机大多用的这种接口的硬盘。

(2) SATA接口 SATA(Serial ATA)接口,串行ATA接口,这类硬盘,转速通常不太高,容量大,目前PC机或者IOPS要求不是太高的存储多使用这种接口的硬盘。

(3) IDE和SATA硬盘接口图示

2.2 SCSI接口协议

(1) SCSI接口 通常所说的SCSI,是一种并行接口,早期的计算机外设(打印机,扫描仪等等),也大多使用这种接口。现在使用这种接口的硬盘已经很少。

(2) SAS接口 SAS(Serial SCSI)接口,串行SCSI接口,这类硬盘,转速高,IOPS高,适用于OLTP系统的存储。 另外,SAS的接口技术已经可以兼容SATA,也就是说:如果主板上有个SAS接口,是可以接SATA硬盘的,但是反之不行。从图片上看,SAS和SATA接口有点相似。

二. 存储方案

所谓的存储方案,就是用单独的软硬件将磁盘/磁盘组管理起来,供主机使用。 存储的分类,根据服务器类型分为:封闭系统的存储和开放系统的存储,封闭系统主要指大型机,开放系统指基于Windows、UNIX、Linux等操作系统的服务器;开放系统的存储分为:内置存储和外挂存储。

目前的外挂存储解决方案主要分为三种: (1) 直连式存储 (DAS:Direct Attached Storage) (2) 网络存储设备 (NAS:Network Attached Storage) (3) 存储网络 (SAN:Storage Area Network) 存储方案内部使用的硬盘,多为SATA/SAS,追求高性能也用SSD,经过串联/RAID之后,对主机提供访问接口。

1. DAS

直接连接存储 (DAS:Direct Attached Storage),是指将存储设备通过SCSI接口或FC接口直接连接到一台计算机上。DAS不算是网络存储,因为只有它所挂载的主机才可访问它。 也就是说,服务器发生故障时,连接在服务器上的DAS存储设备中的数据暂时不能被存取。

DAS存储在中小企业应用中使用不少,因为廉价成本较低,存储系统被直连到应用的服务器中,在中小企业中,许多的数据应用是必须安装在直连的DAS存储器上。

DAS存储更多的依赖服务器主机操作系统进行数据的IO读写和存储维护管理,数据备份和恢复要求占用服务器主机资源(包括CPU、系统IO等),数据流需要回流主机再到服务器连接着的磁带机(库),数据备份通常占用服务器主机资源20-30%,因此许多企业用户的日常数据备份常常在深夜或业务系统不繁忙时进行,以免影响正常业务系统的运行。直连式存储的数据量越大,备份和恢复的时间就越长,对服务器硬件的依赖性和影响就越大。

直连式存储与服务器主机之间的连接通道通常采用SAS连接,随着服务器CPU的处理能力越来越强,存储硬盘空间越来越大,阵列的硬盘数量越来越多,SAS通道将会成为IO瓶颈;服务器主机SAS ID资源有限,能够建立的SAS通道连接有限。

无论直连式存储还是服务器主机的扩展,从一台服务器扩展为多台服务器组成的群集(Cluster),或存储阵列容量的扩展,都会造成业务系统的停机,从而给企业带来经济损失,对于银行、电信、传媒等行业7×24小时服务的关键业务系统,这是不可接受的。并且直连式存储或服务器主机的升级扩展,只能由原设备厂商提供,往往受原设备厂商限制。

DAS设备示例:

2. NAS

网络连接存储 (NAS:Network Attached Storage),是指将存储设备通过标准的网络拓扑结构(例如以太网),连接到一群计算机上。NAS有文件系统和IP地址,可以类似的理解为网上邻居的共享磁盘。

NAS是文件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。如今用户采用NAS较多的功能是用来文档共享、图片共享、电影共享等等,而且随着云计算的发展,一些NAS厂商也推出了云存储功能,大大方便了企业和个人用户的使用。

NAS产品是真正即插即用的产品。NAS设备一般支持多计算机平台,用户通过网络支持协议可进入相同的文档,因而NAS设备无需改造即可用于混合Unix/Windows局域网内,同时NAS的应用非常灵活。 但NAS有一个关键性问题,即备份过程中的带宽消耗。与将备份数据流从LAN中转移出去的存储区域网(SAN)不同,NAS仍使用网络进行备份和恢复。NAS 的一个缺点是它将存储事务由并行SCSI连接转移到了网络上。这就是说LAN除了必须处理正常的最终用户传输流外,还必须处理包括备份操作的存储磁盘请求。NAS性能比SAN要差很多,但相对成本也低很多。

NAS设备示例:

3. SAN

存储区域网络(SAN:Storage Area Network),目前的SAN存储有2种:一是基于光纤通道的FC SAN;二是基于以太网的IP SAN(也就常说的iSCSI)。 FC SAN通过光纤交换机连接到主机(HBA卡),也就是说可以连接到光纤交换机的主机都可以访问这个存储; iSCSI作为共享于以太网络上的存储则更类似于NAS。

存储区域网络,从名字上我们也可以看出,这个是通过光纤通道交换机连接存储阵列和服务器主机,最后成为一个专用的存储网络。SAN经过十多年历史的发展,已经相当成熟,成为业界的事实标准(但各个厂商的光纤交换技术不完全相同,其服务器和SAN存储有兼容性的要求)。

SAN提供了一种与现有LAN连接的简易方法,并且通过同一物理通道支持广泛使用的SCSI和IP协议。SAN不受现今主流的、基于SCSI存储结构的布局限制。特别重要的是,随着存储容量的爆炸性增长,SAN允许企业独立地增加它们的存储容量。SAN的结构允许任何服务器连接到任何存储阵列,这样不管数据置放在那里,服务器都可直接存取所需的数据。因为采用了光纤接口,SAN还具有更高的带宽。

因为SAN解决方案是从基本功能剥离出存储功能,所以运行备份操作就无需考虑它们对网络总体性能的影响。SAN方案也使得管理及集中控制实现简化,特别是对于全部存储设备都集群在一起的时候。最后一点,光纤接口提供了10公里的连接长度,这使得实现物理上分离的、不在机房的存储变得非常容易。SAN是目前业界中高端存储的主流标准。

FC SAN设备示例:

IP SAN 设备示例:

三. 在数据存储上的应用

三种存储方案的比较,如图:

1. DAS 可作为本机的外挂硬盘,不过现在单块磁盘的空间已经很大,如果几个T的空间,直接在主机里插硬盘就可以实现了,不需要外挂。

2. NAS 由于它的文件系统特性,加上以太网网线传输,更像是我的电脑-网上邻居-共享磁盘,访问方式也是类似:\NAS01BACKUPdatabase_name.bak。更多的是作为文件共享、备份、归档所用,比如数据库的历史备份/异地备份文件。

3. SAN FC SAN使用光纤传输,是一个高速的共享存储,数据库的任何东西都可以放在上面,还有就是在做集群时(failover clustering) 作为仲裁盘,合适做虚拟化项目和性能要求高的数据库存储;iSCSI的传输速率要低于FC SAN,目前在我们的环境中还没有直接使用iSCSI做数据库存储,通常是用在类似NAS的地方。

总结:DAS存储一般应用在中小企业,与计算机采用直连方式,性能与成本最低;NAS存储则通过IP以太网添加到计算机上,性能与成本中等;SAN存储则使用FC光纤接口,性能与成本较高。NAS与NAS的主要区别体现在操作系统在什么位置。如下图所示:

本文分享自微信公众号 - 马哥Linux运维(magedu-Linux)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2014-06-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 记一次python脚本的编写过程

    因工作需求要写一个python脚本,来测试memcache服务器。 因为第一次写python脚本在线上运行,所以不敢大意。而又因为我自己看着python教程自学...

    小小科
  • 手把手教你无代码基础实现Linux运维管理平台

    老早之前就想做一个运维管理平台的项目了,但是一直没沉下来去做,上半年的时候毕设选择了这个课题,想着逼自己一把,不管做出来的怎么样,先把它搞起来..... dj...

    小小科
  • 进程运行于不同的 CPU 核

    用 Gearman 搭建 Map/Reduce ,GearmanManager 来管理所有的 workers。启动多个 gearman-manager dae...

    小小科
  • Android的HttpUrlConnection

    Dream城堡
  • Android图片识别应用详解

    最近由于参加一个小小的创意比赛,用安卓做了一个小小的图片识别应用,主要是通过拍照识别图片中的菜品,还有对象位置查找的东西。之前没有做过安卓,都是拼拼凑凑多篇博客...

    砸漏
  • Pytorch常用函数功能使用(一)

    View(a,b)中第一个参数a代表目标张量的行数,b代表列数。为了简便起见,也可以只指定第一个参数a,b这个参数设置成-1,函数会自动计算对应的列数。

    大黄大黄大黄
  • 巨头纷纷进驻物联网行业,围绕巨头布局细分领域,将成为独角兽成长的重要模式

    物联网普及的进程正在加速。这已经不是嘴上说说的概念,而是落实为产品与营收的事实。近期,就有不少互联网巨头与独角兽亮出了自己在物联网领域的成绩单。

    个推君
  • Linux学习_002_VMware12.0 Pro 中安装 CentOS-7.5(桌面版)

    4、客户机操作系统选择Linux,版本选择CentOS 64位,完成后点击下一步。

    黑泽君
  • PHP-数组排序

    分别定义一个数值数组和一个关联数组. $age=array("lili"=>"23","bob"=>"30","ben"=>"44"); $c...

    行 者
  • 发现一款.NET Core开源爬虫神器:DotnetSpider

    爬虫的意义在于采集大批量数据,然后基于此进行加工/分析,做更有意义的事情。谷歌,百度,今日头条,天眼查都离不开爬虫。

    Enjoy233

扫码关注云+社区

领取腾讯云代金券