lvmetad คืออะไรและเพราะเหตุใดฉันจึงต้องการหรือจำเป็นต้องใช้


28

ฉันมีเซิร์ฟเวอร์ Gentoo ที่มี LVM ทำงานอยู่ด้านบนของอาร์เรย์ RAID ที่ฉันใช้มาหลายปีแล้ว เมื่อเร็ว ๆ นี้ฉันอัปเกรด 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 ไม่จำเป็นต้องสแกนปริมาณเพื่อรับข้อมูลนั้น เป็นเพียงแค่ว่าอาร์เรย์เล็ก ๆ ของฉันไม่สามารถใช้ประโยชน์จากคุณสมบัตินี้ ฉันอาจต้องการ / จำเป็นต้องใช้ภายใต้สถานการณ์ใดบ้าง

คำตอบ:


1

ลักษณะ

จากหน้าlvmetad man :

lvmetad เป็น daemon การแคชข้อมูลเมตาสำหรับ LVM daemon ได้รับการแจ้งเตือนจากกฎ udev (ซึ่งจะต้องติดตั้งเพื่อให้ LVM ทำงานได้อย่างถูกต้องเมื่อใช้ lvmetad) ผ่านการแจ้งเตือนเหล่านี้ lvmetad มีอิมเมจที่ทันสมัยและสอดคล้องกันของกลุ่มวอลุ่มที่มีอยู่ในระบบ ตามค่าดีฟอลต์ lvmetad แม้ว่าจะรันอยู่จะไม่ถูกใช้โดย LVM ดู lvm.conf (5)


เมื่อมองดูสิ่งนี้คุณจะได้ประโยชน์อีกนิยามหนึ่ง รัฐWikipedia :

ระบบไฟล์การทำเจอร์นัลคือระบบไฟล์ที่ติดตามการเปลี่ยนแปลงที่จะเกิดขึ้นในเจอร์นัล (โดยปกติจะเป็นไฟล์บันทึกแบบวงกลมในพื้นที่เฉพาะของระบบไฟล์) ก่อนที่จะส่งไปยังระบบไฟล์หลัก ในกรณีที่ระบบขัดข้องหรือไฟฟ้าขัดข้องระบบไฟล์ดังกล่าวจะเร็วกว่าที่จะนำกลับมาออนไลน์และมีโอกาสน้อยที่จะเกิดความเสียหาย


เหตุผล

ฉันจะไม่อธิบายรายละเอียดของ LVM เนื่องจาก OP เข้าใจถึงประโยชน์แล้ว เช่นนี้ฉันจะอธิบายว่าทำไมเพิ่มการบันทึกรายวันเท่านั้น LVM เวอร์ชันเก่าไม่มี daemon การทำเจอร์นัลหมายความว่าหากระบบขัดข้องเจอร์นัลเดียวที่สามารถใช้ได้คือบนฟิสิคัลวอลุ่ม (ฮาร์ดดิสก์) ที่สร้างปัญหาเมื่อโลจิคัลวอลุ่มขยายขอบเขตจำนวนมากบน Logical Volume Groups ที่ขยายฟิสิคัลวอลุ่มจำนวนมาก

หากครึ่งหนึ่งของธุรกรรมเจอร์นัลมีอยู่บนฟิสิคัลวอลุ่มหนึ่งและอีกครึ่งหนึ่งอยู่ในฟิสิคัลวอลุ่มอื่นเจอร์นัลธุรกรรมจะไม่สามารถเปลี่ยนแปลงทั้งสองฟิสิคัลวอลุ่มเนื่องจากฟิสิคัลวอลุ่มไม่เข้าใจว่าเป็นส่วนหนึ่งของกลุ่มวอลุ่มเนื่องจากธุรกรรม บันทึกมีอยู่ในฟิสิคัลวอลุ่มเท่านั้น

นั่นคือสิ่งที่ daemon ใหม่เข้ามาเล่น ตอนนี้แทนที่จะเป็นบันทึกประจำวันสำหรับแต่ละฟิสิคัลวอลุ่ม LVM สามารถสร้างบันทึกประจำวันและสร้างส่วนสำหรับบันทึกในกลุ่มวอลุ่มที่ตั้งค่าไว้สำหรับการทำเจอร์นัลเท่านั้น หลังจากทำเช่นนั้นแล้วจะสามารถค้นหาและเล่นซ้ำบันทึกธุรกรรมทั้งหมดในระดับกลุ่มวอลุ่ม


14
คำตอบของคุณดูเหมือนจะแนะนำว่า lvmetad ให้บริการกับระบบไฟล์ที่ทำงานอยู่ด้านบนของมันที่ช่วยให้ journaling ถูกต้อง แต่แหล่งข้อมูลอื่นบอกว่ามันเก็บข้อมูลเกี่ยวกับเลย์เอาต์ LVM สำหรับชุดคำสั่งเครื่องมือบรรทัดคำสั่ง lvm ยินดีที่จะสนับสนุนเวอร์ชันของคุณด้วยบางแหล่ง
Pavel Šimerda

8
ฉันต้องสงสัย @ PavelŠimerda คู่มือ lvmetad ไม่ได้เกี่ยวกับการบันทึกข้อมูล ไม่ต้องพูดถึงว่ามันเป็นการละเมิดชั้นหาก LVM เริ่มที่จะกลายเป็นวารสารตระหนัก (นั่นหมายความว่ามันจะต้องรู้ว่าระบบไฟล์ใดที่จะทำเจอร์นัลและที่ไม่ได้และมันต้องรู้ว่าระบบไฟล์ใดอยู่ด้านบน ของมัน) ฉันยังไม่เห็นเหตุผลใด ๆ ว่าทำไมการมีสมุดรายวันของระบบไฟล์แพร่กระจายในหลายฟิสิคัลวอลุ่มจะเป็นปัญหา ที่เกิดขึ้นตลอดเวลาด้วยเทคโนโลยีอื่น ๆ เช่น RAID 0
Dan Molding

29

จากลิงค์นี้ :

โดยปกติแล้วคำสั่ง LVM แต่ละรายการจะสแกนดิสก์เพื่อค้นหาฟิสิคัลวอลุ่มที่เกี่ยวข้องทั้งหมดและเพื่ออ่านข้อมูลเมตาของกลุ่มวอลุ่ม อย่างไรก็ตามหาก metadata daemon กำลังทำงานและเปิดใช้งานการสแกนที่มีราคาแพงสามารถข้ามได้ ... ซึ่งสามารถบันทึก I / O จำนวนมากและลดเวลาที่ต้องใช้ในการดำเนินการ LVM ให้เสร็จสมบูรณ์โดยเฉพาะในระบบที่มีดิสก์จำนวนมาก

ดังนั้นคุณจะเรียกใช้เพื่อเพิ่มประสิทธิภาพของการจัดการ LVM และการดำเนินงานสถานะในราคาของประสิทธิภาพการเริ่มต้นและความซับซ้อนที่เพิ่มขึ้น ระดับของการเพิ่มประสิทธิภาพนั้นใหญ่กว่าเมื่อมีดิสก์ในระบบมากขึ้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.