dm-delay¶
设备映射器(Device-Mapper)的“delay”目标会延迟读、写和/或刷新操作,并可选择地将它们映射到不同的设备。
参数
<device> <offset> <delay> [<write_device> <write_offset> <write_delay>
[<flush_device> <flush_offset> <flush_delay>]]
表行必须包含 3、6 或 9 个参数
3:对设备上的读、写和刷新操作应用偏移和延迟
- 6:对设备应用偏移和延迟,同时对写和刷新操作在可选的不同 write_device 上应用 write_offset 和 write_delay
具有可选的不同扇区偏移
- 9:与 6 个参数相同,额外明确定义 flush_offset 和 flush_delay
在/结合可选的不同 flush_device/flush_offset。
偏移量以扇区为单位。
延迟时间以毫秒为单位。
示例脚本¶
- ::
#!/bin/sh # # 创建名为“delayed”的映射设备,将读、写和刷新操作延迟 500 毫秒。# dmsetup create delayed --table “0 blockdev --getsz $1 delay $1 0 500”
- ::
#!/bin/sh # # 创建映射设备,将写和刷新操作延迟 400 毫秒,并且 # 将读操作分流到设备 $1,但将写和刷新操作分流到不同的设备 $2 # 分别分流到 2048 和 4096 扇区的不同偏移量。# dmsetup create delayed --table “0 blockdev --getsz $1 delay $1 2048 0 $2 4096 400”
- ::
#!/bin/sh # # 创建映射设备,将读操作延迟 50 毫秒,写操作延迟 100 毫秒,刷新操作延迟 333 毫秒 # 到同一个后端设备,偏移量为 0 扇区。# dmsetup create delayed --table “0 blockdev --getsz $1 delay $1 0 50 $2 0 100 $1 0 333”