当前位置:首页 > 技术知识 > 正文内容

存储基础 DAS、NAS(nfs,cifs)、SAN,Samba(cifs)介绍和区别

maynowei8个月前 (08-12)技术知识95

介绍

DAS (硬盘,U 盘)

DAS 指 Direct Attached Storage(直连附加存储),直接到计算机主板总线,识别为一个块设备,例如硬盘,U 盘等,这种很难做到共享。

SAN (计算与存储分离,节点无自己的文件系统,文件系统在服务器)

SAN 指 Storage Area Network,SAN是通过光纤交换机连接存储阵列和服务器,建立专用数据存储的存储私网。

特点:

将计算与存储分离,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。

NAS (节点有自已的文件管理系统)

NAS 指 Network Area Storage,将本地的存储空间共享给其他主机,一般是 C/S 架构,是文件级别的共享,计算机通常将共享的设别识别为一个文件系统,其文件服务器会管理锁以实现并发访问。常见的 NAS 有 NFS 和 CIFS。

NAS采用网络技术(TCP/IP、ATM、FDDI),通过网络交换机连接存储系统和服务器主机来建立存储私网。其主要特征是把存储设备、网络接口和以太网技术集成在一起,直接通过以太网网络存取数据。也就是把存储功能从通用文件服务器中分离出来。

区别

DAS和NAS 、SAN的区别

三种模式不同点在于存储连接形态,其中DAS模式最简单,就是直接把存储设备连接到服务,而这种模式最大的问题是:每个应用服务器都要有独立的存储设备,这样增加了数据处理的复杂度,随着服务器的增加,网络系统效率也急剧下降。为了解决上述问题,提出了NAS和SAN两种模式。

NAS和SAN的区别

NAS:通过TCP/IP协议访问数据,采用业界标准文件共享协议,如果NFS、HTTP、CIFS实现共享。

SAN:通过专用光纤交换机访问数据,采用SCSI、FC-AL接口。

NAS和SAN最本质的区别就是文件管理系统在哪里。如图1所示,SAN结构中,文件管理系统(FS)分别在每一个应用服务器上面,而NAS则是每个应用服务器通过网络共享协议,使用同一个文件管理系统。即NAS和SAN存储系统的区别就是NAS有自已的文件管理系统。


1、结构不同:


SAN结构中,文件管理系统(FS)还是分别在每一个应用服务器上;而NAS则是每个应用服务器通过网络共享协议(如:NFS、CIFS)使用同一个文件管理系统。换句话说:NAS和SAN存储系统的区别是NAS有自己的文件系统管理。


2、目标不同:


NAS是将目光集中在应用、用户和文件以及它们共享的数据上。SAN是将目光集中在磁盘、磁带以及联接它们的可靠的基础结构。将来从桌面系统到数据集中管理到存储设备的全面解决方案将是NAS加SAN。




NFS(NAS的一种)


NFS 全称是 Network FileSystem,NFS 和其他文件系统一样,是在 Linux 内核中实现的,因此 NFS 很难做到与 Windows 兼容。NFS 共享出的文件系统会被客户端识别为一个文件系统,客户端可以直接挂载并使用。


NFS 的实现使用了 RPC(Remote Procedure Call) 的机制,远程过程调用使得客户端可以调用服务端的函数。由于有 VFS 的存在,客户端可以像使用其他普通文件系统一样使用 NFS 文件系统,由操作系统内核将 NFS 文件系统的调用请求通过 TCP/IP 发送至服务端的 NFS 服务,执行相关的操作,之后服务端再讲操作结果返回客户端。


NFS 文件系统仅支持基于 IP 的用户访问控制,NFS 是在内核实现的,因此 NFS 服务由内核监听在 TCP 和 UDP 的 2049 端口,对于 NFS 服务的支持需要在内核编译时选择。它同时还使用了几个用户空间进程用于访问控制,用户映射等服务,这些程序由 nfs-utils 程序包提供。


RPC 服务在 CentOS 6.5 之后改名为 portmapper,它监听在 TCP/UDP 的 111 端口,其他基于 RPC 的服务进程需要监听时,先像 RPC 服务注册,RPC 服务为其分配一个随机端口供其使用。客户端在请求时,先向 RPC 服务请求对应服务监听的端口,然后再向改服务发出调用请求。

Samba(CIFS,NAS的一种)


NFS 只能在 Unix 系统间进行共享,而 Windows 对其支持很有限。因此有人就在 Linux/Unix 系统中实现了 Windows 文件共享所使用的 CIFS 协议,也叫做 SMB(Simple Message Block)协议。这使得 Windows/Linux/Unix 间可以自由的进行文件共享。


samba 主要监听在这几个端口:137/udp, 138/udp, 139/tcp, 445/tcp


在 Windows 中共享的文件系统,可以在 Linux 中使用 samba 客户端访问,或者直接挂载访问。


相关文章

在手机上演示axure原型(怎么在axure中画出手机原型)

AXSHARE APP发布啦,以后大家的原型可以通过这款APP进行预览演示咯。小编迫不及待的体验了一下这款APP。要使用这款APP,首先需要有axshare的账号。账号注册地址:https://sha...

Axure案例小红书APP登陆界面划屏效果制作

有一款叫做小红书的APP(不是小黄书)登陆界面做的非常清新脱俗,教他家用Axure模仿练习一下他的登陆界面划屏效果,这个内容虽然有些多,但是制作方法并不难,耐心跟着做的话肯定没问题哒!点击观看效果效果...

网络安全常用术语(网络安全常用术语介绍)

黑客帽子之分白帽白帽:亦称白帽黑客、白帽子黑客,是指那些专门研究或者从事网络、计算机技术防御的人,他们通常受雇于各大公司,是维护世界网络、计算机安全的主要力量。很多白帽还受雇于公司,对产品进行模拟黑客...

Django 官方推荐的姿势:类视图(django类视图和函数视图哪个好)

作者:HelloGitHub-追梦人物在开发网站的过程中,有一些视图函数虽然处理的对象不同,但是其大致的代码逻辑是一样的。比如一个博客和一个论坛,通常其首页都是展示一系列的文章列表或者帖子列表。对处理...

如何优雅地使用嵌入式事件标志组?

事件标志组嵌入式事件标志组是一种在嵌入式系统中广泛使用的同步机制,主要用于实现多任务间的同步与通信。事件标志组是一组事件标志位的集合,每个位代表一个事件是否发生。它允许任务等待特定的事件发生,当事件发...

如何正确理解Java领域中的并发锁,我们应该具体掌握到什么程度?

苍穹之边,浩瀚之挚,眰恦之美; 悟心悟性,善始善终,惟善惟道! —— 朝槿《朝槿兮年说》写在开头对于Java领域中的锁,其实从接触Java至今,我相信每一位Java Developer都会有这样的一个...