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”