ソフトウェアRAID再同期を中断する方法は?


50

debian squeezeソフトウェアraidで実行中の再同期操作を中断したい。(これは通常のスケジュールされた比較再同期です。このような場合、RAIDアレイはまだクリーンです。ディスクが故障して交換された後の再構築と混同しないでください。)

実行中にこのスケジュールされた再同期操作を停止する方法は?別のRAIDアレイは「再同期保留中」です。これらはすべて、同じ日(日曜日の夜)に次々にチェックされるためです。この日曜日の夜の再同期を完全に停止したい。

[編集:sudo kill -9 1010停止しません。1010はmd2_resyncプロセスのPIDです]

また、再同期の間隔と次の再同期までの残り時間を制御する方法を知りたいと思います。

[編集2:今やったことは、再同期を非常に遅くすることでした。

sudo sysctl -w dev.raid.speed_limit_max=1000

http://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.htmlから取得

夜中に高い値に戻すので、再同期を終了できます。

この回避策はほとんどの状況で問題ありませんが、それでも私が尋ねたことが可能かどうかを知ることは興味深いでしょう。たとえば、「保留中」を再同期または再同期している間は、配列を拡大することはできないようです。


再同期をキャンセルするためのボールを持っているとは思わない。私はそれが二度と始まらないかもしれないと恐れています。
トム・オコナー

1
@Tom:これは、すべてが一致する場合にすべての日曜日をチェックする通常の再同期のみです。(たとえば、マシンをシャットダウンすることにより)停止された場合、次のブートで続行します。
Adam5

ああ、わかった。それはその後、大丈夫だ
トム・オコナー

回答:


48

あなたの配列がある場合はmd0、その後echo "idle" > /sys/block/md0/md/sync_action

「アイドル」はアクティブな再同期/回復などを停止します。別の再同期/回復が自動的に再開されないという保証はありませんが、これをトリガーするには何らかのイベントが必要になります。

http://www.mjmwired.net/kernel/Documentation/md.txt#477


許可を変更した後にテキストファイルを更新できましたが、ファイルの内容は同じインスタンス内で背後から「再同期」に戻ります。そして、再同期は他のアレイで継続されます(以前は「保留中」でした)。他のアレイのファイルに「アイドル」を書き込むと、再びスワップしますが、停止することはありません。
Adam5

2
複数のレイドがある場合:echo idle | sudoのティー/ SYS /ブロック/ MD * / MD / sync_action
オーレ丹下

実際には、「アイドル」はチェックを一時停止するだけです。次の「チェック」は/sys/block/md0/md/sync_min’. To reset this write 、このファイルに対して0`で続行し ます。
rudimeier

33

再同期プロセスの速度を落とすか一時停止して、I / Oを保存し、別のコンピューターの一部をバックアップしたかったのです。このスレッドは助けてくれましたが、別の解決策を見つけました。

私のDebianレニーについて:

  • echo "idle" > /sys/block/md0/md/sync_action 動作しますが、再同期プロセスはすぐに再起動されます。

  • checkarray -x --all :動作しますが、同じ結果:再同期プロセスはすぐに再起動されます。

だから私はこの方法を使用します: echo 0 > /proc/sys/dev/raid/speed_limit_max


1
興味深いアプローチ。speed_limit_minの値も調整する必要があることがわかりました。
ディオミディススピネリス

1
またspeed_limit_min、再同期を完全に一時停止するには0 に設定する必要がありました。
njahnke 14

12

次の一連のコマンドを(ルートとして)使用して、進行中の配列の再同期をキャンセルできます。

echo frozen > /sys/block/md0/md/sync_action
echo none > /sys/block/md0/md/resync_start
echo idle > /sys/block/md0/md/sync_action

これにより、アレイが矛盾した状態になる可能性があることに注意してください。配列が良好な状態であることが確実でない限り、これを行わず、後で同期を再実行してください。

(クレジットの支払いが必要なクレジット:このスレッドでこの呪文見つかりました。)


8

前述のとおり、Debian / Ubuntuシステムでは、/etc/cron.d/mdadmスクリプトはスクリプトを呼び出して/usr/share/mdadm/checkarray再同期チェックを開始します。

このスクリプトには、実行中のすべての同期チェックをキャンセルするオプションがあります。

/usr/share/mdadm/checkarray -x --all

3

再同期をキャンセルする方法についてはわかりませんが、スケジュールは/etc/cron.d/mdadmDebian / Ubuntuシステムで制御されます。

スクリプト/usr/share/mdadm/checkarrayは、あなたの質問の他の部分にいくらかの光を当てるかもしれません。それがcronによって呼び出されているからです。


3

mdデバイスがmd0で、再同期書き込みを停止する場合:

echo "idle" > /sys/block/md0/md/sync_action

3

これの可能な解決策は、詳細に入るために少しかかりました。

私のシステム:CentOS 6.5 mdadm v3.3.2

毎週一定のチェックを行い、そのうちの1つを一時停止したかった。RAIDはクリーンであり、チェックは毎週実行される/etc/cron.d/raid-checkスクリプトを介して呼び出されました。

チェックをキャンセルするには、-misc --action関数を使用します。RAIDデバイスが/ dev / md0であり、これが毎週の一貫性チェックであり、デバイスの障害ではないと仮定すると、rootとして次のようになります。

mdadm --misc --action = idle / dev / md0

同様に、一貫性チェックを開始するには

mdadm --misc --action = check / dev / md0


2
echo "idle" > /sys/block/md0/md/sync_action

/ sys / block / md * / md / sync_actionが「resync」の場合は機能しません(状態が「check」または「repair」の場合とは異なります。「idle」をsync_actionファイルにエコーできますが、影響はありません。ここにあるこのカーネルドキュメントファイルには、動作するという誤った記述がありますが、動作しませんでした。

「アイドル」はアクティブな再同期/回復などを停止します。別の再同期/回復が自動的に再開されないという保証はありませんが、これをトリガーするには何らかのイベントが必要になります。


1
ただし、この状態で/ sys / block / md * / md / sync_speed_maxを使用すると、「再同期」の速度を変更できます。私は確かdocumenationが間違っている理由を、多分誰も知らないないよ
ブライアン

学ぶために時間の分を取ってくださいスタック交換を(マークダウン構文meta.serverfault.com/editing-help
スヴェン

0

私はこれが4年前の投稿であることを知っていますが、これを行うこともできます(md0をアレイ、sdb4を再同期「ディスク」と想定):

    mdadm /dev/md0 --fail /dev/sdb4 && mdadm /dev/md0 --remove /dev/sdb4

このコマンドは、sdb4が故障したディスクであるように見せかけるため、アレイからキックし、再同期を停止します。resync-stopアクション中にエラーがなかった場合、このコマンドはmd0アレイからsdb4も削除します。エラーが発生した場合、ディスクは障害状態のままになりますが、アレイには残ります。

のいずれかの場所でディスクに障害が発生した場合mdadm論理的に障害が発生したと設定します。アレイがクリーンである(劣化していない)場合、ディスクは一貫したままであり、-add << disk >> --assume-cleanオプションを追加しても心配することなく追加できます。あった場合には任意のアクション、それがされた後に切り離さ(例えば再同期、再構築、あるいは書き込み)、その後--assumeクリーン失敗probalbyますし、すぐに再同期アクションを開始します。

変更するraid.speed_limit_minraid.speed_limit_max、それが再同期/再構築速度だけでなく、通常の動作速度だけでなく、影響を与え、そしておそらくあなたはRAIDアレイを使用することによって得られる性能の多くを失うことになるので、何とか悪い考えです。


5
RAIDから正常なディスクを削除するのは悪い考えだと思います。ほとんどの場合、問題は発生しませんが、それを行うたびに、データの損失またはデータの破損が発生するリスクがあります。
カスペルド

1
これを絶対にしないでください。稼働中の--assume-cleanシステムにディスクを追加し、残りのディスクで書き込みが発生した場合、問題を抱えています。
sanmai
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.