テストの目的で、他のプロセスがディスクを使用しているときに、ディスクのクラッシュを(ディスクを切り離して)シミュレートする必要があります。
私は試した:
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でディスクをデタッチする方法を誰かが知っていますか?物理的に切り離す方が簡単ですが、仮想ディスクを搭載した仮想マシンを使用しています。
デバイスマッパーを使用して、基になるディスクに線形再マッピングし、そこからマウントする方が簡単です。デバイスマッパーを切り替えてエラーターゲットを返すことでディスクのクラッシュをシミュレートできるためです(たとえば、dmsetup wipe_table
を使用)。これと他の(scsi_debug
の使用など)ディスクエラーシミュレーション手法については、 https://unix.stackexchange.com/a/144200/134856 を参照してください。