首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

操作系统

Windows 9X | Linux&Uinx | Windows Server | 其它操作系统 | Vista | FreeBSD | Windows 7 |
首页 > 操作系统 > Linux&Uinx > 基于Linux的集群系统(四) > 正文

基于Linux的集群系统(四)

出处:赛迪网 作者:赛迪网 时间:2006-10-12 10:40:00

  关键技术分析之文件系统

  本篇是《关键技术分析》的第三篇,将为您讲述集群系统文件系统,主要包括Coda,Global,xFS,MOSIX文件系统。

  集群计算的发展需要发展并升级文件系统,此文件系统不仅能够对多个文件提供并行的访问,而且能在对同一文件进行访问的进程间提供cache一致性。大多数传统的网络文件系统如NFS、AFS、Coda对于并行处理而言是远远不够的,因为它们都依赖中心文件服务器。但是,随着越来越多的客户的加入,服务器的cpu很快就成为了性能的瓶颈。为了解决这个问题,处理能力更强的服务器已经被制造了出来,而且文件系统的设计者们也试图将更多的工作交给客户来完成,但是即使是这样,服务器的速度仍然是文件系统可升级性的瓶颈。新一代的文件系统如Global File System(GFS) 、XFS和 Frangipani 比较适合于集群系统。因为这些系统都在集群系统中的机器上分配存储器、cache 和控制权,并且提供了并行文件访问和cache一致性的解决方法。

  1. Coda文件系统

  Coda文件系统(Coda File System)适用于分布式网络环境。它是在1987年在卡耐基梅隆大学以AFS2为原型开发出来的。Linux Virtual Server就采用了Coda文件系统。Coda提供了以下适用于网络文件系统的特性。

  为移动的客户提供了断开操作。

  它是一种自由软件。

  通过客户访问的持续缓存提供了高可用性。

  服务器复制功能。

  提供了认证的安全模型、加密和访问控制。

  部分网络失效后能够继续工作。

  具有网络带宽适应性。

  较好的可扩展性。

  即使在网络失效时也为共享定义了良好的语法。

  AFS和Coda文件系统都将所有的文件放于同一个目录下,如AFS 是/afs,Coda是 /coda,这意味着所有的客户都可以使用相同的配置,所有的用户看到的是相同的文件树。对于大的安装而言这是非常重要的。对于NFS文件系统而言,客户需要服务器的最新列表而在Coda中只需要找到根目录/coda。

  当在客户端敲入"cat /coda/tmp/foo"这样的请求时,cat将调用系统调用向核心请求服务,核心首先找到对应的文件索引节点并返回与该文件相关的文件句柄。索引节点包含文件的一些相关信息,文件句柄用于打开文件。系统调用首先进入核心的虚拟文件系统(VFS),然后它将请求传送给核心中的Coda文件系统模块进行处理。Coda文件系统模块包含着从VFS来的最近的一些请求,然后它将此请求交给Coda缓冲管理器venus进行处理。Venus通过察看硬盘缓冲区、向服务器发请求等方式来定位文件的所在地。如果在硬盘缓冲区中没有找到匹配的文件,则通过远程系统调用向服务器发请求,并且将取到的文件放在cache中,这时,这个文件就是一个普通的文件了,因此可以通过本地文件系统对该文件进行读写的操作。如果在硬盘缓冲区找到了此文件,则可以直接使用这个文件。当对此文件进行了一定的修改并且关闭了以后,venus将把新文件传送给服务器从而来更新服务器上的文件。其它的操作如修改文件系统,创建新目录,删除文件,去除符号链接等都可以传送给服务器。

  但是由于网络有时会出现问题,因此如何保证文件的连续性是一个非常重要的问题。当venus意识到服务器不可用时,它就将客户端对文件的更新存储在修改日志中,当服务器重新可用时,便根据修改日志对服务器上的相应的文件进行更新。

  2. Global 文件系统

  Global 文件系统(Global File System, GFS)允许多个Linux机器通过网络共享存储设备。每一台机器都可以将网络共享磁盘看作是本地磁盘,而且GFS自己也以本地文件系统的形式出现。如果某台机器对某个文件执行了些操作,则后来访问此文件的机器就会读到写以后的结果。GFS文件系统的使用示意图如图1所示。

  3. xFS文件系统

  xFS试图通过将服务器的功能如保持cache的一致性、定位数据和处理磁盘请求分布在各个客户上来提供对文件系统数据的低延迟、高带宽的访问。

  为了保持cache一致性,xFS采用了如下的方法。它将客户方的所有的内存空间看为一个大的cache,这样就减少了客户方的数据缓存,利用了闲置机器的内存,这种合作型的缓存可以通过减少到达磁盘的请求量来降低读延迟。

  为了将定位数据的功能分布到每个客户端,xFS让每个客户都必须对文件的一个子集对应的请求进行处理。文件数据在多个客户端加以分类从而提供更高的带宽,这些分类数据包括一些奇偶信息,通过这些信息可以在机器失效时恢复分类的数据报。这种方法可以保证没有任何节点会产生单点失效的情况。

  4. MOSIX文件系统

  MOSIX集群使用了自己的文件系统MFS文件系统。MFS将集群中的所有文件系统和目录都看作是一个文件系统,而且它提供了对所有节点上的所有文件系统的统一访问,它还通过只提供一个cache保证了cache的一致性。

  MFS包含了许多位于不同节点上的文件子树,因此它就允许对多个文件进行并行操作和cache一致性。

  在MOSIX集群中进行进程迁移时,如果此进程主要占用的是CPU资源,则迁移此进程对于提供系统性能是非常有效的,但是如果此进程需要进行大量的I/O操作,则迁移进程非常不利。这是因为每个I/O操作都需要与该进程原来所处的节点进行通讯。

  因此MFS增加了对DFSA(Direct File System Acess)的支持。DFSA的目的就是让那些需要进行大量I/O操作的进程迁移到远端节点上,该远端节点拥有大多数I/O操作将会涉及到的文件,因此大多数的I/O操作都能在远端节点上完成,而且在远端节点上可以通过本地访问来访问数据。如果一个系统调用是节点无关的,此系统调用就会在远端节点上执行,否则就在本地执行。MFS比其它网络文件系统优越的地方就是它允许使用本地文件系统,这样就减少了进程和文件服务器之间的通讯开销。

  实现过程之理论先导篇(1)

    

    从本篇开始,作者将就集群系统中某些重要部分的具体实现进行讨论。本篇作为实现过程的理论先导篇,将向我们讲述TCP/IP的基本原理及其在LINUX上的实现。

    1 OSI参考模型及TCP/IP参考模型

    OSI模型(open system interconnection reference model)是基于国际标准化组织(ISO)的建议而发展起来的,它分为如图3-1所示的七层。当卫星和无线网络出现以后,现有的协议在和这些网络互联时出现了问题,所以需要一种新的参考体系结构,能无缝地连接多个网络。这个体系结构就是TCP/IP参考模型。

  

  


  2 TCP 协议

  因特网在传输层有两种主要的协议:一种是面向连接的协议,一种是无连接的协议。传输控制协议TCP是(transmission control protocol)专门用于在不可靠的因特网上提供可靠的、端对端的字节流通信的协议。通过在发送方和接收方分别创建一个称为套接字的通信端口就可以获得TCP服务。所有的TCP 连接均是全双工的和点到点的。

  发送和接收方TCP实体以数据报的形式交换数据。一个数据报包含一个固定的20字节的头、一个可选部分以及0或多字节的数据。对数据报的大小有两个限制条件:首先,每个数据报(包括TCP头在内)必须适合IP的载荷能力,不能超过65535字节;其次,每个网络都存在最大传输单元MTU(maximum transfer unit),要求每个数据报必须适合MTU。如果一个数据报进入了一个MTU小于该数据报长度的网络,那么处于网络边界上的路由器会把该数据报分解为多个小的数据报。

  TCP实体所采用的基本协议是滑动窗口协议。当发送方传送一个数据报时,它将启动计时器。当该数据报到达目的地后,接收方的TCP实体向回发送一个数据报,其中包含有一个确认序号,它等于希望收到的下一个数据报的顺序号。如果发送方的定时器在确认信息到达之前超时,那么发送方会重发该数据报。

  2.1 TCP数据报头

  图3-2给出了TCP数据报头的格式。

  

  源端口、目的端口:16位长。标识出远端和本地的端口号。

  顺序号:32位长。表明了发送的数据报的顺序。

  确认号:32位长。希望收到的下一个数据报的序列号。

  TCP头长:4位长。表明TCP头中包含多少个32位字。

  接下来的6位未用。

  ACK:ACK位置1表明确认号是合法的。如果ACK为0,那么数据报不包含确认信息,确认字段被省略。

  PSH:表示是带有PUSH标志的数据。接收方因此请求数据报一到便可送往应用程序而不必等到缓冲区装满时才传送。

  RST:用于复位由于主机崩溃或其它原因而出现的错误的连接。还可以用于拒绝非法的数据报或拒绝连接请求。

  SYN:用于建立连接。

  FIN:用于释放连接。

  窗口大小:16位长。窗口大小字段表示在确认了字节之后还可以发送多少个字节。

  校验和:16位长。是为了确保高可靠性而设置的。它校验头部、数据和伪TCP头部之和。

  可选项:0个或多个32位字。包括最大TCP载荷,窗口比例、选择重发数据报等选项。

  最大TCP载荷:允许每台主机设定其能够接受的最大的TCP载荷能力。在建立连接期间,双方均声明其最大载荷能力,并选取其中较小的作为标准。如果一台主机未使用该选项,那么其载荷能力缺省设置为536字节。

  窗口比例:允许发送方和接收方商定一个合适的窗口比例因子。这一因子使滑动窗口最大能够达到232字节。

  选择重发数据报:这个选项允许接收方请求发送指定的一个或多个数据报。

  2.2 连接管理

  在TCP中建立连接采用三次握手的方法。为了建立连接,其中一方,如服务器,通过执行LISTEN和ACCEPT原语被动地等待一个到达的连接请求。

  另一方,如客户方,执行CONNECT原语,同时要指明它想连接到的IP地址和端口号,设置它能够接受的TCP数据报的最大值,以及一些可选的用户数据。CONNECT原语发送一个SYN=1,ACK=0的数据报到目的端,并等待对方响应。

  该数据报到达目的端后,那里的TCP实体将察看是否有进程在侦听目的端口字段指定的端口。如果没有,它将发送一个RST=1的应答,拒绝建立该连接。

  如果某个进程正在对该端口进行侦听,于是便将到达的TCP数据报交给该进程,它可以接受或拒绝建立连接。如果接受,便发回一个确认数据报。一般情况下,TCP的连接建立过程如图3-3所示。

  


  为了释放连接,每方均可发送一个FIN=1的TCP数据报,表明本方已无数据发送。当FIN数据报被确认后,那个方向的连接即告关闭。当两个方向上的连接均关闭后,该连接就被完全释放了。一般情况下,释放一个连接需要4个TCP数据报:每个方向均有一个FIN数据报和一个ACK数据报。
  2.3 传输策略

  TCP中采用滑动窗口来进行传输控制,滑动窗口的大小意味着接收方还有多大的缓冲区可以用于接收数据。发送方可以通过滑动窗口的大小来确定应该发送多少字节的数据。当滑动窗口为0时,发送方一般不能再发送数据报,但有两种情况除外,一种情况是可以发送紧急数据,例如,允许用户终止在远端机上的运行进程。另一种情况是发送方可以发送一个1字节的数据报来通知接收方重新声明它希望接收的下一字节及发送方的滑动窗口大小。

  2.4 拥塞控制

  当加载到某个网络上的载荷能力超过其处理能力时,便会出现拥塞现象。对于因特网来说有两个潜在的问题--网络的容量和接收方的容量,应该分别进行处理。发送方始终保持两个窗口:接收方承认的窗口和拥塞窗口。取两个窗口的最小值作为可以发送的字节数。

  当建立连接时,发送方将拥塞窗口大小初始化为该连接所用的最大数据报的长度值,并随后发送一个最大长度的数据报。如果该数据报在定时器超时之前得到了确认,那么发送方会在原拥塞窗口的基础上再增加一个数据报的字节值,使其为两倍最大数据报的大小,然后发送两个数据报。当这些数据报中的每一个都被确认后,拥塞窗口大小就再增加一个最大数据报的长度。当拥塞窗口是N个数据报的大小时,如果发送的所有N个数据报都被及时确认,那么将拥塞窗口大小增加N个数据报对应的字节数目。拥塞窗口保持指数规律增大,直到数据传输超时或者达到接收方设定的窗口大小。拥塞窗口便设置为恰好不造成超时或达到接收方的窗口大小的字节数。

  2.5 定时器管理

  TCP使用多个定时器,如重发定时器、持续定时器、"keep alive"定时器等。

  最重要的是重发定时器。在发送一个数据报的同时,启动一个数据重发定时器。如果在定时器超时前该数据报被确认,则关闭该定时器;相反,如果在确认到达之前定时器超时,则需要重发该数据报。

  持续定时器用于防止出现死锁情况。

  当一个连接长时间闲置时,"keep alive"定时器会超时而使一方去检测另一方是否仍然存在。如果它未得到响应,便终止该连接。

  3 UDP协议

  因特网协议组也支持无连接的传输协议UDP(user data protocol)。 UDP使用底层的因特网协议来传送报文,提供与IP一样的不可靠的、无连接的数据报传输服务。它不使用确认信息对报文的到达进行确认,不对收到的数据报进行排序,也不提供反馈信息来控制机器之间传输的信息流量。UDP通信的可靠性方面的工作,包括报文的丢失、重复、乱序等现象,由使用UDP的应用程序来承担。

  一个UDP数据报包括一个8字节的头和数据部分。报头的格式如下图3-4所示,它包括四个长为16字节的字段。源端口和目的端口的作用与TCP中的相同,是用来标明源端和目的端的端口号。UDP长度字段指明包括8个字节的头和数据在内的数据报长度。UDP校验和字段是可选项,用于纪录 UDP头、UDP伪头、用户数据三者的校验和。

  

  4 IP协议

    IP协议提供了不可靠的、无连接的数据报传输机制。TCP/IP是为了适应物理网络的多样性而设计的,而这种适应性主要是通过IP层来体现的。由于物理网络的多样性,各种物理网络的数据帧格式、地址格式之间的差异很大。为了将这些底层的细节屏蔽起来,使得采用不同物理网络的网络之间进行通讯, TCP/IP分别采用了IP数据报和IP地址作为物理数据帧与物理地址的统一描述形式。这样IP向上层提供统一的IP数据报和统一的IP地址,使得各种物理帧及物理地址的差异性对上层协议不复存在。

    

  4.1 IP数据报头

  一个IP数据报由一个头部和数据部分构成。头部包括一个20字节的固定长度部分和一个可选任意长度部分。头部格式如图3-5所示。

  


  版本:4位长。记录了数据报对应的协议版本号。当前的IP协议有两个版本:IPV4 和IPV6。

  IHL:4位长。代表头部的总长度,以32位字节为一个单位。

  服务类型:8位长。使主机可以告诉子网它想要什么样的服务。如下图所示,服务类型域又分为了5个部分。优先权字段是标志优先级的;三个标志位分别代表延迟、吞吐量、可靠性。

  


  总长:16位。指头部和数据的总长。最大长度是65535个字节。

  标识:16位。通过它使目的主机判断新来的分段属于哪个分组,所有属于同一分组的分段包含同样的标识值。

  DF:代表不要分段。它命令路由器不要将数据报分段,因为目的端不能重组分段。

  MF:代表还有进一步
相关文章 热门文章
  • 基于Linux的集群系统(五)
  • 基于Linux的集群系统(三)
  • 基于Linux的集群系统(二)
  • 基于linux的集群系统(一)
  • linux的基本操作(上)
  • Linux系统下应用知识大荟萃
  • GNU GRUB启动管理器
  • 制作基于软盘的Linux系统
  • 网络配置文件快速解读
  • linux的基本操作(下)
  • 剖析Linux系统启动过程
  • DameWare让局域网管理不再繁琐
  • 在Redhat 9下实现双机热备和集群功能
  • LINUX守护进程介绍
  • Redhat advance server 2.1集群的安装与管理
  • Linux必须学会的60个命令-文件处理
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号