如何用 nas 虚拟技术,搭建开发环境

如何用 nas 虚拟技术,搭建开发环境,第1张

同样,虚拟机在物理服务器间迁移以实现整个环境效率最大化时,在这些服务器间共享的网络介质要实现快速的切换和转换。

  如果说所有的虚拟化环境都有一个共同的主题,那就是数据中心虚拟化存储空间需求。尽管现在市场上更倾向于使用StorageAreaNetwork(SAN)技术,但是NetworkAttachedStorage(NAS)也能满足企业数据中心这方面的需求。

  网络存储的实现有两个主要的方法:NAS和SAN。这两种方法在网络架构以及在网络客户端上的表现都有所差别。NAS设备利用现有的IP网络和传输文件层接入,提取它可用的物理磁盘,并以网络共享的方式向使用诸如CIFS或NFS的终端客户机提供一致的文件系统。NAS设备对网络方式的文件共享进行了优化,因为它们与文件服务器几乎是相同的。

  相反,SAN技术,包括FibreChannel(FC)和iSCSI,实现数据块层访问,放弃文件系统抽象并在客户端表现为未格式化的硬盘

。FC是目前最流行的SAN技术,它运行在一个专用的网络上,要求在每个服务器上使用专属的FC交换机和主机总线适配器(HBA)。而FibreChanneloverEthernet(FCoE)是一个补充的新标准,它将存储和IP网络合并到一个聚合交换机上,但是它仍然需要在每个服务器上使用特殊的聚合网络适配器(CNA)。

  而另一个数据块级技术iSCSI则在IP流量中封装了SCSI命令,同时能够使用现有Ethernet网络接口适配器,但是它一般会增加一个TCP/IP卸载引擎(TOE)来优化性能。SAN解决方案在性能方面相对于NAS设备具备一定的优势,但也存在一些争议。SAN阵列的一个分区能够在两台主机上共享,但是这两台主机都会将空间看作是自己的,这样这两台主机之间就会有空间争夺的风险。虽然有一些方法可以解决这个资源争夺问题,但是这个修复方法会增加额外一层的抽象——而NAS解决方案已经包含这一层抽象了。

  两种类型的虚拟化存储数据中心都有各自的作用。例如,Microsoft的Exchange服务器只支持通过数据块级访问数据的网络存储。由于SAN的性能一般比NAS解决方案好,所以企业会在高I/O要求的应用中使用存储网络,如数据库。然而,出于实际管理虚拟机镜像库的目的,文件级访问很可能是许多环境中最简单的部署方法。根据组织的不同要求,数据中心经理可能会要求存储团队实现文件级存储,或者直接安装一个专用的NAS设备来满足他们数据中心虚拟化存储的需求。

  虚拟化环境中NAS的替代方法

  虽然许多人将NAS设备看作是支持虚拟化环境的最清晰的方法,但还有许多替代方案。对于已经部署了SAN的组织来说,他们可以使用NAS-SAN混合解决方案,在SAN可用空间之上再建立文件系统抽象。一个混合解决方案可以创建数据中心经理更喜欢的抽象层,同时保持中央存储网络的性能和可管理性。较小型的组织也可以考虑共享物理服务器上直接附加的存储空间,使用其中一个服务器作为中央存储库,而其余服务器则从这个服务器获取VM镜像。虽然这个解决方案可以在最小型的环境中运行,但是在较大型的环境中它可能很快就会导致I/O瓶颈。

  虚拟化中NAS的网络设计注意事项

  对于网络管理员来说,万幸的是NAS设备所依赖的文件共享和传输协议与大多数文件服务器是一样的,所以部署使用NAS的设计方法是非常相似的。然而,由于虚拟化环境的本质和所涉及的文件较大,所以在目标服务器上传输这些虚拟机镜像时需要尽早地考虑一些特别的注意事项。

  网络管理员在进行NAS部署时应该保证所有相关的连接至少使用GigabitEthernet。他们也必须验证连接虚拟环境的网络交换机使用的端口数足够,从而能给存储设备提供足够的带宽。管理员也应该再次评估可能影响服务器和存储之间连接的QualityofService(QoS)策略,并在需要时对它进行调整,可以给予增加的存储流量更高的优先级。在NAS部署前后都进行网络基线设置可以清晰的认识到添加NAS设备到数据中心网络所产生的影响。如果性能出现问题,那么通过VLAN或专用交换机对网络的存储流量进行划分也是一个解决方法。

  网络管理员应该与数据中心经理紧密协作,一起进行性能测试和比较NAS设备上可用的各种网络协议,一般是NFS和CIFS。这两种标准的实现会因为网络设备、操作系统和虚拟化存储方案的不同而差别很大。由于平台的差异,以及组织的不同需求,每个可用方法的性能测试都将会帮助您确定特定环境中的最佳解决方案。

  最后,网络管理员和数据中心经理在数据中心中部署一个NAS设备时需要注意那些可能超出技术支持容量的增长。网络存储的作用可能快速地增大,从而导致I/O瓶颈和其他问题。虚拟环境快速修复可能会像滚雪球一样成为一个企业存储解决方案,特别是在小型组织。可以肯定的是,即使是很小型的NAS部署都会讨论向更包容的企业网络存储战略发展。根据不同需求,如果企业需要更高的吞吐量,那么网络存储可能需要增长为较大规模NAS的解决方案或迁移到SAN的解决方案。

