出于测试目的,我需要在其他进程使用磁盘时模拟磁盘崩溃(通过分离磁盘)。
我试过:
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 中分离磁盘吗?从物理上分离它会更容易,但我使用的是带有虚拟磁盘的虚拟机。
答案1
使用设备映射器对底层磁盘进行线性重新映射并从那里安装会更容易,因为您可以通过切换设备映射器返回错误目标(例如通过使用dmsetup wipe_table
)来模拟磁盘崩溃。看https://unix.stackexchange.com/a/144200/134856对于此和其他(例如使用scsi_debug
)磁盘错误模拟技术。