linux LVM mirror กับ MD mirror


11

ฉันคิดว่าฉันจำการสร้างมิร์เรอร์เมื่อหลายปีก่อนด้วย LVM และฉันจำสิ่งนี้ไม่ได้ "บันทึก" หรือบางทีฉันอาจสร้างกระจกด้วย mdadm และวาง LVM ไว้ด้านบน ต้องเป็นแบบนั้น

  1. บันทึก LVM คืออะไรหากเป็นเพียงมิรเรอร์ สิ่งที่เก็บไว้ที่นั่น? มันมีจุดประสงค์อะไร? ใช้ "--mirrorlog core" ไม่ดีหรือไม่ ข้อเสียคืออะไร ฉันไม่ต้องการมีพาร์ติชันอื่นสำหรับบันทึกถ้าฉันไม่ต้องการ

  2. มีคำแนะนำในการใช้เทคโนโลยีใดบ้าง? แม้ว่าฉันจะสร้างกระจกด้วย mdadm ฉันจะใช้ LVM ด้านบนของมัน ดังนั้นในกรณีนี้อาจจะดีกว่าถ้าสร้างการตั้งค่าทั้งหมดด้วย LVM ... นั่นจะเพิ่มประสิทธิภาพการทำงานให้มากขึ้นหรือน้อยลงหรือไม่?

ดิสก์ใช้สำหรับการจัดเก็บ Xen domU "ดิสก์"

ขออภัยที่ "คำถาม" ไม่ซับซ้อนเพื่อจุดที่ซับซ้อน

แนวคิดและข้อเสนอแนะและลิงก์ยินดีต้อนรับมากที่สุด ขอบคุณ!


md ดูเหมือนว่าจะทำงานได้ดีขึ้นสำหรับการทำงานของ mirror เมื่อเปรียบเทียบกับ lvm ดูserverfault.com/questions/80134/linux-md-vs-lvm-performance
Zoredache

1
การทำมิเรอร์ LVM นั้นมีวัตถุประสงค์เพื่อวัตถุประสงค์ที่แตกต่างกัน ในขณะที่คุณสามารถใช้มันเพื่อ "ทำมิเรอร์" ตามที่ MD ทำ แต่ใช้สำหรับการทำสำเนาโวลุ่ม ดูserverfault.com/questions/97845/lvm-mirroring-vs-raid1
Avery Payne

1
ถ้ามันมีความหมายสำหรับการโคลนแล้วทำไมมันต้องมีสามเล่ม?
d -_- b

ดูคำถามที่เกี่ยวข้องunix.stackexchange.com/questions/150644/…
Faheem Mitha

คำตอบ:


9

ส่วนตัวฉันมักจะไป MD + LVM มันเร็วกว่า (MD สามารถทำการอ่านแบบขนานใน RAID1) และต้องการเพียง 2 ดิสก์เท่านั้น (ถ้าคุณไม่ต้องการสร้างมิเรอร์ใหม่หลังจากรีบูตทุกครั้ง) และ MD นั้นออกแบบมาเพื่อทำ RAID และทำได้ดีมาก มันมีความยืดหยุ่นมากกว่า

นอกจากนี้ฉันยังถูกเผาโดย LVM ด้วย ในกรณีหนึ่งคือการลอกแบบ LVM บน HP-UX (ไม่ควรเกิดขึ้นกับ LVM2 ใน Linux) และฉันไม่สามารถขยาย LV ได้เนื่องจากการขยายต้องมีจำนวนแถบเท่ากันทุกประการ ดูเหมือนว่าสมเหตุสมผล แต่บางครั้ง ...

อีกครั้งที่มันเป็นมิเรอร์ (LVM2 ใน Linux ในเวลานี้) แต่ตอนนี้ฉันจำไม่ได้ว่า LVM ปฏิเสธที่จะถ่ายภาพของ LV ที่ทำมิเรอร์หรือขยายออกไปอย่างมีประสิทธิภาพโดยไม่คำนึงถึงประโยชน์ของการมี LVM ตั้งแต่แรก ในที่สุด แต่เกี่ยวข้องกับการใช้ lvconvert ไปมา)


