1、对存储系统发挥特殊作用的文件系统2006年5月-北京存储系统当前是信息系统建设的核心 在直连存储系统的时代,应用系统以计算机为中心,存储只是外设,数据是存储孤岛 在存储网络时代,数据成为信息系统的核心,应用系统充分挖掘数据的价值,服务器成为存储系统的外设文件级在存储系统中的位置应用系统操作系统文件系统RAID控制磁盘读写文件级传输文件级传输块级传输块级传输文件级传输:应用系统的I/O逻辑请求,它是文件系统的输入。是应用系统要求存储做什么的逻辑请求。文件系统决定数据(包括META数据)在磁盘上的存放格式和位置,这种格式和位置又决定磁头的移动方式。块级传输:应用系统的I/O物理请求,它是文件系统的
2、输出。是怎么对存储操作的数据块请求。RAID控制使文件系统看到一个大逻辑盘。它不管磁盘格式。从应用系统的I/O调用看存储模式文件系统对存储系统的效率有举足轻重的作用应用系统操作系统文件系统RAID控制磁盘读写NASFC SANSAN和NAS存储模型的比较应用服务器应用服务器以太网交换机以太网交换机NAS FC 交换机交换机SAN应用服务器应用服务器文件系统文件系统RAIDRAID文件系统文件系统RAID文件系统文件系统RAID应用服务器应用服务器文件系统文件系统应用服务器应用服务器误区之一:带宽决定一切人们经常高估带宽的作用。他们一看到网络变慢,就想到是带宽不够了,其实往往是其他原因。我个人还
3、从来没有看到因为带宽不够需要从2-Gbps生到4-Gbps的情况。Quite often people are not exceeding their bandwidths.They see a network slowdown and think they are exceeding their pipeline,but often it is something else.Im not yet personally seeing anyplace where the need to exceed 2-Gbps is a reason to push for 4-Gbps.随着4-Gbps产
4、品价格下落,对大映像文件存取所用的SAN会是最好的选择。但对于象数据库这样的应用所用的SAN来说,增添的性能是多余的。With the price of 4-Gbps products expected to fall,it will be the best alternative for installing new SANs,or for existing SANs where large imaging or R&D files are stored and accessed.But for existing SANs used for such applications as data
5、bases,the extra performance may not be necessary.-摘自“IBM Latest Vendor To Throw Hat Into 4Gbps Ring”CRN 5-9-05文件系统(1)什麽是文件系统?计算机的文件系统是任何信息管理系统的基本元素。它是处理过的信息最终被放置的地方。关键应用系统的客户依靠文件系统得到快速、不间断的可靠的数据访问。VERITAS指数据(包括文件和metadata)在存储介质上的组织管理模式,以便能快速可靠地存取数据。文件系统是最初的存储“虚拟者”。每个操作系统都有自己的文件系统。例如操作系统所支持的文件系统MS-DO
6、S,Windows 95 FAT16Windows 95,98,MeFAT16,FAT32Windows NT,2000,XPNTFS,FAT16,FAT32LinuxExt2,FAT32,FAT16文件系统(2)不同的文件系统有不同的格式。例如文件系统最长文件名 最大卷大小 最大文件大小FAT1682GB*2GBFAT322552TB4GBNTFS25516TB16TBExt22554TB2GB不同的FS有不同的存储效率WAFL Writes to nearest available free blockBerkeley Fast File System/Veritas Fast File
7、System/NTFS Writes to pre-allocated locations(data and metadata).文件系统对I/O效率的影响文件系统决定了磁头如何读写磁盘磁头是毫秒级操作,最大限度地减少磁头臂的平均移动次数,是提高读写效率的关键WAFL 大目录处理对谁有用?大邮件目录新闻大目录环境每秒创建数Directory SizeSunOSNetApp 2.0NetApp 2.110003011312250002268123100001640122200001214122Copy-on-Write技术(1)数据卷Snapshot卷需要建立快照卷Copy-on-Write技术
8、(2)Data VolumeSnapshot Volume必须进行数据拷贝Copy-on-Write技术(3)Data VolumeSnapshot VolumeNetApp 的 Snapshot 快照技术(1)ABCActive File SystemFile:NETAPP.DATDisk blocksNetApp 的 Snapshot 快照技术(2)Snapshot.0File:NETAPP.DATABCActive File SystemFile:NETAPP.DATDisk blocksSnapshot 仅仅记录这三个仅仅记录这三个数据块的指针数据块的指针,没有数据拷贝没有数据拷贝Ne
9、tApp 的 Snapshot 快照技术(3)Snapshot.0File:NETAPP.DATCWAFL把修改后的数据块写到新位置(C)现在数据块(C)既没有被更新,也没有被释放ABCActive File SystemFile:NETAPP.DATDisk blocks顾客修改数据块 C新数据新数据NetApp 的 Snapshot 快照技术(4)当前文件系统 NETAPP.DAT 现在由数据块 A,B 和 C组成.NETAPP.DAT 的Snapshot.0由数据块 A,B 和 C 组成.可以同时保留多个文件系统版本,用于系统快速恢复CSnapshot.0File:NETAPP.DATA
10、BCActive File SystemFile:NETAPP.DATDisk blocks不同“快照”方式的比较把模块把模块“C”改为改为“Z”其它File Systems(例如,NTFS,UFS)存在存在 Snapshot每个 write I/O 变为:Read old valueWrite old valueWrite new value300%I/O penalty把模块把模块“C”改为改为“Z”Write Anywhere File Layout 一个 write I/O 保持为一个 I/O当前文件当前文件系统系统Snapshot当前文件当前文件系统系统Snapshot当前文件当前文
11、件系统系统SnapshotCABCDABZDZABCD存储系统中的缓存作用v磁盘写操作涉及磁头臂的机械运动,可以用带电池的缓存来减短应用的中断时间v缓存可以把单个写操作,积累成批量写操作,从而提高磁盘阵列的写效率v写缓存可以放在文件系统级或卷管理级基于文件系统的缓存进程中断时间最短,客户响应时间加快,可预见NVRAM:保证快速写操作保证快速写操作保证所写数据与磁盘的一致性,缩短中断时间基于文件系统和基于卷的缓存UNIX NVRAMNetApp NVRAMDisk DriverNVRAMSemantic LayerWrite alloc Layer File System NFS Disk Dr
12、iverNVRAMSemantic LayerWrite alloc LayerFile System NFS FC SAN解决数据共享的传统方法NAS gateway方法 缺点:两个管理界面效率不匹配(NAS gateway可能是瓶颈)资源不能完全共享硬件资源浪费(Cache)适用情况:绝大部分数据是结构化的,少量是非结构化的CFS:在群集范围内的所有存储设备上的每个存储块可以被并发读写。它不适用顾客,只适用服务器。CFS通过分布锁管理器(DLM)来实现数据共享。如:ADIC的StorNext,IBM的DFS:它协调所有的服务器实现数据共享。它对顾客和服务器采用2层结构的文件系统。在顾客层,
13、它实现跨越所有机器的统一命名空间和单个文件系统的表达方式。它的服务器层承担所有的I/O操作,从数据存储的观点看,服务器层相当于存储层,有时就简称为存储结点。在DFS结构中,每个物理服务器管理自己的存储资源,不同的物理服务器彼此并不直接共享存储资源。如:NetApp的SpinFS(现在的Data ONTAP NG)群集文件系统与分布式文件系统群集文件系统CFS示例群集服务器客户端FC交换机Metadata控制器SAN卷 每个群集服务器看到的是相同的SAN卷 用控制器统一管理群集服务器对SAN卷中文件的共享 可以支持从主机到存储的多路径合并 可以支持异构平台的互操作DFS示例GX 1GX 1GX
14、2GX 2GX 3GX 3GX 4GX 4FCFC通路灵活卷GigEGigE 顾客网络LinuxLinux计算网格GXGXClusterClusterGigEGigE 群集网络(可以构架为冗余)10/100/1000 10/100/1000 管理网络FCFC失效恢复路径汇聚FCFC 或 ATA ATA 磁盘架InfiniBandInfiniBand 系统失效恢复连接关键技术整体命名空间(global namespace)简单所有参加计算的节点,可以看到所有数据简化mount点的管理在顾客端无需改动透明扩展灵活卷的移动失效接管扩展性将命名空间用于PB数量级数据可管理性整体命名空间举例Proj_A
15、BCProj_ABCEngEngSynSynSimSimDocsDocsSWSWHWHWProj_XYZProj_XYZGX 1GX 1GX 2GX 2GX 3GX 3GX 4GX 4整体命名空间EngEngProj_ABCProj_ABC Proj_XYZProj_XYZHWHWSWSWDocsDocs SimSim SynSynFibreFibreChannelChannel存储的灵活卷GigE 顾客网络对位于对位于SWSW目录上目录上文件的文件的NFSNFS请求请求LinuxLinuxComputeComputeGridGridGXGXClusterClusterGigE 群集网络顾客可
16、以mount到任何服务器上,存取整个命名空间举例:从位于GX1的服务器端口,存取位于GX3上的灵活卷SW扩展性 灵活卷的条带化提供高性能选择好处创建跨多个控制器节点的灵活卷将灵活卷的通量扩展到多GB/秒将灵活卷的大小扩展到数百TB传送多GB/秒的通量给重要文件和目录保持管理的简单性用相同的存储系统于多个应用需求ProjectsProjectsX XB BC CA1A1A2A2A3A3 B1B1B2B2 C1C1C2C2C3C3B BC CA1A1A2A2A3A3B1B1B2B2C1C1C2C2C3C3LinuxLinux计算网格GX ClusterGX Cluster整体命名空间FV3FV3
17、FV4FV4FV7FV7 FV8FV8FV11FV11FV12FV12FV1FV1 FV2FV2FV5FV5 FV6FV6FV9FV9 FV10FV10条带化的卷X扩展性 透明扩展透明扩展透明数据移动用于存储扩展好处迅速无缝地启用新存储和/或应用无需宕机时间对计算节点透明,不改变命名空间ABCA1A2A3B1B2C1C2C3ProjectsABCA1 A2 A3 B1 B2C1 C2 C3把数据移到新添加的存储上把数据移到新添加的存储上BB扩展性 负载均衡镜像整体命名空间ProjProjA AB BC CD DA1A1 A2A2B1B1 B2B2 B3B3 C1C1 C2C2 C3C3D1D1
18、 D2D2 D3D3C1C1B1B1GX 1GX 1GX 2GX 2GX 3GX 3GX 4GX 4FibreFibreChannelChannel存储的灵活卷GXGXClusterClusterA1A1ProjProjA2A2D1D1B2B2D2D2C2C2B3B3D3D3C3C3A3 A3 A3A3A3A3 镜像的灵活卷GigE群集网络与整体命名空间透明结合不需要修改顾客 直接mount到有镜像数据的节点,可以从本地镜像读取数据需要远程数据的DFS请求,将被轮流分布到可用的镜像上 举例:灵活卷A3读取频率很高GX3正在变饱和镜像创建在GX2,3,4Mount到GX2,3,4的顾客可以直接读
19、取Mount到GX1的顾客将通过DFS从其它三个节点读取A3数据 灵活数据管理 数据移动透明数据移动适宜优化负载好处优化性能充分利用磁盘空间不影响应用运行 对顾客透明,不改变命名空间举例:优化项目A的响应时间ABCA1A2A3B1B2C1C2C3ProjectsABCA1 A2 A3 B1 B2C1 C2 C3项目项目A 得到专用资源得到专用资源灵活数据管理 分层存储应用情况:分层存储根据磁盘的价格/性能比匹配磁盘在同一命名空间内管理主存储与二级存储分层存储应用:归档 盘到盘备份 引用数据应用情况:顺序I/O应用用ATA的价格,取得FC的性能对不同的磁盘或应用要求,提供不同的RAID保护(如提
20、供2块磁盘失效的数据保护)BCA2A3C1C2AProjectsABCA1 A2 A3 B1 B2C1 C2 C3A1B1主存储(所有工作负载得到最高性能所有工作负载得到最高性能)二级存储(较低的$/GB)B2C3灵活卷移动时命名空间保持灵活卷移动时命名空间保持卷管理传统卷,FlexVol今天的卷v卷是存储的基本建设模块卷是存储的基本建设模块v数据管理的操作和计划均围绕卷进行数据管理的操作和计划均围绕卷进行 快照 备份和恢复 空间的分配和供应v问题在于问题在于:卷与底层的磁盘是密不可分的卷与底层的磁盘是密不可分的 缺乏灵活性缺乏灵活性 难于按应用特性分卷难于按应用特性分卷 空间利用率低空间利用
21、率低 性能难于优化性能难于优化介绍 FlexVol4 数据存储和管理的主要单位数据存储和管理的主要单位仍旧是仍旧是WAFL 卷卷4 FlexVol:不再直接与物理存储不再直接与物理存储挂钩挂钩4 FlexVol:每个每个aggregate可有多可有多个个4 存储空间能够很容易被再分配存储空间能够很容易被再分配AggregateDisksDisksDisksFlexVols4 Aggregate包含物理存储包含物理存储Aggregates 与 FlexVols:工作原理RG1RG2RG3AggregateRG1RG2RG3FlexVol1FlexVol 2FlexVol 3创建并使用每个创建并使
22、用每个FlexVol:4无需给特定的卷预分数据块无需给特定的卷预分数据块4 WAFL 在往卷上写数据时才分在往卷上写数据时才分配空间配空间创建创建 RAID 组组创建创建 aggregateAggregates 与 FlexVolsFlexVols:the logical storage container 能够不间断地扩大或缩小 可以小到几个MBs,也可大到整个 aggregate 保留所有其它卷级特性Aggregate:一个物理存储池FlexVol:改善空间利用率通常的卷通常的卷:4 自由空间按卷成为碎片自由空间按卷成为碎片4 自由空间对其它卷无效自由空间对其它卷无效Vol 1Vol 2V
23、ol 3Vol 4FlexVol:4 无需预分自由空间无需预分自由空间4 自由空间可以被别的卷或自由空间可以被别的卷或新卷使用新卷使用Vol 1Vol 2Vol 3Vol 4FreeFlexVol:提高 I/O 性能通常的卷通常的卷:4 卷的性能受它所拥有的磁卷的性能受它所拥有的磁盘数目的限制盘数目的限制4 其它卷上的盘无助于事其它卷上的盘无助于事FlexVol:4 所有磁盘被整个所有磁盘被整个 aggregate 共享,性能共享,性能对所有卷都有效对所有卷都有效NetApp的Grid模式Gigabit Ethernet SwitchesLinux Server ClustersGigabit Ethernet SwitchesNetwork Appliance file serversNetwork Appliance SpinServer devices谢谢!