现在,我遇到了两个难题:1)如何将WSS2003移植到NAS设备上?2)公司要求我列出一份详细的零部件采购单。请问,组装一套WSS2003NAS系统需要哪些必要的硬件组件(比如说嵌在芯片上或闪卡上的磁盘、SATA磁盘、主机总线适配卡,等等)?WSS2003并不是单独出售的,一般都会作为NAS系统解决方案的组件之一捆绑出售,目前供应WSS2003NAS产品的存储厂商有很多家,你可以从中挑选一家,建议最好选择那些一线品牌的产品,比如说惠普和EMC,信誉和质量都不错。购买成品,花费的钱并不见得比自己动手组装来得多,而且售后服务有保障,部署起来也轻松许多。目前市面上的NAS设备可以分成两大类,一类是使用特殊的硬软件部件装配起来的,一类是配置标准服务器的,不过预安装的操作系统是专用于文件服务,比如说WSS2003。系统组件的型号很多,它们之间的区别主要体现在性能指标、群集的连接方式和磁盘存储的类型等3个方面。标准接口的磁盘和CF卡都可用作系统启动盘。实际上,我也没法为你提供一份标准的采购清单,正因为市面上的零部件品牌型号太多,还得根据贵公司的具备要求及预算开支来决定。一般情况下,也就是由主处理器板、网络接口(有两种,一种是集成在主板上,一种是独立的网络接口卡)、设备接口(有两种,一种是集成的,一种是支持SCSI、光纤或SATA接口标准的主机总线适配器)、启动设备、软件工具等几大块组成。至于Windows自带的软件以及监视器、键盘等外围设备,是不需要罗列进去的。