ขอบคุณ! ฉันคิดว่าฉันจะไปกับ LVM ด้านบนของ MD ดูเหมือนว่ามีปัญหาบางอย่างกับการตรวจสอบอัตโนมัติของ MD ( raid.wiki.kernel.org/index.php/RAID_Boot ) ฉันอยากจะสะท้อนระบบทั้งหมดของฉัน (swap, boot, /, var, home, usr) ดังนั้นฉันจะต้องตรวจสอบสิ่งอื่นนอกเหนือจากการตรวจจับอัตโนมัติ
d -_- b

ใช่การตรวจจับอัตโนมัติเป็นความคิดที่ดีในหลักการ แต่มันให้อาการปวดหัวทุกประเภท ฉันได้ตั้งค่าด้วย iSCSI + multipath + MD + LVM ... และการตรวจจับอัตโนมัติคือ ... น่าสนใจ แต่ก็ไม่มีประโยชน์ในกรณีนี้
Dan Andreatta

4

เมื่อคู่ที่ทำมิรเรอร์ถูกปิดลงอย่างกะทันหันในระบบใด ๆ อาจมีบางช่วงที่ถูกเขียนไปยังอุปกรณ์หนึ่ง แต่ยังไม่ถึงกัน อาจเป็นไปได้กับการจัดเรียงเส้นทาง IO ใหม่มีบล็อกบางส่วนที่เขียนไปยัง A แต่ไม่ใช่ B และบางส่วนเขียนไปยัง B แต่ยังไม่ถึง A

เมื่อรีสตาร์ทเครื่องมันต้องทำให้อุปกรณ์สอดคล้องกัน เพียงแค่มีอุปกรณ์สองเครื่องเพียงอย่างเดียวก็ไม่เพียงพอ: มันไม่รู้ว่าบล็อกใดที่ไม่สอดคล้องกันและจะไม่ทราบว่าเวอร์ชั่นล่าสุดเป็นอย่างไร

ดังนั้นซอฟต์แวร์มิเรอร์จำเป็นต้องเก็บข้อมูลเมตาเล็กน้อยเพื่อติดตามสิ่งนี้ สิ่งนี้เรียกว่า "บันทึกเจตนาการเขียน"

โดยทั่วไป md จะเก็บไว้ในพื้นที่ที่สงวนไว้บางส่วนภายในอุปกรณ์ของตัวเองแม้ว่าคุณจะสามารถเลือกที่จะเก็บมันไว้ในอุปกรณ์อื่นได้ (นี่คือหนึ่งในเหตุผลที่กระจก md มีขนาดเล็กกว่าอุปกรณ์พื้นฐานเล็กน้อย

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

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


2

นี่เป็นแนวคิดที่แตกต่างกันสองประการ:

  • LVM เป็นชื่อที่ใช้สำหรับการจัดการโวลุ่ม คิดว่ามันเป็นกลไกในการรวมหลาย ๆ เล่มเป็นหนึ่งเดียว (ใช่คุณสามารถพูดได้ว่าเป็นเหมือน raid0) ปรับขนาดพวกเขาปรับขนาดสดการสร้างภาพรวม
  • MD สำหรับการจัดการ RAID เพิ่มอุปกรณ์หลายรายการในหนึ่งเมทาเดสซี่ทำให้เมทาเดสนี้พร้อมใช้งานอย่างสูงโดยใช้ Raid1, 5, 10, ฯลฯ ...

LVM ทำงานบนอุปกรณ์เก็บข้อมูลไม่ว่าจะเป็น metadevices หรืออุปกรณ์ที่แสดงโดยตัวควบคุมการโจมตีหรือเพียงแค่ดิสก์ธรรมดา

MD ทำงานบนดิสก์ (ใช่คุณยังสามารถใช้ดิสก์ที่นำเสนอโดยตัวควบคุมการโจมตีได้ แต่ประเด็นคืออะไร ..

LVM ไม่ได้มีไว้สำหรับทำให้ที่เก็บข้อมูลของคุณพร้อมใช้งานสูง และเช่นเดียวกัน MD ไม่ได้มีไว้สำหรับการจัดการปริมาณ ...

หวังว่าจะช่วย :)


1
ฉันเข้าใจสิ่งที่พวกเขา อย่างไรก็ตามถ้าคุณอ่าน man page สำหรับ lvcreate มันบอกว่ามันสามารถสร้าง mirror ได้ ฉันคิดว่านี่เป็นของเล่นสำหรับตอนนี้หรือไม่?
d -_- b

1
ใช่แล้ว ฉันไม่เห็นการใช้งานที่ดีใด ๆ ในตอนนี้ ไม่เพียงแค่เป็นมิรเรอร์ในระดับเสียง (แทนที่จะเป็นอุปกรณ์) มันก็เป็นบิต "น่าสนใจ" ในการสร้างตัวอย่างเช่นถ้าคุณต้องการมิเรอร์ 2 ทาง (เช่นในต้นฉบับ + สำเนา) คุณต้องมี 3 เล่ม - แต่ละอัน ด้านข้างของปริมาณมิเรอร์ + บันทึก แต่แล้วอีกครั้ง - imho :)
rytis

