名词解释:
共享文件系统环境:在parallel sysplex环境中,z/OS UNIX 支持所有LPARs的用户都可以访问整个文件系统,这样的环境称为共享文件系统环境。
所有者系统(owning 系统):将文件系统mount的sysplex member称为owning系统,其他member称为clients(非owning 系统)。
z/OS Distributed File Service zSeries File System(zFS)是z/OS UNIX系统服务(z/OS USS)的文件系统。zFS文件系统支持的文件和目录可以被z/OS UNIX应用程序访问。ZFS文件系统和其它本地(或者远程文件系统(HFS,TFS,AUTOMOUNT,NFS)一样,可以mount到z/OS UNIX的树状路径下。与先前的HFS文件系统相比,zFS能够提供更高的性能,在将来的z/OS UNIX里,zFS可能会完全取代HFS。 z/OS V1R13 zFS与先前的版本相比,增加了一些新的特性,本文将从以下几个方面着重介绍:
1.增强对sysplex共享机制的支持
从z/OS V1R11开始,zFS能够在RWSHARE共享文件系统环境下可读写地mount文件系统,但是文件系统mount在owning 系统上,其他系统仍然需要与owning系统进行function shipping交互来访问文件系统。z/OS V1R13增强了对sysplex aware共享文件系统的支持。
图1-1
从图1-1可以看到,在z/OS V1R13中,当一个zFS aggregate以可读写的方式在sysplex-aware环境下mount,实际上它会自动mount到该sysplex中其它所有的系统。虽然z/OS USS owning system仍然存在,但是其他系统与该所有者系统之间在USS层面的function shipping操作在R13 上已经被更底层的zFS取代。每个系统上的应用程序将直接向本系统的zFS进行数据请求, 由zFS决定如何访问文件系统。其中文件系统mount在其上的系统被称为zFS 所有者系统(zFS owning system),这个系统负责更新文件的metadata到DASD。每个系统上的zFS可以直接从文件系统上读取文件内容和目录内容。
2. 提升非owner系统的访问性能
z/OS V1R13 为非-owner系统提供了完全符合POSIX标准的异步write-behind操作。非owner system可以直接从磁盘上访问目录和文件,而不必通过zFS function shipping向owner system 提出访问请求。Owner system仍然更新metadata,但是与一个完整的文件内容相比,metadata所占用的磁盘空间还是非常小的,所以更新metadata减少了owner系统上开销。这使得owner的地位不再那么重要,但是却提升了非owner系统的访问性能。另外,非owner系统与owner系统之间交互减少,因此极大地降低了owner 系统上CPU 开销。
3. 文件和目录存储方式的改变
物理IO层面上,zFS dataset的最小单元是4K,但是逻辑上zFS将文件系统划分为8K blocks的数组。每一个8K block可以进一步分成8个1k的fragment. 在先前的zFS, 较小的文件和目录可以存储在一组连续的fragments里。因此多个文件或者目录存储在同一个8K block里面。但实践发现这些文件或者目录是被随机地分配到blocks里的,所以通常多个小文件会被放在不同的block里面,因此并没有真正地节省磁盘空间。
在z/OS 13 zFS, 为了能够从任何一个sysplex成员上直接读写文件或者目录,则不再使用fragment来存储新的文件或者目录数据,而是使用整个8k block来存储文件或者目录。软连接和ACLs仍然存储在同样的8K block 来节省磁盘空间。z/OS V1R13系统上,原本存储在fragment内的文件或者目录在首次写(first-write) 时将被转换为block格式,并且存储在整个8K block上的内容可以被所有的sysplex成员直接访问。因此,如果原来的文件和目录都很小的情况下,文件系统空间使用较为紧密,升级到zOS V1R13以后,zFS可能使用更多的磁盘空间,因为文件存储格式需要更新,所以增大文件系统的空间是需要考虑的。但是大部分情况下空间很少增长,例如文件或者目录大于8K,或者小文件没有放置在同一个block里面。(这取决于先前zFS 版本上使用的算法)