使用中のディスクを読み取り専用モードに戻す

使用中のディスクを読み取り専用モードに戻す

ディスクパーティションを読み取り専用モードに強制し、30分以上読み取り専用状態を維持したいと思います。

私が試したこと:

  1. mount -o remount,ro (partition-identifier) (mount-point) -t (filesystem)

    質問処置: 一部のプロセスがパーティションを使用しているため、デバイスの使用中にエラーが発生します。ディスクを使用してプロセスを終了したくありません。プロセスがディスクを使用している間、突然読み取り専用になるディスクをシミュレートしたいと思います。

  2. 以下のようにマジックsysrqキーを使用してください。

    echo u > /proc/sysrq-trigger
    

    質問:これにより、すべてのディスクパーティションが読み取り専用に設定されます(デバイスが使用中であっても)。ただし、20〜30分後にデバイスが自動的に再起動します。一部のシステムは、このコマンドを実行した直後に再起動します。この再起動の原因は不明です。マシンを自然に再起動したくないので、ディスクを30分以上読み取り専用モードにしておく必要があります。

質問:単一のディスクパーティションを強制的に読み取り専用に設定し、30分間その状態を維持し、プロセスで再起動を行わずに読み取り/書き込みモードに戻すより良い方法はありますか?

ベストアンサー1

通常、プロセスに書き込み用に開いているファイルがあるか削除されたがまだ開いているファイルが含まれている場合、ファイルシステムを読み取り専用で再マウントすることはできません。同様に、ファイルが開いている状態(または現在ディレクトリがあるプロセス、実行中の実行可能ファイルなどの類似ファイルを使用)を持つファイルシステムをアンマウントすることはできません。

umount -lマウントポイント解除を使用して追加のファイルが開かないようにすることはできますが、ファイルシステムをマウントしたままにし、すでに開いているファイルが実行されているプロセスを維持できます。

ファイルシステムを読み取り専用で再マウントしてはいけませんが、強制的に再マウントする一般的な方法は思いません。ただし、ファイルシステムがブロックデバイスでサポートされている場合は、次のことができます。ブロックデバイスを読み取り専用にする、例えば

echo 1 >/sys/block/dm-4/ro
echo 1 >/sys/block/sda/sda2/ro

echo u > /proc/sysrq-triggerすべてのファイルシステムに影響を与えるため、読み取り専用で再マウントするためのやや極端な方法です。これは、再起動前にファイルシステムをきれいに保つための最後の手段です。

ファイルシステムを読み取り専用で再マウントしても再起動されません。再起動の原因は、パーティションを読み取り専用で再マウントすることと直接関連していません。まったく関係がない可能性があり、アプリケーションにバグが発生し、アプリケーションが回転し、プロセッサが過熱してプロセッサに障害が発生したりオーバークロックされ、最終的に再起動する可能性があります。再起動する理由を理解する必要があります。

おすすめ記事