badblocks の出力に含まれるエラーの詳細

1. はじめに

 badblocks は,ストレージデバイスの不良ブロックを検出するプログラムであり,ストレージデバイスの健康状態を測定するために使用されます。map page によると,Remy Card 氏によって開発され,現在は Theodore Ts'o 氏によってメンテナンスされているようです。

2. 疑問

 正常なストレージデバイスと不正ブロックが含まれるストレージデバイスに,それぞれ badblocks を実行すると以下のような結果が出力される。

Pass completed, 0 bad blocks found. (0/0/0 errors)
Pass completed, 128 bad blocks found. (128/0/0 errors)

 “Pass completed, X bad blocks found.” の後ろに位置する丸括弧内には,3 つのエラーが表示されています。しかし,これらのエラーに関する情報は map page に記載されていません。それぞれのエラーが何を意味するのかを調べます。

3. 回答

 ArchWiki や Stack Exchange のスレッドによると「読み取りエラー・書き込みエラー・破損エラー」と分類されています。また,Server Fault のスレッドでは 以下のように分類されています。

  • 読み取りエラー: 読み込めなかったブロック数
  • 書き込みエラー: 書き込めなかったブロック数
  • 破損エラー:   書き込んだデータと読み込んだデータが異なるブロック数

4. おわりに

 badblocks は OSS なので,もっと詳細が知りたい人はソースコードを参照してみてください。

Dutch

コンピュータサイエンスを専攻している大学院生です。趣味は,アニメ鑑賞・プログラミング・ライフハックなどです。


© 2020 Dutch Powered by Hugo