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"