Linux新技术对象存储文件系统

2016-01-29 19:58 13 1 收藏

Linux新技术对象存储文件系统,Linux新技术对象存储文件系统

【 tulaoshi.com - Linux 】

    随着高性能计算由传统的主机方式向网络化集群演变,传统的基于主机的存储架构已逐渐向网络化存储发展,计算和存储分离的趋势越来越明显。针对 SAN 和 NAS 的不足,国际上已开展针对 Linux 集群的新型文件系统――对象存储文件系统的研究,本文重点论述了存储对象文件系统的架构、技术特点,并针对Lustre 对象存储文件系统进行了初步测试,结果表明对象存储文件系统在可扩展性、性能、易用性等方面都有显著提高,随着网络化存储技术的不断成熟,对象存储文件系统将成为重要的发展方向。

  一、引言

  高性能计算已由传统的主机方式逐渐向集群方式演变,如TOP500中,1998年只有2台系统是集群方式,而到2003年已有208台为集群系统。随着高性能计算体系结构的发展变化,传统的基于主机的存储架构已成为新的瓶颈,不能满足集群系统的需求。集群的存储系统必须有效解决两个主要问题:(1)提供共享访问数据,便于集群应用程序的编写和存储的负载均衡;(2)提供高性能的存储,在I/O级和数据吞吐率方面能满足成百上千台规模的Linux集群服务器聚合访问的需求。目前,网络化存储已成为解决集群系统高性能存储的有效技术途径。

  国际上主要有两类网络化存储架构,它们是通过命令集来区分的。第一类是SAN(Storage Area Network)结构,它采用SCSI 块I/O的命令集,通过在磁盘或FC(Fiber Channel)级的数据访问提供高性能的随机I/O和数据吞吐率,它具有高带宽、低延迟的优势,在高性能计算中占有一席之地,如SGI的CXFS文件系统就是基于SAN实现高性能文件存储的,但是由于SAN系统的价格较高,且可扩展性较差,已不能满足成千上万个CPU规模的系统。第二类是NAS(Network Attached Storage)结构,它采用NFS或CIFS命令集访问数据,以文件为传输协议,通过TCP/IP实现网络化存储,可扩展性好、价格便宜、用户易管理,如目前在集群计算中应用较多的NFS文件系统,但由于NAS的协议开销高、带宽低、延迟大,不利于在高性能集群中应用。

  针对Linux集群对存储系统高性能和数据共享的需求,国外已开始研究全新的存储架构和新型文件系统,希望能有效结合SAN和NAS系统的优点,支持直接访问磁盘以提高性能,通过共享的文件和元数据以简化管理,目前对象存储文件系统已成为Linux集群系统高性能文件系统的研究热点,如Cluster File Systems公司的Lustre、Panasas公司的ActiveScale文件系统等。Lustre文件系统采用基于对象存储技术,它来源于卡耐基梅隆大学的Coda项目研究工作,2003年12月发布了Lustre 1.0版,预计在2005年将发布2.0版。Lustre在美国能源部(U.S.Department of Energy:DOE)、Lawrence Livermore 国家实验室,Los Alamos国家实验室,Sandia 国家实验室,Pacific Northwest国家实验室的高性能计算系统中已得到了初步的应用,IBM正在研制的Blue Gene系统也将采用Lustre文件系统实现其高性能存储。ActiveScale文件系统技术来源于卡耐基梅隆大学的Dr. Garth Gibson,最早是由DARPA支持的NASD(Network Attached Secure Disks)项目,目前已是业界比较有影响力的对象存储文件系统,荣获了ComputerWorld 2004年创新技术奖。

    二、对象存储文件系统

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/linux/)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/linux/)

  2.1 对象存储文件系统架构

  对象存储文件系统的核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(Object-based Storage Device,OSD)构建存储系统,每个对象存储设备具有一定的智能,能够自动管理其上的数据分布,对象存储文件系统通常有以下几部分组成。

  1、对象

  对象是系统中数据存储的基本单位,一个对象实际上就是文件的数据和一组属性的组合,这些属性可以定义基于文件的RAID参数、数据分布和服务质量等,而传统的存储系统中用文件或块作为基本的存储单位,在块存储系统中还需要始终追踪系统中每个块的属性,对象通过与存储系统通信维护自己的属性。在存储设备中,所有对象都有一个对象标识,通过对象标识OSD命令访问该对象。通常有多种类型的对象,存储设备上的根对象标识存储设备和该设备的各种属性,组对象是存储设备上共享资源管理策略的对象集合等。

  2、对象存储设备

  对象存储设备具有一定的智能,它有自己的CPU、内存、网络和磁盘系统,目前国际上通常采用刀片式结构实现对象存储设备。OSD提供三个主要功能:

  (1) 数据存储。OSD管理对象数据,并将它们放置在标准的磁盘系统上,OSD不提供块接口访问方式,Client请求数据时用对象ID、偏移进行数据读写。

  (2) 智能分布。OSD用其自身的CPU和内存优化数据分布,并支持数据的预取。由于OSD可以智能地支持对象的预取,从而可以优化磁盘的性能。

  (3) 每个对象元数据的管理。OSD管理存储在其上对象的元数据,该元数据与传统的inode元数据相似,通常包括对象的数据块和对象的长度。而在传统的NAS系统中,这些元数据是由文件服

来源:http://www.tulaoshi.com/n/20160129/1510494.html

延伸阅读
  第九章 文件系统 本章主要描叙Linux核心对文件系统的支持, 虚拟文件系统(VFS)以及Linux核心对实际文件系统的支持。 Linux的最重要特征之一就是支持多种文件系统。这样它更加灵活并可以和许多其它种操作系统共存。在本文写作时Linux已经支持15种文件系统:ext,ext2,xia,minix,umsdos,msdos,vfat,proc,smb,ncp,iso9660,sysv,hpf...
指令:fsck 使用权限 : 超级使用者 使用方式 : fsck [-sACVRP] [-t fstype] [--] [fsck-options] filesys [...] 说明 : 检查与修复 Linux 档案系统,可以同时检查一个或多个 Linux 档案系统 参数 : filesys : device 名称(eg./dev/sda1),mount 点 (eg. / 或 /usr) -t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kern...
名称:df 使用权限: 所有使用者> 使用方式: df [选项]... [FILE]... 显示档案系统的状况,或是看所有档案系统的状况(预设值) -a, --all 包含所有的具有 0 Blocks 的档案系统 --block-size={SIZE} 使用 {SIZE} 大小的 Blocks -h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...) -H, --si 很像 -h, 但是用 1000 为单...
名称: swapon 使用者权限: 超级使用者(super-user) 使用方式: /sbin/swapon -a [-v] /sbin/swapon [-v] [-p priority] specialfile ... /sbin/swapon [-s] -h 请帮帮我 -V 显示版本讯息 -s 显示简短的装置讯息 -a 自动启动所有SWAP装置 -p 设定优先权,你可以在0到32767中间选一个数字给他。或是在 /etc/fstab 里面加上 pri=[value] ...
  名称: swapon 使用者权限: 超级使用者(super-user) 使用方式: /sbin/swapon -a [-v] /sbin/swapon [-v] [-p priority] specialfile ... /sbin/swapon [-s] -h 请帮帮我 -V 显示版本讯息 -s 显示简短的装置讯息 -a 自动启动所有SWAP装置 -p 设定...

经验教程

387

收藏

25
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部