深度分析网络存储之NAS工作原理

NAS是Network Attached Storage的缩写,即网络连接存储或网络附加存储,是将存储设备通过标准的网络拓扑结构(例如以太网),连接到一群计算机上。NAS采用网络(TCP/IP、ATM、FDDI)技术,通过网络交换机连接存储系统和服务器主机,建立专用于数据存储的存储网络。NAS直接运行文件系统协议,诸如NFS,CIFS等,客户端系统可以通过磁盘映射和数据源建立虚拟连接。
NAS 基本上是一种Ethernet和SCSI技术的即插即用存储技术,NAS是部件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。NAS设备包括存储器件(例如磁盘阵列、CD或DVD驱动器、磁带驱动器或可移动的存储介质)和集成在一起的简易服务器,可用于实现涉及文件存取及管理的所有功能。NAS服务器一般由存储硬件、操作系统以及其上的文件系统等几个部分组成,NAS在解决足够的存储和扩展空间的同时,还提供极高的性价比。NAS非常适合各类公司和Internet应用,包括:电子商务、ISPs/ASPs、搜索引擎、Web服务器集群、E-mail服务器集群、数据仓库、IDCs、CAD应用、图象/图形工作站、医药系统、教育、印刷、视频VOD点播以及远程虚拟光盘镜像等任何需要进行数据网络存储的地方。

NAS,NFS的工作原理:

上面提到了NAS直接运行文件系统协议,例如NFS,CIFS等,客户端系统可以通过磁盘映射和数据源建立虚拟连接。从这句话可以看到NAS协议实际上是在NFS,CIFS等文件系统协议的基础上运行的。所以NFS,CIFS的工作原理就是NAS的工作原理,下面我们介绍一下NFS的工作原理:
假设运行在客户机器上的应用程序发出对某些数据的系统调用。
客户机器上的VFS获取该系统调用,并确定该调用是针对本地数据还是远程数据的,即它是针对LFS(本地文件系统)还是针对NFS(网络文件系统)的。
如果调用的是本地数据,VFS将其发送给本地文件系统。现在可以根据运行在客户机器上的LFS算法进行数据访问和检索。
如果客户机上的VFS发现它是对远程数据的调用,就将该调用转换成一个或多个NFS调用。下图给出了部分针对RPC的NFS调用函数,这些函数用于完成转换工作。然后,客户机上的VFS按照顺序逐个发送NFS调用。服务器单独处理每个NFS调用并将控制权转移给客户机。然后客户机发送下一个NFS调用。这样在服务器出现故障的时候还可以使用恢复机制。客户机知道重新开始运行的准确位置。因此,这种情况下的恢复工作就是客户机的职责。
每个NFS RPC调用都包含参数,它们被传送给运行在客户机上的RPC/XDR模块。诚如所知,数据以及数据类型要一并发送,XDR根据需要转换格式。
客户机器上的RPC/XDR使用运行在自己机器上的传输层协议软件TCP/IP将消息发送给服务器。TCP/IP收集消息并将其发送给运行在服务器上的RPC/XDR模块。该消息现在是NFS可以理解的格式。
服务器上的XDR再次转换格式,如果需要,将控制权移交给服务器上的RPC (本书已经介绍过RPC基于端口号的工作原理,该端口号指明了在服务器上执行哪一个NFS调用) 。
服务器上的RPC/XDR启动服务器上合适的端口管理程序,这取决于期望的NFS调用。
端口管理程序和服务器上的VFS通信,发送合适的请求。接下来它成为对运行在服务器上的本地操作系统的LFS的请求或调用。服务器上的LFS访问并检索数据,然后将其传送给服务器上的VFS。VFS将数据传送给服务器上适当的端口管理程序。端口管理程序使用服务器上结合了如TCP/IP这样的通信协议模块的RPC/XDR模块,将数据发送给客户。数据最终到达客户机上的RPC/XDR模块。
现在将数据传送给客户节点上的NFS文件系统。NFS文件系统将数据传送给客户节点上的虚拟文件系统,而后者又会将数据传送给客户机上运行的应用程序。

weinxin
DC Farm小程序二维码
扫一扫添加博客小程序
Jim

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  1   博主  1

    • avatar 嘉卓 1

      网络方面你好像很精通的哦

        • 激劉勇靖 激劉勇靖 Admin

          @嘉卓 就是从事网络方面工作的,所以对网络技术略懂。