IBM GPFS(General Parallel FileSystem)是一个分布式、共享、并行集群文件系统,支持从多个节点同时对单一文件系统或一组文件系统的访问。GPFS可以在AIX、Linux和windows操作系统和IBM Power、Intel/AMD x86架构下使用,被全世界HPC用户广泛使用。GPFS集群中每一个节点都由管理命令集、GPFS内核扩展、多线程守护进程三个组件构成。
GPFS管理命令集,是用来控制GPFS操作和配置的脚本集合,默认情况下GPFS命令可以在集群中任何一个节点执行,GPFS集群会自动处理并把请求的操作重定向到合适的节点执行。可以定义为在所有GPFS节点同步,还是在一个子网内的节点间同步请求。
GPFS内核扩展提供了一个接口和操作系统的vNode、VFS层交互模块,并注册GPFS作为一个Native文件系统,GPFS在操作系统中以一个标准的处理应用下发给操作系统的请求。
GPFS守护进程处理所有I/O操作和Buffer管理,包括对于顺序读进行Read-ahead,对于非同步的所有写进行Write-behind操作,I/O操作被GPFS的Token管理保护,以确认数据分布在集群中所有节点的一致性。GPFS守护进程会和其他节点的守护进程共同工作,进行文件系统的配置变更、修复、并行更新元数据状态。
GPFS NSD组件对运行在节点上的应用,提供一种在集群中相对于直接访问普通硬盘的集群访问,集群中NSD可能会物理的连接到所有的节点或者服务器上,数据通过NSD server对外提供一个虚拟连接,最多可以为每个NSD指定8个NSD Server,如果其中一个服务器宕机了,列表中的下一个服务器将会接管宕机的节点工作。
当启动GPFS和一个文件系统挂载的时候,GPFS通过守护进程确认哪些NSD可以通过物理或者虚拟的方式访问,即NSD的发现过程,NSD的默认发现顺序是优先本地的块设备接口,例如SAN、SCSI和IDE,其次是NSD Server。
对GPFS文件系统集群中的组件和其关系进行总结。Node在GPFS文件系统中独立的OS实例,NSD则是对GPFS集群可见用于创建文件系统的存储设备,NSD server提供对特定NSD访问的I/O服务器&