什麼是 lvmetad,我為什麼想要或需要使用它?
我有一個執行在我已經使用多年的 RAID 陣列之上的 LVM 的 Gentoo 伺服器。最近將LVM升級到2.02.109(不記得之前是什麼版本了),升級時收到一條消息:
* Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want * to enable lvm autoactivation and metadata caching.
我知道我可以通過設置來啟用
use_lvmetad = 1
它/etc/lvm/lvm.conf
。但我為什麼需要這樣的功能?我的理解是,它與 udev 規則一起使用,將 LVM 狀態保存在記憶體中,這樣 LVM 工具就不需要掃描卷來獲取該資訊。難道只是我的小陣列無法受益於這種功能嗎?在什麼情況下我可能想要/需要使用它?
描述
lvmetad 是 LVM 的元數據記憶體守護程序。守護程序接收來自 udev 規則的通知(必須安裝 LVM 才能在使用 lvmetad 時正常工作)。通過這些通知,lvmetad 擁有系統中可用卷組的最新且一致的映像。預設情況下,LVM 不使用 lvmetad,即使正在執行。請參閱 lvm.conf(5)。
仔細觀察這一點值得另一個定義。 維基百科指出:
日誌文件系統是一種文件系統,它在將日誌送出到主文件系統之前跟踪將在日誌中進行的更改(通常是文件系統專用區域中的循環日誌)。在系統崩潰或電源故障的情況下,此類文件系統可以更快地恢復聯機並且不太可能被損壞。
推理
我不會詳細解釋 LVM,因為 OP 已經了解其好處。因此,我只會解釋為什麼要添加日記功能。舊版本的 LVM 沒有日誌守護程序,這意味著如果系統崩潰,唯一可以使用的日誌在物理卷(硬碟)上。當邏輯卷跨越多個物理卷的邏輯卷組上的多個擴展區時,這會產生問題。
如果一半日誌事務存在於一個物理卷上而另一半存在於另一個物理卷上,則事務日誌無法將更改送出到兩個物理卷,因為物理卷不知道它們是卷組的一部分,因為事務日誌只存在於物理卷中。
這就是新守護程序發揮作用的地方。現在,LVM 可以創建一個日誌日誌並在卷組中為其創建一個部分,而不是為每個物理卷創建一個日誌日誌,該部分僅用於日誌記錄。這樣做之後,可以在卷組級別找到並重放整個事務日誌。
從這個連結:
通常,每個 LVM 命令都會發出磁碟掃描以查找所有相關的物理卷並讀取卷組元數據。但是,如果元數據守護程序正在執行並啟用,則可以跳過這種昂貴的掃描……這可以節省大量的 I/O 並減少完成 LVM 操作所需的時間,尤其是在具有許多磁碟的系統上。
因此,您將執行它以提高 LVM 管理和狀態操作的性能,但代價是啟動性能和增加的複雜性。系統中的磁碟越多,性能提升的程度越大。