web-dev-qa-db-ja.com

Linuxでディスクを切り離す方法(パーティション/ディスクのクラッシュをシミュレートする)?

テストの目的で、他のプロセスがディスクを使用しているときに、ディスクのクラッシュを(ディスクを切り離して)シミュレートする必要があります。
私は試した:

umount -f /srv/node/d1/

それをアンマウントしたくありません。次のメッセージが表示されます。

umount: /srv/node/d1: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

クラッシュしないため、手動で停止したくないプロセスがいくつかあります。 Linuxでディスクをデタッチする方法を誰かが知っていますか?物理的に切り離す方が簡単ですが、仮想ディスクを搭載した仮想マシンを使用しています。

2
Oleksandr

デバイスマッパーを使用して、基になるディスクに線形再マッピングし、そこからマウントする方が簡単です。デバイスマッパーを切り替えてエラーターゲットを返すことでディスクのクラッシュをシミュレートできるためです(たとえば、dmsetup wipe_tableを使用)。これと他の(scsi_debugの使用など)ディスクエラーシミュレーション手法については、 https://unix.stackexchange.com/a/144200/134856 を参照してください。

1
Anon