NAS和SAN两个存储系统的区别

2024-03-23 19:20

本文主要是介绍NAS和SAN两个存储系统的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如今,随着磁盘和网络等技术的发展,数据存储的方式和架构也在一直不断改变。人们可以通过SAN(存储区域网络)和NAS(网络接入存储)体系结构的比较,了解使用每种存储系统格式时要牢记的内容。而对象存储和云计算的兴起也在影响存储选择。

SAN通过交换机连接在一个架构中,允许许多不同的服务器轻松访问存储。从服务器应用程序和操作系统(OS)的角度来看,在直接连接的SAN或存储器中访问数据存储之间没有明显的区别。SAN支持对数据的访问,如直接连接存储。

NAS是一种远程文件服务的方法。而不是在用户自己的文件系统上使用该软件,文件访问被重定向到使用远程协议(例如CIFS或NFS)的其他设备,作为具有自己的文件系统的某种类型的服务器来执行文件I/O,实现文件共享和集中数据管理。

NAS与SAN架构:如何比较这两个存储系统

从NAS与SAN系统的角度来看,NAS用于文件I/O,SAN用于块I/O。比较NAS与SAN时需要记住的另一件事是,NAS最终将文件I/O请求转换为与其相连的存储设备的块访问。

现在存储的对象I/O变得越来越普遍,主要是因为它在云存储中大量使用,与块存储一起使用的SAN与文件存储之间的清晰划分变得越来越模糊。

当供应商为了存储需求从块或文件移到对象I/O时,用户仍然希望按照他们习惯的方式访问数据:SAN的块存储或NAS的文件存储。供应商现在开始提供具有NAS或SAN体验的前端系统,而后端则基于对象存储。

文件vs.块vs.对象

文件I/O存储以与用户在计算机上的驱动器上相同的方式读取和写入数据,这使用层级结构,文件夹内的文件可以放在更多文件夹中。这是NAS系统通常使用的方法。而这种方法有很多好处:

当与NFS和CIFS一起使用,这是最常见的NAS协议,用户可以像在本地驱动器上一样复制和粘贴文件或整个文件夹。

使IT易于管理。

I/O块存储将每个文件或文件夹视为较小数据位的各种块,并在SAN系统中的各种驱动器和设备上分配每个块的多个副本。这种方法的好处包括:

更高的数据可靠性。如果一个或多个驱动器出现故障,仍可以访问数据。

更快的访问。文件可以从最接近用户的块重新组合,不需要通过文件夹层次结构。

对象I/O存储将每个文件视为单个对象(如文件I/O),并且不具有嵌套文件夹的层次结构(如块I/O)。使用对象存储,将所有文件或对象放入单个庞大的数据池或数据库中。基于已经与该文件相关联或由对象存储操作系统添加的元数据找到文件。

这意味着对象存储是三种方法中最慢的方法,主要用于云文件存储。但是,元数据访问方式的最新进展以及越来越多使用的快速闪存驱动器,缩小了对象,文件和块存储之间的速度差距。

使用NAS和SAN

NAS与SAN的主要区别在于每个类型的存储器如何显示给用户。

因为它通过标准以太网连接来连接到网络,因此NAS系统或设备看起来像任何其他与用户连接的网络设备。用户连接到NAS进行工作,像任何其他网络连接的设备一样,它具有自己的操作系统。在采用NAS设备的情况下,操作系统处理用户计算机请求的数据的写入和读取。

一旦它被安装在用户的计算机上,SAN将显示为本地驱动器。这意味着它将用作本地驱动器,用户计算机上的操作系统将处理读取或写入数据的命令。这允许用户像任何其他本地驱动器一样对待它,包括在其上安装软件的能力。

NAS与SAN的连接

NAS系统是单个服务器或单个设备中包含的驱动器或服务器的集合。它直接连接到网络,通常使用以太网电缆连接到以太网交换机。

SAN系统是一组驱动器,设备或服务器,所有这些都使用网络结构(如iSCSI或光纤通道)连接在一起。

