- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
随着主机、磁盘、网络等技术的发展,对于承载大量数据存储的服务器来说,服务器内置存储空间,或者说内置磁盘往往不足以满足存储需要。因此,在内置存储之外,服务器需要采用外置存储的方式扩展存储空间,今天在这里我们分析一下当前主流的存储架构.
Direct Attached Storage,直接连接存储(直连式存储),最常见的一种存储方式。 意思是存储设备只与一台主机服务器连接,如PC中的磁盘或只有一个外部SCSI接口的JBOD(Just a Band of Disks可以简单理解成磁盘箱)都属于DAS架构。 存储设备与服务器主机之间的通常采用SCSI总线连接。 特点:简单、集中、易用,主要在中小企业应用中.
Storage Area Network,存储区域网络。 SAN的兴起源于上个世纪80年代FC协议的出现,FC是Fibre Channel的缩写,网状通道的意思。 前面我们已经得知DAS是通过SCSI接口总线,而SCSI接口有16个节点的限制,不可能接入很多的磁盘。SCSI并行总线结构,传输距离短,是一种宽而短的电缆结构。 而细长的串行的FC是一种可寻址容量大、稳定性强、速度快(1Gbps~8Gbps,现在成熟的技术已经达到上百G)、传输距离远的网络结构,所以最终替代了SCSI接口和总线,但是SCSI协议或者说SCSI语言仍然载于FC进行传输。 而且FC不仅替代了磁盘阵列前端接口,也替代了后端接口,从而使磁盘阵列真正处于网络之中。 到后来,2001年又提出了SAS传输网络,Serial Attached SCSI,串行SCSI,所以FC协议也属于串行SCSI。所以SAS和FC协议一样跨越OSI七个层次。 紧接着出现了SAS盘,SAS盘接口和SATA盘接口是相同的,SAS协议通过STP(SATA Tuneling Protocol)来兼容SATA协议。而FC自身则无法做到,需要通过一个SCSI-ATA协议转换器。 SAS和FC在磁盘阵列设计中有配合使用,也有单一色的协议。 总之,都是替换了原来的并行SCSI通路技术,将一个个磁盘作为网络上的节点,即彻底变成网络化存储系统了。这样自然阐述了”Storage Area Network,存储区域网络“的概念.
IP SAN是随着TCP/IP协议和局域网LAN技术而兴起的,SCSI语言可以通过Internet来传递,SCSI协议运行在TCP/IP之上,即ISCSI,Internet Small Computer System Interface。 ISCSI发起方叫作Initiator,被连接方叫作Target。一般来说Initiator端为主机设备,Target端为提供存储空间的设备,如磁盘阵列。ISCSI标准发布于2004年,RFC3720。 人们把这种ISCSI为代表的TCP/IP作为传输方式的网络存储系统称作IP SAN,基于IP的存储区域网络。 这样IP SAN相对FC SAN取得了不少的优势:可扩展性和低成本。所以FC凭借其速度优势占据高端市场,而IP则以低成本优势占据中低端市场。当然FC和IP协议之间也存在融合,形成了FCIP和IFCP的模式。 因IP SAN是在SAN后产生的,所以SAN默认指FC SAN。 iSCSI SAN是通过iSCSI协议连接的。一般来说SAN可以分为Fc SAN 和IP SAN, 二者的区别在于一个是通过光纤网络连接至SAN, 一个是通过IP网络连接至SAN。iSCSI协议是通过IP协议实现的。因此也可以说iSCSI SAN是IP SAN的一种。像FCIP(FC over IP)等技术也可以划入IP SAN的范畴 。
Network Attached Storage,网络附加存储。 NAS是随着网络文件系统的出现而出现的,网络文件系统也是OS中的一种文件系统。微软的叫做CIFS,Common Internet File Syetem,意思是Internet范围的文件系统。Linux和UNIX系统使用的NFS,Network File System,网络文件系统。两者都是应用层协议,都是基于TCP/IP协议进行的传输。但是,CIFS开销非常大,远大于NFS! 这种文件系统逻辑不是在本地运行,而是在网络上的其他节点运行,调用远程的文件系统模块,即远程式调用文件系统,Remote Procedure Call File System,简称RPC FS。 人们把这种带有集中式文件系统功能的磁盘阵列,叫做NAS。所以相对于SAN来说,不仅是磁盘或卷在远程节点上,连文件系统功能也搬运到了远程节点上。 NAS产品是真正即插即用的产品。NAS设备一般支持多计算机平台,用户通过网络支持协议可进入相同的文档,因而NAS设备无需改造即可用于混合Unix/Windows NT局域网内,同时NAS的应用非常灵活。 但NAS有一个关键性问题,即备份过程中的带宽消耗。就是说LAN除了必须处理正常的最终用户传输流外,还必须处理包括备份操作的存储磁盘请求。 最后,从广义上说,各种存储架构都可以称为”SAN“,因为就算是直接连到主板上的IDE通道也可以连接两个磁盘,也可以认为是一个2节点网络。而且NAS和SAN也可以融合,NAS也可以看成是SAN的一种分支架构.
上图展示了存储分类,以及其发展过程:从上到下(更详细一点应该是:FC SAN到NAS,再到IP SAN)、从左到右。 封闭系统主要指大型机。 开放系统指基于包括Windows、UNIX、Linux等操作系统的服务器。由于目前绝大部分用户采用的是开放系统,其外挂存储占有目前磁盘存储市场的70%以上。 如果把数据比喻成仓库,三大架构经历了从DAS供自己使用,到SAN出租仓库给其他用户使用,再到NAS集中式理货服务外包的过程。如果最后扩展到分布式存储,则可以比喻成物流系统。 而下图则展示了三者的结构图: DAS:通过SCSI总线或者前端FC协议后端SCSI总线访问数据,采用SCSI接口。 SAN:通过专用光纤通道交换机或者TCP/IP协议访问数据,采用FC-AL接口、以太网。 NAS:用户通过TCP/IP协议访问数据,采用网络文件系统NFS、CIFS实现共享.
(1) 最主要的区别:SAN是一个网络上的磁盘,NAS是一个网络上的文件系统;SAN基于磁盘级别的存储系统,NAS基于文件级别的存储系统。 (2)SAN是将目光集中在磁盘、磁带以及联接它们的可靠的基础结构;NAS是将目光集中在应用、用户和文件以及它们共享的数据上。 (3)SAN通过光纤比NAS通过以太网速度快很多;但光纤通道比以太网通道的网络更加复杂、成本更高,所以NAS更容易部署、更低成本和更易于扩展。而随着IP SAN的出现,这些缺陷也就不成为SAN的劣势。 (4)文件系统逻辑通过CPU运算和占用内存做缓存,所以NAS可以解放主机服务器上的CPU和内存资源,即瘦服务器主机;所以NAS更适合于CPU密集型的应用环境。 (5)SAN因其传输速度快,对于大块数据的CPU运算要求也不高,所以适合于大块IO密集的环境。 最后,随着万兆以太网的出现和发展使得NAS和IP SAN在与FC SAN竞争时不会再逊色于传输带宽.
DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业; NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低; SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂.
最后此篇关于存储系列DAS,SAN,NAS常见网络架构的文章就讲到这里了,如果你想了解更多关于存储系列DAS,SAN,NAS常见网络架构的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
新建表: create table [表名] ( [自动编号字段] int IDENTITY (1,1)&nbs
我的文件中有正在本地化的字符串。其中许多是常见的,并且已经在整个 iOS 中使用。例如。 “保存”、“加载”、“返回”、“收藏夹”、“拍照”。为了与其他应用程序和内置应用程序提供一致的用户体验,是否有
我已经学习了 Qt 的基础知识,现在对这个漂亮的库的深度感兴趣。请帮助我理解: 所有类都是从QObject派生的吗? 为什么可以在QWidget(和派生类)上绘画? return app.exec()
我在 webpack 中设置了一个自调用函数,并使用常见的 JS 来需要一些包: (function() { var $ = require("jquery"); //...my functi
我正在尝试制作一个大量使用词性标记的应用程序。但是 nltk 的 pos 标记功能对我来说似乎不符合标准 - 例如: import nltk text = "Obama delivers his fi
有没有办法处理发送到 MySQL 的常见查询以防止不必要的带宽使用? 最佳答案 选项是: 使用MySQL缓存查询 好:全自动 差:仍然需要访问数据库服务器;有一次缓存让我在一个项目中失望,花了很长时间
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 4 年前。 Improve this qu
关闭。这个问题需要debugging details .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 6年前关闭。 Improve this questio
我正在尝试调用返回 csv 文件的网络服务。因此,我调用的每个 URL 都有一个后缀,它是一个字符串,表示要生成哪个 csv。然后我想将此 csv 保存到文件中。有很多要生成,所以我从多个线程调用此类
流行手机型号支持的典型触摸点数量是多少?我在基础研究中看到低至 2 和高至 5,但我希望能够将其映射到实际手机和更好的限制! 最佳答案 两部手机的触控点数据: Galaxy S 5 LG
出于好奇 - 我知道有 LAMP - Linux、Apache、MySQL 和 PHP。但是还有哪些其他 Web 堆栈替代方案的缩写呢?像 LAMR - Linux、Apache、MySQL Ruby
我写了一个java代码(使用apache common vfs2)来上传文件到SFTP服务器。最近,我在我的服务器上引入了 PGP 安全性。现在,java 代码无法连接到该服务器。与 FileZill
由于 GLU 被认为对于现代 OpenGL (3.1+) 来说已经过时,那么使用 C/C++ 在 OpenGL 中绘制基本形状(例如椭圆或弧线/饼图)的方法是什么?令人难以置信的是,在 OpenGL
我想知道是否有最流行的 iOS 应用程序的自定义 URL 方案列表,例如 Keynote、Numbers、Pages、Evernote 等。我还想知道这些应用程序使用什么参数网址。 我需要这个的原因是
我正在使用 NDK r10d 移植 C++ myToll Linux 应用程序以在 Android 上运行。 (请注意,这不是带有 apk 的 Android 应用程序,而是从 shell 运行的实用
假设您想要使用 UML 2 部署图为在该领域没有太多知识的人可视化一个常见的 PHP 服务器应用程序。这样一个通用的应用程序可能有三个设备节点(数据库服务器、Web 服务器和客户端)和四个执行环境节点
我正在尝试运行以下代码,以找到两个人之间的共同 friend 。输入如下 A : B C D B : A C D E C : A B D E D : A B C E E : B C D 我无法在输出文
我在 Gitolite 的 manual 中找到的唯一东西在钩子(Hook)上,是: If you want to add your own hook, it's easy as long as it
具体来说,我有一个问题,在 AWS 环境中组织 AZ 故障转移的推荐方法是什么。此外,最好了解典型的 AWS 故障以组织应用程序 HA(高可用性)。 因此,应用程序架构(AWS 服务使用)如下: 它或
我正在尝试编写一个通用的 SecurePagingAndSorting 存储库,它将检查 CRUD 操作的安全性,以节省在所有 JPA 存储库中重复相同的 PreAuthorize(使用不同的权限)。
我是一名优秀的程序员,十分优秀!