Hatena::Groupfilesystem

fs_n314

|

2008-05-09

Debian(etch)でGfarmを使う

| 20:39 |  Debian(etch)でGfarmを使う - fs_n314 を含むブックマーク はてなブックマーク -  Debian(etch)でGfarmを使う - fs_n314

初期設定

Webからgfarm-2.0.0.tar.gzをダウンロード


メタデータサーバノード

apt-get install libssl-dev postgresql postgresql-dev


cd gfarm-2.0.0
./configure
make
make install

# 一般ユーザでログインしてsuしてから
config-gfarm -t

# 表示された設定で良いなら
config-gfarm

cp /usr/local/etc/gfarm2.conf client:/usr/local/etc/

useradd -c "Gfarm gfsd" -m  _gfarmfs
su _gfarmfs
gfkey -c -p 314360000 # 一年有効の鍵

ファイルサーバノード

apt-get install libssl-dev


cd gfarm-2.0.0
./configure
make
make install

useradd -c "Gfarm gfsd" -m  _gfarmfs
su _gfarmfs
scp root@server:~_gfarmfs/.gfarm_shared_key ~/
exit


config-gfsd -t

# 表示された設定で良いなら
config-gfsd

### ここから メタデータサーバに入り
# config-gfarm の時にログインしたユーザになり、上記コマンド時に促されたコマンドを実行
su user
/usr/local/bin/gfhost -c -a hoge -p name -n 2 host
#
### 終了

/etc/init.d/gfsd start

共有モードの場合(デフォルト?) .gfarm_shared_key は、全サーバユーザごとに共有しなければならないらしい。

/home 以下をNFSマウントしておくと楽だ、と書いてある。


でも、gfarmコマンドが特権ユーザじゃないと動かない。何か他に設定が要るんだろうか。


通所のファイルシステムとして使う場合の設定

※ ここは試行錯誤中

wget http://datafarm.apgrid.org/software/gfarmfs-fuse/gfarmfs-fuse-2.0.0.tar.gz
tar xvzf gfarmfs-fuse-2.0.0.tar.gz
cd gfarmfs-fuse-2.0.0

apt-get install libfuse2 fuse-utils libfuse-dev
apt-get install pkg-config

./configure

・・・エラーが出る。




lv /usr/local/include/gfarm/gfs.h

#if 0 /* not yet on Gfarm v2 */
#define GFARM_FILE_APPEND               0x00000800
#define GFARM_FILE_EXCLUSIVE            0x00001000
/* the followings are just hints */
#define GFARM_FILE_SEQUENTIAL           0x01000000
#define GFARM_FILE_REPLICATE            0x02000000
#define GFARM_FILE_NOT_REPLICATE        0x04000000
#define GFARM_FILE_NOT_RETRY            0x08000000
#endif

・・・なんかgfarm2では色々使えないぽい。




gfarmバージョン2ではgfarm2fsを使うみたい。

Gfarm v2

echo /usr/local/lib >> /etc/ld.so.conf
ldconfig

/usr/local/bin/gfarm2fs --help

で一通りオプションを見て、マウント

modprobe fuse
gfarm2fs target

rootでも特権ユーザでもエラーが出る。

というかrootならgflsもできない。


探したら発見した。

本件,SETUP.ja からすっかり抜けてしまっているところです.

Gfarm v2 の利用ユーザは必ず gfuser -c で事前に登録する必

要があります.例外は config-gfarm を実行したユーザで,そ

ユーザ自動的に administrator 権限のユーザとして登録

されます.

http://datafarm.apgrid.org/ml/gfarm-discuss-ja/msg00143.html
gfuser -c root root /root ""
gfarm2fs target
ls target

できた!

gfarm2fsの前に gfreg コマンドで何かファイルを登録しておくと分かり易い。

アンマウント普通にumount。


このままではgfarmルートディレクトリに特権ユーザ以外が書き込めないので、特権ユーザ