虽然以太网和Fabric网络已经进行了多年的竞争,但Fabric网络一直具有更直接的连接优势,因为它不必经过TCP/IP处理以太网连接。因此,在数据速度相同的情况下,由于I/O在存储和用户之间的接触频率较低,所以在I/O速度方面有优势。

主板的变革可能孕育未来

如今,可能更多的惊喜来自于通过结构扩展非易失性存储器快速(NVMe)协议。

NVMe协议是将闪存设备直接连接到计算机主板,通过PCIExpress总线进行通信的最快方式。而且它大大优于通过串行ATA连接的固态硬盘。用户可以通过将SAN系统编织在一起的结构来扩展这种快速的NVMe连接。

为了公平起见,NVMe协议不能用于在远程用户和存储阵列之间传输数据,因此需要使用消息层。这使得NVMe似乎更像是以太网连接的NAS系统,它使用以太网的TCP/IP协议来处理数据移动。但NVMe对fabric架构开发人员正在通过远程直接内存访问(RDMA)使用消息层对速度影响最小。在各种类型的RDMA中,RDMA能够将以太网,互联网广域RDMA协议和InfiniBand进行融合,目前在高性能计算系统中使用。

人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:
1.云存储与云备份有什么区别?
2.大数据时代云存储发展现状
3.云计算、云存储和主机托管有什么不同?
多智时代-人工智能大数据学习入门网站|人工智能、大数据、物联网云计算的学习交流网站

多智时代-人工智能大数据学习入门网站|人工智能、大数据、云计算、物联网的学习服务的好平台

这篇关于NAS和SAN两个存储系统的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/839281

相关文章

native和static native区别

本文基于Hello JNI  如有疑惑,请看之前几篇文章。 native 与 static native java中 public native String helloJni();public native static String helloJniStatic();1212 JNI中 JNIEXPORT jstring JNICALL Java_com_test_g

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使

Collection List Set Map的区别和联系

Collection List Set Map的区别和联系 这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否

javascript中break与continue的区别

在javascript中,break是结束整个循环,break下面的语句不再执行了 for(let i=1;i<=5;i++){if(i===3){break}document.write(i) } 上面的代码中,当i=1时,执行打印输出语句,当i=2时,执行打印输出语句,当i=3时,遇到break了,整个循环就结束了。 执行结果是12 continue语句是停止当前循环,返回从头开始。

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

ActiveMQ—Queue与Topic区别

Queue与Topic区别 转自:http://blog.csdn.net/qq_21033663/article/details/52458305 队列(Queue)和主题(Topic)是JMS支持的两种消息传递模型:         1、点对点(point-to-point,简称PTP)Queue消息传递模型:         通过该消息传递模型,一个应用程序(即消息生产者)可以

深入探讨:ECMAScript与JavaScript的区别

在前端开发的世界中,JavaScript无疑是最受欢迎的编程语言之一。然而,很多开发者在使用JavaScript时,可能并不清楚ECMAScript与JavaScript之间的关系和区别。本文将深入探讨这两者的不同之处,并通过案例帮助大家更好地理解。 一、什么是ECMAScript? ECMAScript(简称ES)是一种脚本语言的标准,由ECMA国际组织制定。它定义了语言的语法、类型、语句、

Lua 脚本在 Redis 中执行时的原子性以及与redis的事务的区别

在 Redis 中,Lua 脚本具有原子性是因为 Redis 保证在执行脚本时,脚本中的所有操作都会被当作一个不可分割的整体。具体来说,Redis 使用单线程的执行模型来处理命令,因此当 Lua 脚本在 Redis 中执行时,不会有其他命令打断脚本的执行过程。脚本中的所有操作都将连续执行,直到脚本执行完成后,Redis 才会继续处理其他客户端的请求。 Lua 脚本在 Redis 中原子性的原因

msys2 minggw-w64 cygwin wsl区别

1 mingw-w64,这是gcc一直win平台下产生的,所以是win版的gcc,既支持32也支持64bit 2cygwin专注于原样在windows上构建unix软件, 3msys让Linux开发者在windows上运行软件,msys2专注于构建针对windows api构建的本机软件 4 wsl  windows subsystem for linux 是一个在windows 10 上能