OCFS2 1.4 *BETA*(OCFS2 1.3.9-0.1 *BETA* for RHEL5 U2 BETA)

[Ocfs2-users] OCFS2 1.4 *BETA* Announcement
よりRHEL5.2 Beta Announcement - tmpfile::memo(kernel-2.6.18-84.el5)用のOCFS2*1

WHAT'S NEW

This release makes available the features that have been steadily 
accumulating
in the mainline Linux kernel tree over the past 18 months or so. The list of
features added since the 1.2 release is as follows:

* File Attribute Support
* Directory Readahead
* Performance Enhancement - stat(2)
* Performance Enhancement - unlink(2)
* Splice IO (support to be enabled by release)
* Atime/Mtime Updates
* Sparse File Support (ondisk change)
* Unwritten Extents/Punch Holes (ondisk change, support via ioctl only)
* Shared Writeable mmap(2)
* Data in Inode (ondisk change, tools support expected by release)
* Online Filesystem Resize
* Clustered flock(2)
* Ordered Journal Mode

For the full description, please refer to the following link:
http://oss.oracle.com/projects/ocfs2/dist/documentation/ocfs2-new-features.html#FEATURES

Binaries:

http://oss.oracle.com/projects/ocfs2/files/RedHat/RHEL5_BETA/x86_64/1.3.9-0.1/ 下の
ocfs2-2.6.18-84.el5-1.3.9-0.1.el5.x86_64.rpm など
http://oss.oracle.com/projects/ocfs2-tools/files/RedHat/RHEL5/x86_64/beta/1.3.9-0.1/ 下の
ocfs2-tools-1.3.9-0.1.el5.x86_64.rpm
ocfs2console-1.3.9-0.1.el5.x86_64.rpm など

Documents:

http://oss.oracle.com/projects/ocfs2/dist/documentation/ocfs2-new-features.html#FEATURES
http://permalink.gmane.org/gmane.comp.file-systems.ocfs2.devel/1329
http://oss.oracle.com/osswiki/OCFS2/TowardsOCFS2-1.4
http://oss.oracle.com/osswiki/OCFS2/LargeTasksList
http://oss.oracle.com/osswiki/OCFS2/Roadmap


しかし、何か言わぬとContext Dependent Symbolic Links (CDSL)が・・・

FEEDBACK

The one known missing piece in this release is CDSL support. Our 
implementation
in the 1.2 release was not accepted by the Linux kernel community. While 
we can
always merge back the support for only the 1.4 release, we are aiming to 
make
1.4 release look as much as possible like mainline so as to make it 
easier for
users to move between kernels/distributions.

With that in mind, we are looking for feedback concerning the use of 
CDSL. As in,
are you using CDSL? If so, how many files? Which type of files? Answers 
to the
same will help us decide our approach to the solution.


WHAT'S MISSING

Apart from CDSL support, we still need to add tools support for 
data-in-inode,
enable splice io and update the documentation.

OCFS2のことじゃないけど同じようなOCFSやOCFS2登場前のCDSLの実装には、昔も

CDSL (Context-Dependent Symbolic Link) がクラスタを指しているのか、それとも特定のノードを指しているのかがすぐに明確にわからないため、この機能を十分理解していない評価者は、この機能は混乱をもたらすものだと評価しています。しか
し、わずか数週間でも実際に管理者がこのシステムを利用してみれば、このような評価はすぐに覆される

とか言う人もいれば、

CDSL では、1つの名前でファイルやディレクトリにアクセスすることができます。その名前が、クラスタ全体でアクセスされるファイルやディレクトリを表すのか、メンバー固有のファイルやディレクトリを表すのかとは無関係です。

たとえば、シングル・システム・アプリケーションを複数のクラスタ・システムで同時に実行することが可能になるため、拡張性の向上がはかれます。

と言われていたりしてましたが、OCFS2で必要性のあったCDSLというのは
Oracle Cluster File System (OCFS2) User’s Guide
から抜粋すると、使い道は

To create a hostname dependent CDSL file, do,
root@node32:admin/# ocfs2cdsl listener.ora
root@node32:admin/# ls –l listener.ora
lrwxrwxrwx 1 root root 50 Aug 8 11:41 listener.ora ->
../.cluster/hostname/{hostname}/10g/network/admin/listener.ora
Edit this file and save the new content. To access the file from some other node in the cluster,
create the CDSL on that node before editing. (As hostname is the default, one does not need to
specify –t hostname in the command.)
root@node31:admin/# ocfs2cdsl listener.ora
To convert an existing file into a CDSL file, do,
root@node32:admin/# ocfs2cdsl –c sqlnet.ora
Once again, to access from some other node in the cluster, create the CDSL on that node before
accessing the file.
root@node31:admin/# ocfs2cdsl sqlnet.ora
In this case, you will notice that the file has the same content as it did when the file was converted
to a CDSL. Any new changes to the file on both nodes will not be visible to the other node.
To edit a CDSL file or directory belonging to another host or architecture, change directory to
.cluster in the root (mount directory) of the OCFS2 volume and traverse to the directory holding
the required copy. For example, to edit node32’s copy of listener.ora on node31, do,
root@node31:/# ls -l /ohome/.cluster/hostname/node32/10g/network/admin/l*
-rw-r--r-- 1 root root 3867 Aug 8 11:54 listener.ora
To delete a CDSL file, just unlink it, as,
root@node31:admin/# rm listener.ora

で、これは本当に必要なのかというと、そもそもこの例はOCFS Volumeにソフトウエアがインストールされていなけりゃ、いらないっちゃいらない。
OCFS Volumeにソフトウエアがインストールされていれば、ある用途ではいるっちゃーいる。
しかし最初に実装された頃に比べて必要性は薄くなったんだろうなぁ。
ここにそれ置くってそもそも発想が生じなかった。
普段使いという意味では気軽に使うのはどうかと思うし。
  
OCFS2と同じように利用されるほかのファイルシステムがそもそもCDSLがない*2とか、CDSLもっとも使うのは何かと考えると、その何かが OCFS2の実装や用途からするとこれってのがないと言えばそれまで。
依存性をあえて持たないようにする代替があるんだよねぇ。
ただ、いざって言うときないと、いちいち物理的な置き場所を替えなきゃいけないとか考えないといけないとかがあるので、あると便利で選択肢のひとつだとは言えるけど、これ止まりじゃ意見するほどの話じゃないので難しい。
  
参考:
OCFS2/Concalls
http://oss.oracle.com/projects/ocfs2-tools/dist/documentation/ocfs2cdsl.html
Novell Doc: SUSE Linux Enterprise Server 10 SP1 インストールおよび管理 - Oracle Cluster File System 2(OCFS2)の概要

*1:ocfs2-tools 1.3.9 - tmpfile::memoの続き。 - tmpfile::memoとは違うのでご注意

*2:PolyServe Matrix ServerなどにはCDSLがあるけど