Udev
在udev中,什麼樣的設備事件匹配ACTION==‘change’?
udev
到目前為止,我創建的規則僅處理添加或刪除的設備,即:
ACTION=="add"...
或者ACTION=="remove"...
我遇到了一個似乎也處理設備狀態更改的規則範例:
ACTION=="add|change", KERNEL=="sd[b-z]", ATTR{queue/rotational}=="1", RUN+="/usr/bin/hdparm -B 127 -S 12 /dev/%k"
我認為只要添加匹配設備或其狀態發生變化,上述規則就適用。
**問題:**可能會發生什麼樣的狀態變化(通常和特定於 USB 硬碟驅動器)?
我已經檢查了我能找到的所有 udev 文件,幾乎沒有提及或使用指導,關於設備狀態更改或特別是
ACTION="change"
.
例如,“更改”對應於在 sdcard 讀卡器中移除或插入 sdcard,或更改 USB 轉 sata 機箱內的硬碟。設備本身沒有添加或刪除,但媒體不再相同。
當介質更換器(關於磁帶 - 類似 Netbackup 的環境)或 sd 讀卡器與不同的介質或 sd 卡一起使用時,會觸發 udev 更改事件。重新添加同一設備時(再次重新添加 san 磁碟,或者您在交換機端進行 switchdisable/enable 或從目標端禁用/啟用目標埠)
下面是我們在主機端看到的一些更改 udev 事件,當我為現有的 san lun 禁用目標埠(來自 Vexata VX100 陣列)時
KERNEL[34942.047543] change /devices/virtual/block/dm-0 (block) KERNEL[34942.047596] change /devices/virtual/block/dm-1 (block) KERNEL[34942.047613] change /devices/virtual/block/dm-2 (block) KERNEL[34942.047631] change /devices/virtual/block/dm-3 (block) KERNEL[34942.047678] change /devices/virtual/block/dm-4 (block) UDEV [34942.053448] change /devices/virtual/block/dm-3 (block) UDEV [34942.053486] change /devices/virtual/block/dm-4 (block) UDEV [34942.053507] change /devices/virtual/block/dm-0 (block) UDEV [34942.053536] change /devices/virtual/block/dm-2 (block)