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_offset 和 write_delay 应用于可选的不同写入设备上的写入和刷新操作,以及可选的不同扇区偏移量
到不同扇区偏移的可选不同写入设备上的写入和刷新操作
- 9:与 6 个参数相同,加上显式定义 flush_offset 和 flush_delay
在/使用可选的不同刷新设备/刷新偏移量。
偏移量以扇区为单位指定。
延迟以毫秒为单位指定。
示例脚本¶
- ::
#!/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"