作成者別アーカイブ: Osamu Tatebe

Gfarm 2.5.8.6をリリース

昨日 Gfarm 2.5.8.5 をリリースしたばかりですが、セキュリティに関する致命的な問題が含まれていましたので、Gfarm ファイルシステム version 2.5.8.6 を緊急リリースします.

このバージョンに更新していただくことをお勧めします。

いつものことですが,更新にあたり,config-gfarm および config-gfsd による再設定は必要ありません。バイナリを更新後 gfmd と gfsd の再起動を(念のため数回)行ってください。

Release note for Gfarm 2.5.8.6
==============================

[2014.3.24]

Bug fix
* sharedsecret configuration allows unauthenticated access in a
certain case, which is introduced by Gfarm 2.5.8.5 [sf.net ticket
#754]

Gfarm 2.5.8.5, Gfarm2fs 1.2.9.5をリリース

Gfarm ファイルシステム version 2.5.8.5,Gfarm2fs version 1.2.9.5を公開致しました.

このバージョンでは、チェックサムによるデータ完全性のチェックが可能となりました。ファイルのメタデータにチェックサムが格納され、ファイルを読み出したときにチェックが行われます。データ完全性のチェックを有効にするためには、gfmd.conf に digest md5 を追加します。

いくつかの不具合修正や有用な更新も含まれています。このバージョンに更新していただくことをお勧めします。

いつものことですが,更新にあたり,config-gfarm および config-gfsd による再設定は必要ありません。バイナリを更新後 gfmd と gfsd の再起動を(念のため数回)行ってください。

Release note for Gfarm 2.5.8.5
==============================

[2014.3.23]

New command
* gfcksum – print and calculate checksum
* gfrepcheck – start or suspend the replica check thread
* gfspoolinum, gfspoolgen – obtain inode number or generation number
from the spool path or lost+found filename
* gfdirpath – return path name in Gfarm from directory inode number
* gffilepath – return path name in Gfarm from inode number
* gfspoolmd5 – check md5 checksum of all files in spool directory

New configuration directive
* digest – enables data integrity check by checksum calculation and
specify the digest type

New API
* gfs_stat_cksum, gfs_fstat_cksum and gfs_stat_cksum_free – obtain
checksum
* gfs_pio_cksum – calculate checksum
* gfs_fstat_cksum_set – set checksum from client
* gfs_pio_fhopen, gfs_pio_fhopendir – open a file or a directory from
inode number and generation number
* gfs_fgetdirpath – return path name from GFS_Dir

Updated feature
* gfusage – optput total
* return checksum mismatch error when reading entire file or closed
* print the progress of replica_check when gfmd catches SIGUSR2
* gfxattr – -I option to manipulate the extended attribute by inode
number
* grid-proxy-agent – -bits option to specify the number of bits in key
* adjust log level

Bug fix
* gfmd may crash when SIGHUP is caught
* gfpcopy – invalid files may remain when close fails
* clients may not retry to connect to gfmd in shared secret
authentication [sf.net ticket #740]
* gfs_pio_stat() does not obtain file info in a file system node when
it is called just after gfs_pio_open()

Release note for Gfarm2fs 1.2.9.5
=================================

[2014.3.23]

Updated feature
* ckeck existence of subdir

Gfarm 2.5.8.4, Gfarm2fs 1.2.9.4, Gfarm Hadoopプラグイン1.0.1をリリース

Gfarmファイルシステム2.5.8.4, Gfarm2fs 1.2.9.4, Gfarm Hadoopプラグイン1.0.1をリリースしました。

このバージョンはメンテナンスリリースで不具合修正を行っています。また、いくつかの有用な更新が含まれています。このバージョンに更新していただくことをお勧めします。

Release note for Gfarm 2.5.8.4
==============================

[2014.1.18]

New command
* gfsudo – execute a command in gfarmroot privilege

Updated feature
* support GFARM_FILE_EXCLUSIVE
* gfrm – -D option to specify a domain name of file replicas to be
deleted
* gfls – -h option to display in human readable format
* gfusage, gfquota – -h and -H options to display in human readable format
* gfpcopy – -e option to enable multiple gfpcopy executions for the
same target directory
* gfncopy – -w option to wait until replicas are created
* gfgroup – -a and -r options to add and remove group members
* replica check also checks files whose gfarm.ncopy is not set [sf.net
trac #733]
* increase error level when all replicas are lost and when all hosts
are down [sf.net trac #732]
* gfsd – tolerate read-only file system error and no space left on
device error

Bug fix
* gfmd crash when gfmd is stopped during the startup process [sf.net
trac #736, #737]
* gfmd may crash when a write error happens in the startup process
[sf.net trac #734]

Release note for Gfarm2fs 1.2.9.4
=================================

[2014.1.18]

New feature
* support atomic file creation (O_EXCL), which requires Gfarm 2.5.8.4
or later

Updated feature
* mount.hpci, gfarm2fs-proxy-info – better error reporting [sf.net
trac #741, #742]

Release note for Gfarm Hadoop plugin 1.0.1
==========================================

[2014.1.18]

Updated feature
* support Hadoop version 0.23.X and 1.2.X

Gfarm 2.5.8.3とGfarmfs 1.2.9.3をリリース

Gfarmファイルシステムversion 2.5.8.3とGfarm2fs version 1.2.9.3をリリースしました。

このバージョンはメンテナンスリリースで不具合修正を行っています。また、いくつかの有用な更新が含まれています。このバージョンに更新していただくことをお勧めします。

Release note for Gfarm 2.5.8.3
==============================

[2013.10.2]

Updated feature
* gfprep, gfocpy – -J option to specify the number of processes to
read directories [sf.net trac #726]

Bug fix
* PhysicalSpace and PhysicalNum in quota are incorrect when removing
files, which is introduced by Gfarm 2.5.8.2 [sf.net trac #730]

Release note for Gfarm2fs 1.2.9.3
=================================

[2013.10.2]

Updated feature
* mount.gfarm2fs – workaround for temporary proxy cert created by
gsissh
* display profile information when profiling feature is enabled

Gfarm 2.5.8.2とGfarm2fs 1.2.9.2をリリース

Gfarmファイルシステムversion 2.5.8.2とGfarm2fs version 1.2.9.2をリリースしました。

このバージョンはメンテナンスリリースで不具合修正を行っています。また、いくつかの有用な更新が含まれています。このバージョンに更新していただくことをお勧めします。

Release note for Gfarm 2.5.8.2
==============================

[2013.7.29]

New configuration directive
* spool_base_load – additional CPU load for gfsd to pretend to be busy
* shared_key_file – specify a pathname of the shared key file

Updated feature
* Japanese documents including manual pages and HTML documents are
encoded in UTF-8 [sf.net trac #698]
* all entries are included in FileNum in quota [sf.net trac #717]
* gfprep, gfpcopy – -M option to limit the total file size to be
copied [sf.net trac #707]

Bug fix
* slave gfmd fails to restart after gfhost -d [sf.net trac #697]
* gfprep -m cannot migrate replicas when two or more source nodes are
specified [sf.net trac #709]
* gfprep -m removes a new valid replica when the source replica cannot
be removed [sf.net trac #708]
* recursive operations for gfarm:// and gfarm://host:port do not work
* gfdump -r and config-gfarm-update do not work in private mode in
debian
* plug memory leak when file trace enabled [sf.net trac #703]
* 0-byte file can be created when using gfarm2fs 1.2.8 or later
[sf.net trac #702]

Release note for Gfarm2fs 1.2.9.2
=================================

[2013.7.29]

Updated feature
* mount.gfarm2fs – more automount(8) support

Gfarmファイルシステムをautomountする

1. automountについて

Gfarmファイルシステムは、これまでユーザがgfarm2fsで明示的にマウントして用いることが一般的でした。Gfarm2fs-1.2.9.2以降ではautomountもできるようになりましたので紹介します。automountは、cdやlsなどでマウントポイントをアクセスすると自動的にマウントする仕組みです。

たとえば、/usr/users/tatebeがautomountされる設定となっている場合、/usr/users/tatebeはアクセスされるまでは存在しませんが、一度アクセスするとアクセスすると自動的にマウントされます。

% ls -a /usr/users
.  ..
% ls -a /usr/users/tatebe
.  ..  .bash_logout  .bash_profile  .bashrc  .emacs
% ls -a /usr/users
.  ..  tatebe

このディレクトリは一定時間アクセスしないと自動的にアンマウントされます。

これにより、ユーザがgfarm2fsでマウントすることなく、Gfarmファイルシステムをアクセスできるようになります。また、Gfarm-2.5.8.2以降を利用するとユーザのホームディレクトリをautomountすることも可能です。

1.1 automountの設定

本節では、(RedHat系の)Linuxの設定を紹介します。まず、mount.gfarm2fsを/sbinにコピーします。以下の例ではGfarmは/usr/localにインストールされていることを仮定していますが、適宜読み替えて下さい。

% sudo cp /usr/local/bin/mount.gfarm2fs /sbin

もしautofsが入っていなければ、autofsをいれます。

% sudo yum install autofs

次に、/etc/auto.masterにGfarmファイルシステム用のマウントポイントとマップファイルを記載します。

/gfarm /etc/auto.gfarm

この例では、automountのマウントポイントは/gfarm、マップファイルは/etc/auto.gfarmを指定しています。このとき、ディレクトリ/gfarmは存在していなくても構いません。次に、マップファイル/etc/auto.gfarmを設定します。

tatebe -fstype=gfarm2fs,allow_root,username=tatebe :/home/tatebe/.gfarm2rc

この例では、/gfarm/tatebeがアクセスされたとき、tatebeユーザ権限でマウントします。allow_rootオプションは、rootがマウントしたディレクトリへのアクセスを許すオプションです。このオプションを付けないと自動的にumountされません。

allow_rootオプションを利用可能にするため、/etc/fuse.confでuser_allow_otherを指定します。

user_allow_other

また、ワイルドカードを利用して全ユーザ用のエントリを作成することも可能です。

* -fstype=gfarm2fs,allow_root,username=& :/home/&/.gfarm2rc

これで設定は完了です。あとはautofsをrestart (reload)すると利用可能になります。

# service autofs restart

1.2 マウントディレクトリの変更

デフォルトでは、それぞれのユーザのGfarmファイルシステム上のホームディレクトリがマウントされます。Gfarmファイルシステム上のホームディレクトリは、gfuser -lの出力の第三カラムです。このディレクトリ以外の場所をマウントしたい場合は、gfarmfs_rootオプションで指定します。

tatebe -fstype=gfarm2fs,allow_root,username=tatebe,gfarmfs_root=/ :/home/tatebe/.gfarm2rc

この例ではGfarmファイルシステムの/(ルート)ディレクトリをマウントします。

1.3 他ユーザからのアクセス

マウントしたディレクトリは、usernameオプションで指定したユーザしかアクセスすることができません。他のユーザがアクセスするためには、allow_otherオプションをつけます。

ただし、他のユーザからのアクセスを可能としても、アクセスする権限はusernameオプションで指定したユーザ権限となることに注意して下さい。特に書き込み可能なディレクトリをマウントしている場合は、usernameオプションで指定したユーザの権限で他のユーザが書き込めてしまいます。従って、他ユーザからのアクセスを許すのは、読込オンリーのディレクトリをマウント(あるいはroオプションをつけて読込オンリーでマウント)するケースが主となります。

オプションは/etc/auto.gfarmファイルで指定します。

tatebe -fstype=gfarm2fs,username=tatebe,allow_other,ro :/home/tatebe/.gfarm2rc

allow_otherは全ユーザからのアクセスを可能とします。roは読込オンリーでマウントするオプションです。

これで設定は完了です。あとはautofsをreloadすると利用可能になります。

# service autofs reload

1.4 ホームディレクトリのautomount

gfmdノード、gfsdノードと同一ノードではないクライアントノードの場合は、ユーザのホームディレクトリをautomountすることができます。

この場合、ログイン時にautomountするとき、設定ファイル~/.gfarm2rc(と共有鍵認証の場合は鍵ファイル~/.gfarm_shared_key)が参照できないため、それらをホームとは別の場所に作成する必要があります。たとえば/var/gfarm/home/tatebeに以下のように作成します。

# mkdir -p /var/gfarm/home/tatebe
# cd /var/gfarm/home/tatebe
# echo shared_key_file /var/gfarm/home/tatebe/.gfarm_shared_key > .gfarm2rc
copy tatebe's shared secret key file to /var/gfarm/home/tatebe/.gfarm_shared_key
# chmod 600 .gfarm_shared_key
# chown -R tatebe .

まずディレクトリ/var/gfarm/home/tatebeを作成し、設定ファイル/var/gfarm/home/tatebe/.gfarm2rcを作成します。共有鍵認証を行う場合は、鍵ファイルの場所をshared_key_fileで指定し、指定した場所に鍵ファイルをコピーします。最後に所有者をユーザに変更します。

これらの設定をした後、/etc/auto.gfarmファイルで上記の設定ファイルを指定します。

tatebe -fstype=gfarm2fs,username=tatebe,allow_root :/var/gfarm/home/tatebe/.gfarm2rc

allow_rootは、自動umountのため、またsshの公開鍵認証でこのホストにloginする場合などに必要となります。

これで設定は完了です。あとはautofsをreloadすると利用可能になります。

# service autofs reload

なお、automountしたホームディレクトリはなにも設定しなくてもアクセス可能ですが、loginしたクライアントでgflsなどのGfarmコマンドを利用する場合は、共有鍵の設定で注意が必要です。Gfarmコマンドは、デフォルトではホームディレクトリの.gfarm_shared_keyを参照しますが、これがGfarmファイルシステムにあるためです。

大きく次の二つの対処方法が考えられます。

  1. 秘密鍵を(Gfarmファイルシステムの)ホームディレクトリにコピーする
    % cp -p /var/gfarm/home/tatebe/.gfarm_shared_key ~
    
  2. GFARM_CONFIG_FILE環境変数を設定する
    % export GFARM_CONFIG_FILE=/var/gfarm/home/tatebe/.gfarm2rc
    
  3. 共有鍵をGfarmファイルシステムにコピーする方法は、あまり注意点がありませんが、環境変数の方はこのホストにログインした時だけ設定するようにする必要がありますので、注意してください。

    それではGfarmファイルシステムをautomountして快適ライフをお楽しみ下さい。