高性能计算领域的分布式文件系统
NFS作为最早出现的分布式文件系统,其定位和目标主要还是小型网络文件系统。随着高性能计算(HPC)集群规模的不断加大,NFS这种简单的分布式文件系统已经无法满足要求,于是市场上出现了多种新的大型分布式文件系统,经典的如Google的Global File System (GFS)和IBM的General Parallel File System ( GPFS)。这些分布式文件系统管理的系统更复杂,规模更大,性能追求更高,比如直接对物理设备(块存储)访问而不是基于现有的文件系统。此外,磁盘布局和检索效率的优化、元数据的集中管理、缓存管理技术、文件级的负载平衡等都反映了人们对性能和容量的追求。下面以IBM的 GPFS为例,说明这种新的大型分布式文件系统的设计及架构特点。
如下图所示,GPFS并没有利用已有的文件系统,而是直接操作SAN存储网络提供的高性能块存储设备,所有客户机节点对所有磁盘都拥有相同的访问权。在 GPFS 中,一个文件被分割成几个部分并且存储在后端的多个磁盘上,这种条带化的存储不仅能够保证各个磁盘负载均衡,还能够使系统获得更高的I/O吞吐量。当某个单线程的应用程序需要读一个文件时,GPFS采用预读机制预先将文件读到本地IO 上,后端则采用并行IO 的方式同时操作多个磁盘块,最大限度地发挥带宽和磁盘的优势。
GPFS这种基于SAN专有存储系统的大型分布式文件系统有两个明显的短板:首先,SAN存储系统硬件本身很昂贵,大部分人用不起;其次,SAN存储网络的扩展性并不好&#x