何かが私のハードドライブを使い続けますが(毎秒数キロバイト)、原因がわからないようです。
私の設定:4つの回転プラッタ(/ dev / sd [cdef])がraid5配列に組み立てられ、次にbcacheがすべてをキャッシュするように設定されます(cache_mode = writeback、ential_cutoff = 0)。 bcacheボリュームの上にlvmを設定しました。
sdaとsdbはSSDです。 sdc、sdd、sde、sdf は回転ディスクで、mdadm -> bcache -> lvm -> dm-* のベースです。
したがって、これは(2番目の印刷の)出力ですiostat -x -d 30
。
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0,00 0,77 0,97 0,77 12,40 6,13 21,38 0,00 0,23 0,00 0,52 0,23 0,04
sdb 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
sdc 0,03 1,60 0,13 4,50 0,67 17,63 7,90 0,05 11,54 15,00 11,44 11,17 5,17
sdd 1,60 0,30 0,43 4,83 8,13 13,77 8,32 0,06 11,27 0,00 12,28 11,04 5,81
sde 1,63 0,00 0,57 4,07 8,80 9,50 7,90 0,05 10,99 0,47 12,46 10,73 4,97
sdf 0,00 1,90 0,00 5,27 0,00 21,90 8,32 0,04 8,53 0,00 8,53 8,35 4,40
md0 0,00 0,00 0,00 0,97 0,00 12,40 25,66 0,00 0,00 0,00 0,00 0,00 0,00
bcache0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-2 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-4 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-5 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-6 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-7 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
dm-9 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
このiostat出力で奇妙に見えるのは、bcacheがまったく触れていないため、論理ボリュームにアクティビティがないと仮定することです。
iotop
このトピックに関する言及もありません。ディスク上で実行されているアプリケーションは報告されないため、一部のシステムデーモン/サービスであることに違いありません。
md0
ボリュームにいくつかのアクティビティが表示されますが、論理ボリュームに書き込みがないため、これはどのように可能ですか?bcache
何かメンテナンス作業をしているようですね?しかし、毎秒? ? ?
最後に、sdcのいくつかのアクティビティ - sdfは実際にmd0のアクティビティと一致しません。また、すべてのディスクにわたって非対称なので、mdadmベースではないようです。
編集:meihの提案によると、iosnoop
出力は次のようになります。
Tracing block I/O. Ctrl-C to end.
COMM PID TYPE DEV BLOCK BYTES LATms
md0_raid5 281 FFS 8,80 18446744073709551615 0 0.04
md0_raid5 281 FFS 8,32 18446744073709551615 0 0.11
md0_raid5 281 FFS 8,64 18446744073709551615 0 0.10
md0_raid5 281 FFS 8,48 18446744073709551615 0 0.10
<idle> 0 WS 8,80 16 4096 0.08
kworker/3:1H 276 WS 8,32 16 4096 0.10
kworker/3:1H 276 WS 8,64 16 4096 0.10
kworker/3:1H 276 WS 8,48 16 4096 0.09
<idle> 0 FFS 8,80 18446744073709551615 0 8.45
<idle> 0 FFS 8,64 18446744073709551615 0 17.42
<idle> 0 FFS 8,32 18446744073709551615 0 19.36
<idle> 0 FFS 8,48 18446744073709551615 0 20.68
md0_raid5 281 FFS 8,32 18446744073709551615 0 0.11
md0_raid5 281 FFS 8,80 18446744073709551615 0 0.10
md0_raid5 281 FFS 8,64 18446744073709551615 0 0.13
md0_raid5 281 FFS 8,48 18446744073709551615 0 0.14
<idle> 0 WS 8,80 8 512 0.06
<idle> 0 WS 8,32 8 512 0.10
<idle> 0 WS 8,64 8 512 0.08
ksoftirqd/3 28 WS 8,48 8 512 0.08
cat 14719 FFS 8,80 18446744073709551615 0 12.42
cat 14719 FFS 8,64 18446744073709551615 0 17.27
cat 14719 FFS 8,32 18446744073709551615 0 19.21
cat 14719 FFS 8,48 18446744073709551615 0 20.52
ここにリストされているすべてのデバイスは回転するプラッタです。
Edit2:Frostschutzの提案に従ってblock_dumpを有効にした後のシステムログからの抜粋は次のとおりです。
[40723.578347] md0_raid5(281): WRITE block 8 on sdc (1 sectors)
[40723.578359] md0_raid5(281): WRITE block 8 on sde (1 sectors)
[40723.578363] md0_raid5(281): WRITE block 8 on sdd (1 sectors)
[40723.578367] md0_raid5(281): WRITE block 8 on sdf (1 sectors)
[40723.824546] md0_raid5(281): WRITE block 16 on sdc (8 sectors)
[40723.824560] md0_raid5(281): WRITE block 16 on sde (8 sectors)
[40723.824566] md0_raid5(281): WRITE block 16 on sdd (8 sectors)
[40723.824570] md0_raid5(281): WRITE block 16 on sdf (8 sectors)
mdadm
もしそうなら、犯人は(おそらく)スーパーブロックオフセットを継続的に使用しているようです。
さらなる調査により、mdadm -E /dev/sdc
毎秒異なるチェックサムが報告されることが確認されました。イベントの数は通常固定されていますが、ドライブを頻繁に再確認すると、状況が「クリーン」から「アクティブ」に変わり、これらの確認中にイベントの数が他よりも高くなります。
それでは、何が起こっているのかについての論理的な説明はありますか?それとも、私のディスクに何が起こっているのか、もっと学ぶためにできることはありますか?
答え1
meuh&frostschutzのおかげで、問題のあるプロセスを特定できました。 mdadmがアレイ内のいくつかの同期後に操作を実行しているようです(数日前にRAID-5アレイのドライブを交換しました)。
実際にドライブを交換してから数日で動作が停止しました。興味深いことに、唯一のI / Oがスーパーブロック領域に書き込まれているので、これを行います。私は現在、資格のないコードを見てこそ、権威ある答えを提供できると思います。
編集:ちょうど10 GBのデータをアレイにコピーし、研削を再開しました。では、post syncではなくpostランダム書き込みになりますね…