PAR2ってのはParity Volume Set Specification 2.0ってつまり、ファイルレベルでリードソロモン系のパリティ生成しておいて、ファイル破損時にブロック単位でリカバリー出来ると良いにゃ、っていう卒論くらいで作りかけて結局やらにゃかった系のツール。もとはWAREZ系だとおもわれる(笑) 前身であるparchiveに関してはもう気にしにゃくて良い。
常々、.md5を生成するくらいにゃらrarのリカバリデータでも置いとけばいいのにと思っていたので、結構需要にマッチしているかもしれにゃい。何で今頃、っていうツッコミは禁止。
Windowsでは
par2cmdlineが標準のようだ。debianでは
apt-get install par2
とかが可能。
例えば
# par2 c file
とすると
file.par2
file.vol000+01.par2
file.vol001+02.par2
file.vol003+04.par2
file.vol007+08.par2
file.vol015+16.par2
file.vol031+32.par2
file.vol063+37.par2
が生成される。1つめがindexファイルで、以降がデータの実体。ファイル名は含まれるリカバリーブロック数。
fileの破損状態により、必要とにゃるリカバリーブロック数が異にゃる。まぁ大体1ブロックで修復される程度の壊れ方だと思うが。で、1ブロックだけで済むにゃら、1つめのデータファイルだけ置いとけばよい。ディスク残量が足りにゃいので、後ろの方のpar2ファイルを消して容量確保、とかも気軽に行える。
このへんのブロック数やデータサイズは-sや-rで制御できる。3%〜5%が妥当にゃとこじゃにゃいだろうか。
デフォルトの.par2ファイルの分割が気持ち悪い人は、-uや-nを使うと良いだろう。
とまぁそんにゃ感じで、今後は.md5をやめて.par2で行こうかにゃぁと。
ちにゃみにquickparは大丈夫だがpar2cmdlineの0.4はwin32で2G超えできてにゃい(笑)
まあ突発的に飲み会しようぜ!ってことに。
酒だ〜!
と、まぁ、こんにゃ感じで。
鯨も出ました。good!
ただまぁ、集合した場所が場所で、にゃんつーか・・・
しかも写ってるだけでも、缶詰、お好み焼き、焼き豚、ベビーカステラ、キュウリ&岩塩、穴子と・・・
まぁ初っぱにゃの鯨からして飛ばし気味だが。
だんだん出来上がってくると、もうにゃにがにゃにやら
。
あとまぁ、ここの家はいろいろ飼ってるので、あ、にゃんかうごいた
と思ったら、
これとか
これとか。
気にする人は気にしてたみたいで、眠れねええええ!とか叫んでました。ま、野外だと思えば大したこと無いっすよ。それ以前に寝る空間が残ってませんでしたが。
メインマシンのRAID5でタイムアウト発生。
「デバイス \Device\Scsi\FastSx1 はタイムアウト期間内に応答しませんでした。」
「Controller #1 : Disk WDC WD1600LB-55EDA0 (Ch. 3, Master) error at LBA 0x50b2376 starting from LBA 0x50b2300. (Feature=0x0, Block count=0x80, Command=0x20, Status=0x51, Error=0x40.」
とかこんにゃ感じ。
状況は、100g程のファイルに高速md5生成をかけて放置。
グラフを見るに、一度タイムアウトしてすぐ復活したらしい。
当然のようにアプリから見たデータの破損は発生していにゃい。
シンクロしやがれというお告げと思われるのでやっておく。
予想するに、日頃使われてにゃかった空き領域にデータを置いたら、4台のうち1台にエラーが発生したんで、BADか何かにマークされた、とかかにゃ? セクタまで指定されてるので。もうめんどくさいからlogだけ出して自動的にfixしといてくれにゃいかにゃーとか。
いや、そうじゃにゃくてドライブ交換しろってことにゃんだけども。