如何用现有系统创建NAS服务器.docx_第1页
如何用现有系统创建NAS服务器.docx_第2页
如何用现有系统创建NAS服务器.docx_第3页
如何用现有系统创建NAS服务器.docx_第4页
如何用现有系统创建NAS服务器.docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何用现有系统创建NAS服务器单独的网络附加存储服务器向多种多样的客户机提供文件级的存储,实现共享的存储。本文介绍网络附加存储设备(网络附加存储服务器)的基本原理和如何利用现有系统创建一台网络附加存储服务器。戴尔高性能计算企业技术专家Jeff Layton说,你经常需要共享的存储、通用的文件系统或者这种能力让客户(甚至是多种多样的客户)之间轻松地共享数据。理想的情况是你有符合标准的设备,这样,你就可以同Linux、BSD、OSX或者Windows系统共享数据。幸运的是有用于共享存储的标准:网络文件系统(NFS)。事实上,它只是一个标准的文件系统,是创建目前广泛应用的网络附加存储(NAS)设备的一个推动因素。本文简要介绍NFS和NAS设备并且提供在你目前可能拥有的任何服务器上运行NFS的简单步骤。由于NFS是这个事情的推动因素,我们首先评估一下NFS。NFSNFS是第一个广泛应用的允许分布式系统有效地共享数据的文件系统。事实上,它是唯一的能够承受重复的标准的网络文件系统。实际上,NFS是随着每一个*nix 发布版提供的,你还可以得到诸如Windows等其它操作系统的客户端软件。NFS基本上允许你使用配置一些附加存储的服务器,并且“导出”这些附加存储或者与一群客户共享这些存储。这些客户随后能够都可以访问同一个文件系统和共享数据。这台服务器上的存储实际上是与客户共享文件,而不是像在SAN(存储局域网)中那样仅提供原始数据存储器。这意味着那台服务器上的存储必须使用ext3、ext4、xfs、jfs、reiserfs等文件系统中的一个文件系统进行格式化。NFS是一个很容易执行的协议。所有的信息、数据和元数据都经过一个文件服务器。这通常是指下面图1显示的一种“带内”数据流模式。注意,文件服务器接触和管理所有的数据和元数据。这种模式使存储系统更容易配置和监视,因为你仅担心一个系统。此外,它有一个窄的定义良好的故障模式。这种架构的确定包括一个明显的性能瓶颈,负载均衡问题,而且安全是这个服务器节点的一个功能,而不是这个协议。NFS中的一般的数据流是非常简单的。当一个客户机向它已经“安装”的一个NFS文件系统提出一个文件请求的时候,这个安装的守护程序把这个请求转发到NFS服务器,然后这个NFS服务器访问在本地文件系统中的文件。这个数据从NFS服务器传送到那个请求节点,一般使用TCP协议。请注意,那个 NFS是基于文件的。那就是说,当提出一个数据请求的时候,它是提出的一个文件的请求,不是数据块或者一个字节范围的请求。这是我们说NFS是一个基于文件的协议的原因。要了解更详细的NFS的工作原理,下面的图显示了NFS的堆栈布局NFS协议栈在上边这部分(粉色的)是客户机,它有一个应用程序提出一个传送到系统调用接口的I/O请求。如果这个文件系统是基于NFS的,那么,这个请求通过这个网络传送到服务器(中间的蓝色部分标记为“服务器”)。这个请求发送到这个文件系统的用户组件,然后这个文件系统与这个文件系统的存储组件沟通。请注意,在右侧标记为“NVRAM”的方框是一个可选的组件,一些厂商用来通过一个缓存加快运行。最后,这台服务器与这个存储设备上管理的块的扇区/LBA(逻辑块地址)联络,然后这个存储设备从缓存或者硬盘的盘片中提取数据。接下来,这个数据传回到客户机应用程序的栈。对于这个客户机应用程序来说,这个文件系统的行为和外观就像本地文件系统一样。要让人们更好地理解NFS还有更多的工作要做,但是,本文的重点是讨论利用现有的设备和制作一个NAS设备。下一节讨论如何在一台服务器上“启用”NFS,有效地创建一个NAS设备。网络上有许多介绍关于配置和开始应用NFS的方法。因此,本文仅是一个简单的总结,而不是一个全面的操作方法(也就是说省略了一些细节)。启动NFS为了更好地解释在一台现有的服务器上设置NFS的步骤,我将使用一台我在以前的文章中使用过的服务器。本文中使用的这个服务器测试系统的要点是:CentOS5.4操作系统技嘉MAA78GM-US2H主板一个AMDPhenomIIX4920处理器8GB内存(DDR2-800)Linux2.6.30内核(只有reiser4补丁)操作系统和启动盘在一个IBMDTLA-307020硬盘上(在UltraATA/100接口上的20GB硬盘)/home在一个希捷ST1360827AS硬盘上有两个硬盘用于测试。它们是希捷ST3500641AS-RK硬盘,每个硬盘有16MB缓存。它们分别是/dev/sdb和/dev/sdc。对于这个文件系统,仅使用了第一个希捷硬盘/dev/sdb。这个硬盘在这个案例中是ext4。第二个硬盘/dev/sdc用于这个文件系统的日志部分。这个硬盘分区为正确的尺寸并且只有那个分区用作日志(/dev/sdc1)。利用现有的服务器创建一个NAS设备的第一步就是设置和启动NFS。我假设你已经在你的系统中安装了NFS,包括NFS服务器组件。检查NFS 是否已经安装在这台服务器上的一种方法是检查是否存在“/etc/exports”文件(这个文件也许没有任何内容,但是,这个文件应该存在)。此外,在 CentOS或者RHEL平台上,你还可以通过查看“/usr/sbin/rpc.nfsd”这个文件检查这个NFS服务器是否安装了。laytonjbtest64 $ ls -s /usr/sbin/rpc.nfsd20 /usr/sbin/rpc.nfsd对于基于rpm(每分钟转速)的系统,你还可以试试下面的方法:laytonjbhome8$selectionnbsp;rpm-qa|grep-infs system-config-nfs-1.2.8-1 nfs-utils-1.0.6-46(这是一个老式的CentOS 4.1系统,因此许多数字与比较新的东西是不匹配的)。在这点上,让我们假设NFS的服务器组件已经安装了。一般来说,我下一步是启动这台服务器上的NFS。检查NFS是否运行的一个简便的方法是使用这个命令“rpcinfo -p”,这个命令报告这个系统上的RPC(远程程序调用)信息。如果NFS服务器还没有启动,你将看到类似于如下的信息:roottest64#/usr/sbin/rpcinfo-p programversprotoport 1000002tcp111portmapper 1000002udp111portmapper 1000241udp774status 1000241tcp777status在这个输出中最重要的事情是这个“portmapper”(端口映射程序)正在运行,它是NFS的一个重要部分。如果你在这个列表中没有看到“portmapper”,请阅读如何让它运行的说明书。要启动NFS服务器,或者NFS的服务器部分,在某种程度上取决于你的操作系统发布版。在这个测试的CentOS系统上,这是通过执行下列指令完成的。roottest64#/etc/init.d/nfsstart然后,我们再一次运行“rpcinfo -p”,看看NFS是否启动。roottest64#/usr/sbin/rpcinfo-p programversprotoport 1000002tcp111portmapper 1000002udp111portmapper 1000241udp774status 1000241tcp777status 1000111udp645rquotad 1000112udp645rquotad 1000111tcp648rquotad 1000112tcp648rquotad 1000032udp2049nfs 1000033udp2049nfs 1000034udp2049nfs 1000211udp42049nlockmgr 1000213udp42049nlockmgr 1000214udp42049nlockmgr 1000211tcp54256nlockmgr 1000213tcp54256nlockmgr 1000214tcp54256nlockmgr 1000032tcp2049nfs 1000033tcp2049nfs 1000034tcp2049nfs 1000051udp669mountd 1000051tcp672mountd 1000052udp669mountd 1000052tcp672mountd 1000053udp669mountd 1000053tcp672mountd注意,你看到NFS列表,看到NFS v2、NFS v3和NFS v4启动了(看第二栏)。还要注意,用于NFS的UDP和TCP协议也列出了。NFS运行需要一些守护程序。“/etc/init.d/nfs”脚本为我们启动一切程序。但是,一般来说,我们需要的守护程序是:rpc.nfsd (服务器)rpc.lockd (对于服务器和客户机都是常见的)rpc.statd (对于服务器和客户机都是常见的)rpc.mountd (对于服务器和客户机都是常见的)rpc.rquotad (服务器)输出数据下一步是告诉NFS服务器什么目录能够与其它系统(客户机)共享。在NFS的词汇中,这叫作“输出”目录,具体的目录叫作“输出”。现在,NFS启动了,让我们设置它以便把目录输出到服务器。要做这个事情,我们通过定义要输出的目录来编辑这个“/etc/exports”文件及其属性。“/etc/exports ”文件中的典型的输入内容如下:directory machine1(option11,option12) machine2(option21,option22)在这里:目录(directory)是你要输出到客户机的服务器目录。它可以是一个目录或者一个整个的硬盘。然而,它必须用一个文件系统进行格式化。“/etc/exports”文件中的每一行都是一个单独的目录。machine1、machine2是你希望与其共享数据的客户机的名字。例如,它们的列表可以使用client1或者client2等系统的名字(要保证客户机在/etc/hosts目录中列出或者通过NIS列出),或者使用IP地址列出,如192.168.1.8。你还可以使用通配符 “*”来代表任何客户机。这里强烈建议你列出的每一个客户机都能帮助保证没有任何“流氓”客户机能够安装到输出的目录中。维护这个客户机列表是很痛苦的,特别是这个列表很长的话。这点安全性对于不太高级额的攻击是有帮助的。另一方面,如果你是在一个厚厚的防火墙后面,并且相信这个防火墙的能力以及没有人会故意地或者意外地引起故障,那么,你就可以把这些机器的名称列为“*”,这个意思是所有的客户机(高性能计算集群经常这样做,因为这个集群在一个专用网络中。这个网络通常在一个厚厚的防火墙后面)。(option11, options12, ) 是用于输出到这个目录的选择列表。有许多可以使用的选择。这超出了本文介绍的范围。然而,有些更重要的选择是:* “ro”代表只读。因此,这个服务器可以输出只读的目录。这样,客户机就不能向它们写入内容。* “rw”代表读写。这意味着客户机能够对那个输出的目录做读写操作。* “no_root_squash”意思是在客户机上的用户的“root”将拥有与在服务器上的用户“root”相同的访问这些文件的级别。再说一次,围绕这个事情有许多安全问题,建议你在客户机上不要使用“no_root_squash”。* “sync”告诉NFS等待,一直到这个数据在返回之前发送到存储设备。另一个选择是“async”,它允许NFS服务器在数据发送到这就和个设备之前返回到客户机应用程序(也就是说,它可能在缓存的某个地方)。建议你使用“sync”选择,以保证这个数据写道永久性的存储设备中。然而,这种选择有性能方面的影响,使用“sync”选择的安装的NFS文件系统比使用“async”选择的系统慢。你把目录输出到客户机有许多方法。这完全取决于你要完成什么任务和你如何完成这个任务。例如,你可以输出包含应用程序的服务器上的一个目录。客户机只

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论