nas就是Network Attached Storage:网络附属存储,详细功能的不说了,省得跟打广告似的。我现在看片都是用kit+u盘解决的,但是还是觉得不方便。注意到好多播放软件都有流媒体功能,也就是支持ftp和samba(文件共享)协议,也就试过笔电下完片子后开个共享文件夹,用ipad直接看共享的东西。但这样就得把笔电一直开着当服务器,总觉着有点麻烦,也浪费,笔电都开着呢直接用笔电看就好了。同事家一直用nas下mkv,主要是用来全天下载的,本来就有点兴趣,特别关注了一下。后来发现这东西就是个服务器,从理论上讲,应该可以将它作为ipad的视频服务器使,但就是还没下手。看看有没用高手已经这么架起来了,谈谈各家nas的使用感受,对无线路由器的速度有没有什么要求?还有就是有些nas可以当iTunes服务器,这个功能用起来方便吗?

  •CentOS 54操作系统

  •技嘉MAA78GM-US2H主板

  •一个AMD Phenom II X4 920处理器

  •8GB内存(DDR2-800)

  •Linux 2630内核(只有reiser4补丁)

  •操作系统和启动盘在一个IBM DTLA-307020硬盘上(在Ultra ATA/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/rpcnfsd”这个文件检查这个NFS服务器是否安装了。

  [laytonjb@test64 ]$ ls -s /usr/sbin/rpcnfsd

  20 /usr/sbin/rpcnfsd

  对于基于rpm(每分钟转速)的系统,你还可以试试下面的方法:

  [laytonjb@home8 ]{$selection}nbsp;rpm -qa | grep -i nfs  system-config-nfs-128-1  nfs-utils-106-46 

  (这是一个老式的CentOS 41系统,因此许多数字与比较新的东西是不匹配的)。在这点上,让我们假设NFS的服务器组件已经安装了。

  一般来说,我下一步是启动这台服务器上的NFS。检查NFS是否运行的一个简便的方法是使用这个命令“rpcinfo -p”,这个命令报告这个系统上的RPC(远程程序调用)信息。如果NFS服务器还没有启动,你将看到类似于如下的信息:

  [root@test64 ]# /usr/sbin/rpcinfo -p  program vers proto   port   100000    2   tcp    111  portmapper   100000    2   udp    111  portmapper   100024    1   udp    774  status   100024    1   tcp    777  status

  在这个输出中最重要的事情是这个“portmapper”(端口映射程序)正在运行,它是NFS的一个重要部分。如果你在这个列表中没有看到“portmapper”,请阅读如何让它运行的说明书。

  要启动NFS服务器,或者NFS的服务器部分,在某种程度上取决于你的操作系统发布版。在这个测试的CentOS系统上,这是通过执行下列指令完成的。

  [root@test64 ]# /etc/initd/nfs start

  然后,我们再一次运行“rpcinfo -p”,看看NFS是否启动。

  [root@test64 ]# /usr/sbin/rpcinfo -p  program vers proto   port   100000    2   tcp    111  portmapper   100000    2   udp    111  portmapper   100024    1   udp    774  status   100024    1   tcp    777  status   100011    1   udp    645  rquotad   100011    2   udp    645  rquotad   100011    1   tcp    648  rquotad   100011    2   tcp    648  rquotad   100003    2   udp   2049  nfs   100003    3   udp   2049  nfs   100003    4   udp   2049  nfs   100021    1   udp  42049  nlockmgr   100021    3   udp  42049  nlockmgr   100021    4   udp  42049  nlockmgr   100021    1   tcp  54256  nlockmgr   100021    3   tcp  54256  nlockmgr   100021    4   tcp  54256  nlockmgr   100003    2   tcp   2049  nfs   100003    3   tcp   2049  nfs   100003    4   tcp   2049  nfs   100005    1   udp    669  mountd   100005    1   tcp    672  mountd   100005    2   udp    669  mountd   100005    2   tcp    672  mountd   100005    3   udp    669  mountd   100005    3   tcp    672  mountd

  注意,你看到NFS列表,看到NFS v2、NFS v3和NFS v4启动了(看第二栏)。还要注意,用于NFS的UDP和TCP协议也列出了。

  NFS运行需要一些守护程序。“/etc/initd/nfs”脚本为我们启动一切程序。但是,一般来说,我们需要的守护程序是:

  rpcnfsd (服务器)

  rpclockd (对于服务器和客户机都是常见的)

  rpcstatd (对于服务器和客户机都是常见的)

  rpcmountd (对于服务器和客户机都是常见的)

  rpcrquotad (服务器)

  输出数据

  下一步是告诉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地址列出,如19216818。你还可以使用通配符 “”来代表任何客户机。这里强烈建议你列出的每一个客户机都能帮助保证没有任何“流氓”客户机能够安装到输出的目录中。维护这个客户机列表是很痛苦的,特别是这个列表很长的话。这点安全性对于不太高级额的攻击是有帮助的。另一方面,如果你是在一个厚厚的防火墙后面,并且相信这个防火墙的能力以及没有人会故意地或者意外地引起故障,那么,你就可以把这些机器的名称列为“”,这个意思是所有的客户机(高性能计算集群经常这样做,因为这个集群在一个专用网络中。这个网络通常在一个厚厚的防火墙后面)。

  •(option11, options12, …) 是用于输出到这个目录的选择列表。有许多可以使用的选择。这超出了本文介绍的范围。然而,有些更重要的选择是:

   “ro”代表只读。因此,这个服务器可以输出只读的目录。这样,客户机就不能向它们写入内容。

   “rw”代表读写。这意味着客户机能够对那个输出的目录做读写操作。

   “no_root_squash”意思是在客户机上的用户的“root”将拥有与在服务器上的用户“root”相同的访问这些文件的级别。再说一次,围绕这个事情有许多安全问题,建议你在客户机上不要使用“no_root_squash”。

   “sync”告诉NFS等待,一直到这个数据在返回之前发送到存储设备。另一个选择是“async”,它允许NFS服务器在数据发送到这就和个设备之前返回到客户机应用程序(也就是说,它可能在缓存的某个地方)。建议你使用“sync”选择,以保证这个数据写道永久性的存储设备中。然而,这种选择有性能方面的影响,使用“sync”选择的安装的NFS文件系统比使用“async”选择的系统慢。

  你把目录输出到客户机有许多方法。这完全取决于你要完成什么任务和你如何完成这个任务。例如,你可以输出包含应用程序的服务器上的一个目录。客户机只需要下面显示的“/etc/exports”目录中的一行内容。

  /opt 19216818(ro)

  在这个例子中,服务器正在向一个IP地址为19216818的客户机输出(共享)包含一些应用程序的/opt目录。这个客户机能够以只读的方式(不允许写盘)安装这个目录。这是在一台服务器上安装应用程序并且与其它客户机共享这些应用程序的一种常见的方式。

  NFS应用最多的是用于根目录。把用户的根目录放在一台服务器上,然后再把它安装在客户机上,是很容易的和常见的。在“/etc/exports”目录中输入的内容看起来也许像如下的样子:

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何用 nas 虚拟技术,搭建开发环境

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情