1

LVM มาจากระบบ UNIX ประเภทอื่น ฉันใช้กับ HPUX ซึ่งไม่มีเลเยอร์ MD ของ Linux เมื่อฉันทำงานกับมันเมื่อ 10 ปีก่อนไม่แน่ใจในตอนนี้ ภายใต้สถานการณ์เหล่านั้นการทำมิร์เรอร์ LVM จะมีประโยชน์ในสถานการณ์ที่ฮาร์ดแวร์ RAID ไม่พร้อมใช้งาน


ฉันเพิ่งพบว่าแปลกที่กระจก LVM ต้องการปริมาตรมากกว่าหนึ่ง กระจกแบบไหนกันนะ?
d -_- b

1
@toor ไดรฟ์ข้อมูลที่สามถูกใช้เพื่อเก็บบันทึกการเขียนล่วงหน้าสำหรับมิเรอร์โดยทั่วไปเพื่อติดตามสิ่งที่จำเป็นต้องมีการ resynced หลังจากหยุดทันที บน MD นี้โดยปกติจะถูกเก็บไว้ในส่วนที่สงวนไว้ของดิสก์ทั้งสอง
สระว่ายน้ำ

1

ด้วย -mirrorlog mirrored และตัวเลือก -alloc ที่ใดก็ได้ด้วยดิสก์สองตัวคุณจะได้รับบันทึกการมิเรอร์ 4M สองรายการหนึ่งรายการในแต่ละดิสก์ ฉันรำคาญที่ต้องยกเลิกนโยบายสำหรับสิ่งที่ดูเหมือนว่าเป็นสถานการณ์ที่พบบ่อยที่สุด แต่ก็ดี

LVM บน Linux ไม่เกี่ยวข้องกับสิ่งบน HP-UX หรือ AIX เพียงมีคำสั่ง userspace เดียวกัน LVM บน Linux ใช้ระบบ DM ภายในและใช้รหัสเดียวกันกับ MD ทั้งหมด ณ จุดนี้ฉันไม่เห็นประโยชน์ของ LVM เหนือ MD สำหรับพาร์ติชันที่คุณต้องการอย่างรวดเร็วและไม่สนใจเกี่ยวกับการสำรองข้อมูล (เช่นสลับพาร์ติชั่นสำหรับเกสต์ VM), LVM ให้ตัวเลือกว่าคุณต้องการมิรเรอร์เหล่านั้นหรือไม่หรือการลอกดีกว่า

และเป็นวิธีที่ง่ายกว่าในการเพิ่มดิสก์ลงใน LVM กว่า MD

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