文件系统 和 网络附接存储(NAS: Network Attached Storage)
磁盘子系统提供面向块的存储,但对于端点用户和高层应用而言,通过柱面,磁道和扇区这样的寻址机制进行块处理是很繁琐的。 因此文件系统被用来代表在操作系统中的一个中间层次,为用户提供熟悉的目录和文件服务,并把他们存储在对端点用户隐蔽的存储介质上。
磁盘子系统
http://blog.csdn.net/tianlesoftware/archive/2011/02/22/6199816.aspx
网络附接存储(NAS:network attached Storage)是一个带有瘦服务器(Thin Server)的存储设备,其作用类似于一个专用的文件服务器,连接到诸如以太网这样的现有网络上,NAS支持网络文件系统协议,如NFS和CIFS,提供基于文件的存储服务。
一. 本地文件系统
文件系统形成在面向块的硬盘和应用程序之间的中间层,而在文件系统和硬盘之间通常使用卷管理程序。文件系统和卷管理程序一起管理磁盘块,使得用户和应用程序可以通过目录和文件使用磁盘的存储功能。
文件系统和卷管理程序使用各种各样的装入配置文件为多个应用提供服务。这就意味着,这是一些通用的应用,它们的性能未被有针对性地进行优化。
诸如 DB2和 0racle这样的数据库系统会绕开文件系统,自己管理磁盘块。这样做的结果是提高了数据库的性能,但数据库的管理也变得比较复杂了。因此在实践中,也有的数据库系统把它们的数据存储在由文件系统管理的文件中。在这种情况下,当有更高的性能需求时,管理人员通常倾向于选择使用更高档次的硬件的解决方案。
除了基本的文件服务,现代文件系统还提供附加的 3个功能:日志 (journaling),抽点快照 (snapshot)和文件系统的动态扩充。日志是一种即使是在系统崩溃之后也能保证维持文件系统一致性的机制。文件系统把对系统的每个改变都写到一个记录文件中,并且是在对系统实际地做改变操作之前就做这样的记录,记录文件对用户和应用程序不可见。在系统崩溃之后,文件系统只须察看记录文件的末尾,就可以重建系统的一致性。
在没有日志的文件系统中,典型的是像Microsoft的FAT32和 UNIX系统中的 UFS这样比较老的文件系统,在系统崩溃之后必须检查整个文件系统的一致性;在大的文件系统中这可能要花几个小时的时间。因此,使用没有日志的文件系统,在系统崩溃以后,可能要花好几个小时的时间,才能使数据和使用它们的应用程序回到正常运行的状态,具体时间取决于文件系统的大小。
抽点快照记录某一个时刻的数据信息并将其保存,如果之后发生某些故障需要恢复数据,那么就可以通过快照文件把数据恢复到之前做快照的那个时间点的状态,而在该时间点之后的数据都会丢失。当备份软件需要备份某些不能停止运行的关键业务的时候,利用快照技术可以将某时间点的所有数据信息保存并备份,不会影响到业务的正常运行。如果用户将某个文件误删除,那么如果用户之前做过快照,该文件就可以很快被恢复出来。
抽点快照执行与智能磁盘子系统中的即时复制类似的功能,它在一个时间点上冻 结一个文件系统的状态,建立一个快照文件。用户和应用程序可以通过一个特别的通路访问快照文件。系统在崩溃以后,使用快照文件可以很快地把文件系统、目录和文件恢复到做快照前的状态。就像即时复制那样,复制的建立只需花几秒钟。同样地,在建立一个抽点快照时,应该特别注意要保证被冻结的数据状态的一致性。
下表 给出了抽点快照和即时复制的比较。抽点快照一个重要的优点是它们可以使用任何硬件来实现。而在另一方面,在磁盘子系统上的即时复制对应用服务器 CPU和总线的负担较小,因而可,以把更多的系统资源留给应用程序本身使用。
|
抽点快照 |
即时复制 |
实现地点 |
文件系统 |
磁盘子系统 |
资源消耗 |
负担在服务器的 CPU 和所有总线 上 |
负担在磁盘子系统的控制器和它的总线 上 |
可提供性 |
依赖于磁盘子系统 (硬件依赖) |
依赖于文件系统 (硬件无关) |
卷管理程序是在操作系统内部位于文件系统或数据库和硬盘之间的中间层次。卷管理程序最重要的功能是聚合多个硬盘形成一个大的虚拟盘,并且仅让这个虚拟盘对高层可见。大多数的硬盘管理程序都提供把这个虚拟盘划分成几个较小的虚拟盘以及增加或减少虚拟盘个数的选择。在卷管理程序内部的虚拟化使得系统管理员可以很快地对应用存储需求的变化做出反应。
取决于具体的实现,卷管理程序可以提供与 RAID控制器或智能磁盘子系统同样的功能。诸如 RAID、即时复制和远程镜像这些功能在卷管理程序中都可以独立于硬件的方式实现。但在卷管理程序中的 RAID把处理负担放在应用服务器的总线和 CPU上。在RAID 1 中,文件系统写的每一块都要通过所有的总线两次。通过把对应的功能移到存储设备上,RAID控制器或智能磁盘子系统可以减轻应用服务器的负担。
二. 网络文件系统(NFS)和网络附接存储(NAS) 基本概念
2.1 网络文件系统的基本概念
网络文件系统是本地文件系统的自然扩展,端点用户和应用程序通过网络文件系统可以访问物理上位于一个不同的计算机 (文件服务器)上的目录和文件。文件服务器在现代信息技术环境中是如此地重要,以至于人们把预先配置的专门面向网络存储的文件服务器称作网络附按存储 NAS,并在市场上呈现为一个单独的产品系列。
2.2 网络文件系统的功能
网络文件系统使得本地的目录和文件可以在局域网上提供给其他计算机上的用户使用 。它也使得若干个端点用户基于共同文件 (例如项目数据,源代码)展开协同工作成为可能。一般来说,文件系统是操作系统的一个组成部分。与本地文件系统不同,网络文件系统是一个分布式的文件系统,它依据特定的协议使不同计算机上的文件可以共享。
网络文件系统(NFS)在提供文件共享的同时,也提供对文件的其他管理,如可靠性维护和文件操作权控制等。尽管网络文件系统在其实现的管理操作上有很多不同于对本地文件操作的步骤,然而对用户而言,对网络文件的操作与对本机文件的操作是没有区别的。
第一个广泛流行的网络文件系统是 Sun Microsystems 开发的 NFS (Network FileSystem,网络文件系统),它是现在所有UNIX系统上标准的网络文件系统。Microsoft也开发了它自己的网络文件系统,称作 CIFS (Common Internet File System,通用因特网文件系统),它用于Windows操作系统,并且跟NFS不兼容。
借助网络文件系统,端点用户和应用程序能够在各种各样的计算机上使用共同的数据集工作。为了使用共享的文件,在 UNIX 客户机上,系统管理员必须使用 mount(安装)命令把从一个 NFS 服务器出口的目录文件连接到本地目录结构。 在 Windows客户机上,端点用户可以自己使用 Map Network Drive (映射网络驱动器)命令执行类似的操作。然后,无论是在UNIX上,还是在Windows上,用户都可以像访问本地文件一样地从网络文件系统对文件进行操作。
FTP (File Transfer Protocol,文件传送协议)为用户提供了一种可以在TCP/IP 网络上交换文件的机制。今天,FTP服务器仍然是一种分发自由软件和文档的重要途径。和网络文件系统不同,FTP 服务器对端点用户是清晰可见的。不过,用户需要在服务器上登录并通过身份验证后才能在FTP服务器和本地计算机之间交换文件。
HTML (Hyper Text Markup Language,超文本标记语言)和 HTTP (Hyper TextTransfer Protocol,超文本传输协议)显著地改变了人们对因特网的使用模式。借助HTML文档,可以把因特网上的数据互相连接起来。因特网上的用户不再只是访问个别文件,而是“冲浪”WWW (World Wide Web,万维网)。用户在自己的浏览器上观看来自互相指引的动态 HTTP服务器上的HTML文档。现在的浏览器都毫无例外地集成了 FTP客户程序,因而用户使用它可以方便地从因特网“下载”文件。
2.3 NAS 网络附接存储
NAS用于预先配置的文件服务器。 从结构上讲,NAS 服务器是功能单一的精简型计算机,运行优化的网络文件系统,如NFS和CIFS,安装有与配置的存储设备,并连接在局域网上。
NAS 是一种专业的网络文件存储和文件备份设备,它基于局域网,按照TCP/IP协议进行通信,以文件I/O 方式进行数据传输。 在局域网环境下NAS 可以实现异构平台之间的数据共享,如LINUX 和 windows。
一个NAS服务器通常包括处理器,一个特别的操作系统,文件服务管理模块和多个硬盘驱动器。 大的NAS服务器还提供附加功能,如抽点快照,远程镜像和在光纤通道SAN 上备份等。
NAS 是专为文件共享开发的。 它主要负责提供文件共享,是的网络中的应用服务器不用管理文件操作,从而减轻应用服务器的负担。 同时在存储设备更新或出现故障的情况下,应用服务器还可以继续运行。 NAS 是一种存储系统设计。
三. NFS 文件系统 和 CIFS 文件系统
3.1 NFS (Network File System)
NFS 是一个典型的基于网络的文件系统,最初由SUN 公司开发,普遍运行在UNIX,LINUX和DOS 系统中。 它为网络内的各个计算机提供了对于共享文件的操作。 NFS 向下支持各种本地文件系统,如:FAT,NTFS,CDFS,HPFS等。
NFS 在TCP/IP 标准协议基础上,基于远地过程调用(RPC:Remote Proceure Call),建立了在TCP/IP 网络环境下的文件共享。 它的设计采用了网络中普遍流行的客户端/服务器模式。
3.2 CIFS(Common Internet File System)
CIFS是由微软公司推出的网络文件系统,主要应用在Windows 系统中,也可以配置在Unix/Linux 系统中。 CIFS 允许客户端使用CIFS协议请求服务端上的各种文件,如网络上的共享目录和打印机等设备。
3.3 NFS 和 CIFS 应用示例
CIFS 在Unix/Linux 系统上实现是通过Samba 软件包。 它遵循CIFS协议。 所以有关NFS 和CIFS 的配置,主要是NFS 和 Samba的配置。 这部分内容,参考我的blog:
Linux NFS 和 Samba 共享配置
http://blog.csdn.net/tianlesoftware/archive/2010/07/22/5752092.aspx
整理自《存储网络与技术》
------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 群:62697716(满); DBA2 群:62697977(满)
DBA3 群:62697850 DBA 超级群:63306533;
聊天 群:40132017
--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请