gfchmod 777 .

しておく。


データの複製

で、やりたかったのはこれなんだけど。

gfrep があまり動いてくれない。


ディレクトリを対象にできず、ファイル更新したら複製が失われるみたい。

論文にはopenを監視して複製をうまくやるようなことが書いてあったのにな。

tatebetatebe2008/05/30 00:16gfrepはGfarm-2.1.0でディレクトリを対象にできるようにもなりましたし,数で指定できるようにもなりました。さらにOpenMPを使うと並列に複製を作成します。ファイルの更新に対しては,現在はinvalidateベースで,close時に古いファイル複製を消すようにしています。updateベースにする,あるいは書込時に全ての複製に書き込むとか,様々な方法が考えられますが,ベースラインということでまずはinvalidateベースのものを実装しています。論文にもそのよう書いてあったと思います。Gfarm v2になって,随分いろいろな問題が解決しました。どんどん良くしていきたいと思っていますので,ご協力お願いします。

n314n3142008/06/08 18:30すいませんマイナーバージョンまで見てませんでした・・。
これを書いた時点ではまだ公開されてなかったのですね。使ってみます。

私はミラーリングファイルシステムを作っているのですが、比較できるものがあまりないんですよね・・需要がないのかと不安になりつつやってます。
興味があるのは分散というよりも複製ですが、Gfarmも色々試してみようと思います。

