4.5. 透過過濾器來控制 LVM 裝置掃描(LVM Device Scans)

在開機時,vgscan 指令會被執行來掃描系統上的區塊裝置以搜尋 LVM 標籤,判斷出它們哪一個才是實體卷冊,並讀取 metadata 來建立一列卷冊群組清單。實體卷冊的名稱儲存在系統中各個節點的 cache 檔案中(/etc/lvm/cache/.cache)。後續的指令可讀取該檔案來避免重新掃描(rescanning)。
您可藉由在 lvm.conf 配置檔案中設定過濾器,以控制 LVM 該掃描哪些裝置。這些位於 lvm.conf 中的過濾器包含著一系列套用至 /dev 目錄中的裝置名稱的基本正規表示式,以決定是否要接受或拒絕找到的各個區塊裝置。
下列範例顯示了如何使用此過濾器,以控制 LVM 掃描哪些裝置。請注意,以下有些範例並不全然代表最佳作法,因為正規表示式被自由地拿來和完整的路徑名稱作比較。比方說,a/loop/ 相當於 a/.*loop.*/ 並且將會與 /dev/solooperation/lvol1 相符。
下列過濾器新增了所有被發現的裝置,這是預設的特性,因為在配置檔案中未配置過濾器:
filter = [ "a/.*/" ]
下列過濾器一除了 cdrom 裝置以避免在光碟機中沒有光碟時所造成的延緩:
filter = [ "r|/dev/cdrom|" ]
下列過濾器新增了所有的 loop 並移除了所有其它的區塊裝置:
filter = [ "a/loop.*/", "r/.*/" ]
下列過濾器新增了所有 loop 和 IDE 並移除了所有其它的區塊裝置:
filter =[ "a|loop.*|", "a|/dev/hd.*|", "r|.*|" ]
下列過濾器只在第一個 IDE drive 上新增了分割區 8 並移除了所有其它的區塊裝置:
filter = [ "a|^/dev/hda8$|", "r/.*/" ]
欲取得更多有關於 lvm.conf 檔案的相關資訊,請參閱〈附錄 B, LVM 配置檔案〉和 lvm.conf(5) man page。