14 ブロックデバイスの検出

ファイルシステムが検出されるのと同様の方法で、ブロックデバイスとそのタイプも検出できます。

アイテムキー

ディスカバリールールで使用するアイテムキーは

vfs.dev.discovery

このアイテムはLinuxプラットフォームでのみサポートされています。

このディスカバリーアイテムを使用してディスカバリールールを作成し、以下のようにフィルタリングできます:

  • フィルタ: {#DEVNAME}がsd[\D]$に一致 - "sd0"、"sd1"、"sd2"などのデバイスを検出する
  • フィルタ: *{#DEVTYPE}がdiskに一致し、かつ{#DEVNAME}が`^loop.`に一致しない** - 名前が"loop"で始まらないディスクタイプのデバイスを検出する

サポートされているマクロ

このディスカバリキーは、ブロックデバイスの名前とタイプをそれぞれ識別する{#DEVNAME}と{#DEVTYPE}の2つのマクロを返します。次に例を示します。

[ 
   { 
      "{#DEVNAME}":"loop1",
      "{#DEVTYPE}":"disk"
   },
   { 
      "{#DEVNAME}":"dm-0",
      "{#DEVTYPE}":"disk"
   },
   { 
      "{#DEVNAME}":"sda",
      "{#DEVTYPE}":"disk"
   },
   { 
      "{#DEVNAME}":"sda1",
      "{#DEVTYPE}":"partition"
   }
]

ブロックデバイスの検出では、vfs.dev.read[]およびvfs.dev.write[]アイテムと{#DEVNAME}マクロを使用してアイテムのプロトタイプを作成できます。次に例を示します。

  • "vfs.dev.read[{#DEVNAME},sps]"
  • "vfs.dev.write[{#DEVNAME},sps]"

{#DEVTYPE}は、デバイスのフィルタリングを目的としています。