[freebsd] gjournal色々ハマる

MacBookAirのHDDが少ない&802.11nが快適なんで,鯖にiTunesやiPhotoのデータぶち込むようになり,FreeBSDの所謂「同期書き込み絶対!」の遅さが目立つようになってきた.
そこで高速化の手段として,7.0-RELEASEから搭載されたgjournalかzfsを検討.
第5回 ストレージ新時代−GEOM journaling,ZFS on FreeBSD
ココ見る限りどちらもかなり速くなる.
まずzfs.gmirrorでやってるのを,zfsでRAID1運用させるとかも可能.zfsが素敵すぎるので会社鯖でもちらっと考えたんだけど,ACLが未実装ってのが業務用途とではネックだったので見送り.個人利用ベースではACL使わない&これからはzfsよねッ!という事でzfs試してみる.メモリ1GB積んでいるけど,いつもはスワップファイル使うこと無いのに,コピー中にみるみるスワップの使用量が増えて行き300MBぐらい使ったところで落ち着く.前情報通りzfsのメモリ使用量は多い模様.しかしコピー速度はかなり速い.結構小さいファイルコピーが多いにも拘わらず,常に30MB/sくらいをキープ.しかし,ファイルコピー中にあえなくフリーズ(パニック?).1GBで足りないからなのか,そもそもzfsの実装のバグなのかは不明.結局,7.1-RELESE以降でzfs関連のバグが取れるまで実用に耐えないと判断.
残るは,gjournal+async.しかしコレが実に厄介.スライスの先頭から始まるパーティションに対してgjournalを作成するとハマる模様.
・例えばad4s1dに対して作成すると,ad4s1dが未newfsだと,ad4s1d.journal/*.journalc/*.journaldと3つのデバイスが作られる.ad4s1d.journalを使うと取りあえず使える.
・再起動すると,デバイスが勝手にad4s1.journal/*.journalc/*.journaldと変わってしまう.
・newfs済みのパーティションに対し,-fオプションでjournal化すると,パーティション指定無視して再起動したときの状態と同じようにデバイスが作成される.
・providerがad4s1となっており,ジャーナルを停止させると,今度は勝手にad4s1cがproviderになってしまう.さらに,ad4s1cのジャーナルを停止させると,またad4s1がproviderに戻る.以下繰り返し.
・よって,ジャーナルが停止できなくなり,メタ情報のクリアも出来なくなる.
仕様というか限りなくバグ臭いんだけど….結局,2MBのダミーパーティションを先頭に作ったり.
パフォーマンス的には,少なくとファイルコピー(新規作成)については,zfsよりは劣る模様.技評の記事通り.
PS.9/22の晩に鯖が頻繁に再起動繰り返してたのはこのせいデス.すまぬ>らぐぽじ利用者.

カテゴリー: 未分類 タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です