agdcfpduvuagdcfpduvu2014/02/05 19:07pltajgjmftztufn, <a href="http://www.ftnsfgxilp.com/">spftphigwj</a> , [url=http://www.pstmnmkxnn.com/]zxqcvekzai[/url], http://www.wzsstmfghe.com/ spftphigwj

トラックバック - http://filesystem.g.hatena.ne.jp/n314/20080509

2008-04-27

属性操作が呼ばれる場合のメモ

| 18:29 |  属性操作が呼ばれる場合のメモ - fs_n314 を含むブックマーク はてなブックマーク -  属性操作が呼ばれる場合のメモ - fs_n314


  • vfs_readdir()
    • file_accessed()
      • touch_atime()
  • __do_follow_link()
    • touch_atime()
  • sys_readlink()
    • sys_readlinkat()
      • touch_atime()

ファイルのread()では fsnotify_access() が呼ばれているが、この中で具体的に何が行われているのかは後で調べる。

トラックバック - http://filesystem.g.hatena.ne.jp/n314/20080427

2008-04-24

bonnie++を使う場合の注意

| 23:55 |  bonnie++を使う場合の注意 - fs_n314 を含むブックマーク はてなブックマーク -  bonnie++を使う場合の注意 - fs_n314

1.03aのソースを見る限り、デフォルトではfsyncは発行されない、ただし、1.93c では既にデフォルトで最後にfsyncが発行されており、修正されている。但し、1.03aではfsyncを発行させるオプション'-b'をすれば良いらしい。(というか指定しなければ正しい結果は得られない、、、と思う。)

no title

忘れがちなのでメモ

debianでの環境を書いていてくれて助かる。


ただ、ファイルシステムデバッグ情報を表示すると、O_SYNCフラグが指定されていたんだけどどうなんだろう。

2.4 より前のカーネルでは巨大なファイルに fsync() を使用することは効率が悪い場合がある。別の方法として open(2) の際に O_SYNC フラグ使用するのが良いかもしれない。

404 - エラー: 404

同じ意味で、むしろO_SYNCを推奨しているような書き方だ。



あと測定時間が短くて+が表示される場合の対応。

修正前

#define MaxDataPerFile (MaxNameLen + 6 + 1 + 4)
#define MinTime (0.5)
#define Seeks (8192)

修正後

#define MaxDataPerFile (MaxNameLen + 6 + 1 + 4)
#define MinTime (0.01)
#define Seeks (8192)
no title

debianソースパッケージを変更する場合は、bonnie.h.inを修正。



結果の見方の和訳。

http://d.hatena.ne.jp/yoshifumi1975/20080320/p2

トラックバック - http://filesystem.g.hatena.ne.jp/n314/20080424

2008-04-23

raifでNFSとローカルをミラーした場合の問題

| 16:49 |  raifでNFSとローカルをミラーした場合の問題 - fs_n314 を含むブックマーク はてなブックマーク -  raifでNFSとローカルをミラーした場合の問題 - fs_n314

nfsではf_op->write に do_sync_write、f_op->read に do_sync_read が割り当てられている。

raifではgeneric_file_writeとgeneric_file_readが割り当てられている。


kernel2.6.19以上ではf_opがreadとaio_read、writeとaio_writeに別れているが、基本動作は同じ。

writeからdo_sync_writeを経由してaio_writeが呼ばれ、generic_file_aio_writeが呼ばれる。


  1. raif->write
  2. vfs->do_sync_write
  3. raif->aio_write
  4. vfs->generic_file_aio_write
  5. ・・・

しかしlinuxカーネルオプションでは、通常CONFIG_NFS_DIRECTIOが設定されている。

  1. nfs->write
  2. vfs->do_sync_write
  3. nfs->nfs_file_write

つまり、NFSデフォルト動作で動かしている場合はgeneric_file_aio_writeを利用せずにNFS独自の書き込み関数で同期書き込みを行う。


raifは読み書きの処理で、VFS標準の関数を使わずにそれぞれのブランチに対して処理を委譲すべきではないのか?

でも手作業で確認する速度なら普通データが反映されている。


generic_file_aio_write後の処理が複雑で分からない。あとで詳しく追うかも。

  • nfs_file_direct_write()
    1. generic_write_checks()
    2. nfs_sync_mapping()
    3. nfs_direct_write()
  • generic_file_aio_write
    1. nfs_prepare_write()
    2. nfs_commit_write()
      1. nfs_updatepage()
      2. ・・・



これとは別で

echo hoge > mountdir/hoge
echo fuga > mountdir/hoge

が化ける。

dupするとバグるのかもしれない。

juazamrlvzjuazamrlvz2013/12/17 08:34smvixgjmftztufn, <a href="http://www.sbtchdgbuw.com/">tnozsbwdtm</a> , [url=http://www.myrqhueeab.com/]ffnxyrsvyn[/url], http://www.lwjdzpatqb.com/ tnozsbwdtm

xcqjckeowhxcqjckeowh2014/03/19 12:46yxuuogjmftztufn, <a href="http://www.xhjcrducoq.com/">ndhuvcxlkq</a> , [url=http://www.yycuktaxiu.com/]rcnvmvkcpu[/url], http://www.prjdqeaklx.com/ ndhuvcxlkq

トラックバック - http://filesystem.g.hatena.ne.jp/n314/20080423

2008-04-19

NFSのベンチマーク

| 17:19 |  NFSのベンチマーク - fs_n314 を含むブックマーク はてなブックマーク -  NFSのベンチマーク - fs_n314

aptのsources.listにnon-freeがなければ加える。

apt-get install iozone3

詳細はこちら。

http://www.linux.or.jp/JF/JFdocs/NFS-HOWTO/performance.html


ファイルサイズを128KB(デフォルトは64KB)から1M(デフォルトは512MB)までを自動テストし、出力ファイルExcel形式にするには

iozone -a -R -b output.xls -c -g 1M -n 128K targetDir

とする。

毎回アンマウントを行うには、fstabに設定を書いて

iozone -a -R -b output.xls -c -g 1M -n 128K -U targetDir -f targetDir/testfile

とする。

操作が早すぎるのかわからないが、アンマウント後の再マウントエラーが出る。

ディレイは-J ms


ターミナルログが流れるので、テキストログも必要ならteeを使うといい。

トラックバック - http://filesystem.g.hatena.ne.jp/n314/20080419
|
日記の検索