OpenAFS - 分布式文件系统


IBM Public
Linux

软件简介

OpenAFS是一套开放源代码的分布式文件系统,允许系统之间通过局域和广域网来分享档案和资源。

OpenAFS 是围绕一组叫做 cell 的文件服务器组织的。每个服务器的标识通常是隐藏在文件系统中的。从 AFS
客户机登录的用户将分辨不出他们在哪个服务器上运行,因为从用户的观点来看,他们想在有可识别的 UNIX 文件系统语义的单个系统上运行。文件系统内容通常都是跨
cell 复制,以便一个硬盘的失效不会损害 OpenAFS 客户机上的运行。OpenAFS 需要高达 1 GB
的大容量客户机缓存,以允许访问经常使用的文件。它还是一个十分安全的基于 Kerbero 的系统,它使用访问控制列表 (ACL)
以便可以进行细粒度的访问,这不是基于通常的 Linux 和 UNIX 安全模型。

缓 存管理器碰巧是 OpenAFS 的一部分,很奇怪,它只作为底层文件系统与 ext2 一起运行。除缓存管理器之外,OpenAFS 表层的基本结构很像现代的
NFS 实现。但是,基本架构却一点都不像,而且必须慎重看待它的任何并行。对那些仍喜欢使用 NFS,但是又想利用 OpenAFS 程序的人来说,可以使用所谓的
NFS/AFS 翻译器 。只要 OpenAFS 客户机被配置为 NFS 服务器机器,您就应该能够享受这两种文件系统的优点。

NFS 是位置无关的,它把本地目录映射到远程文件系统位置。OpenAFS
对用户隐藏了文件位置。因为可能所有的源文件都以读写副本的形式保存在复制到的不同文件服务器位置上,必须保持复制的副本同步。为此要使用一项称作 Ubik
的技术,它源于单词“ubiquitous(无所不在)”,是东欧拼写法。Ubik 过程使 AFS 文件系统上的文件、目录和卷 (volume)
保持同步,但是通常运行三个以上文件服务器进程的系统获益最多。系统管理人员可以将一个 AFS 站点的几个 AFS cell 分组 —— 这个以前的缩写词
AFS 已经被保留在 OpenAFS 文件系统的语义中了。管理人员将决定 AFS cell 的数目,以及 cell 使存储器和文件对站点内的其他 AFS
cell 可用的程度。