[過去ログ]
初心者もOK! FreeBSD質問スレッド その124 (1002レス)
初心者もOK! FreeBSD質問スレッド その124 http://mevius.5ch.net/test/read.cgi/unix/1569601015/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
850: 名無しさん@お腹いっぱい。 [] 2021/03/21(日) 11:04:58.59 ZFS(と関係ないかもしれないけど)について不思議な現象が起きています。 tank というZPOOLに大量のデータ(数百万個,トータル数TB)が入っているとして意図しないデータの改竄や 破壊がないかバッチで以下のような処理をしてチェックしてます。 find /tank -type f | xargs md5 > log.txt 前回実行時とMD5が変わっているファイルがいくつか見つかり,確認のためコマンドラインでそのファイルを md5 XXXXX.dat とやるとMD5は前回と同じでした。再度バッチを実行してみたところ実行の度に結果が変わります。感覚としては 実行の度にMD5変更として誤検知されるファイルの数が増えます。しかし直接手動でmd5コマンドを打つとどの ファイルもMD5変更無し。つまりxargs経由でmd5を実行すると百万個に数個の頻度でMD5が正しく得られません。 (OSのシステムエラーが出ないところが悩ましい) このZPOOLは長らくFreeNAS-11で使っていました。最近Linuxにエクスポートしたところこの現象が発現したため 再度FreeBSDに戻しました。この時一度OpenZFSに読ませたため現在FreeBSD-13-RC3で使っています。Linuxほど ではないですがFreeBSD-13でも時々発生しています。FreeNAS-11では一度も問題は起きていませんでした。 何かチェックすべきところはありますか?個人的にはOpenZFSが怪しい気がします。 http://mevius.5ch.net/test/read.cgi/unix/1569601015/850
851: 名無しさん@お腹いっぱい。 [sage] 2021/03/21(日) 15:21:11.79 >>850 (find /tank -type f -print0 | sort -Vz | xargs -0 -n1 md5 )> log.txt でやってみては? http://mevius.5ch.net/test/read.cgi/unix/1569601015/851
852: 名無しさん@お腹いっぱい。 [sage] 2021/03/21(日) 22:26:12.07 >>850 コマンドに流せる文字数には制限があるからそういう制限無しファイルリストを渡すのは予期しない引数あふれを起こす可能性がある。 それと、ファイル名もディレクトリ名も引数で受け渡すときは空白などトラブルを起こす文字があるパターンがあるので その辺も加味してコマンドを組まないと大体ハマる。 自分は似たようなことをしてハマった。 http://mevius.5ch.net/test/read.cgi/unix/1569601015/852
859: 名無しさん@お腹いっぱい。 [sage] 2021/03/22(月) 12:52:10.17 >>850 を書いた者です。ZFSを疑っていると書きましたが今はxargsが犯人の気がして ます。GNUとBSDでxargsの仕様に違いがあることが分かりました。とは言えどっちを 使うにせよ安全に使えるものとばかり信じていたのでショック。 改めてLinuxとFreeBSDで試したら対象ファイル数が数千程度では問題ないけど 数百万個の場合はLinuxではほぼ100%,最低1箇所は誤検知が発生します。FreeBSDでは 今日は一度も発生しなかった。 私の関わっている仕事ではこれは致命的なんでバグとして直したいがどういう タイミングで発生するのランダム性が強すぎて時間がかかりそうです。 >>850 >>851 レスありがとうございます。ファイル名にスペースがあってトラブルが出るのは うちの会社でもよく起きますがその場合File Not Foundのようなエラーが出るので 少なくとも見落とすことはなく今まで大きな問題にはなってないです。今回のは 標準エラー出力を一切出さず見た目上は成功を返すのにしれっと間違った結果を出力 しているという性質の非常に悪い障害になってます。 >>853 {} + というのは知らなかったので詳しく調べてみます。xargsは,OSの定義する制限 ギリギリを狙うのではなく余裕をもたせるようなオプションがなければ信用できない ので見限ってバッチプログラムを再設計中です。多少遅くなってもPythonとかで 確実なのを作る予定。 http://mevius.5ch.net/test/read.cgi/unix/1569601015/859
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.513s*