อะไรคือประโยชน์ของ Logical Volume Manager [ปิด]


11

ฟีเจอร์และประโยชน์ที่จะได้รับจากLogical Volume Managerนั้นเกินกว่ารายละเอียดในหน้า Wikipedia หรือไม่


1
เมื่อเทียบกับอะไร คำถามนี้มันคลุมเครือเกินไป ..
Nandhini Anand

โปรดอธิบายอย่างละเอียดเกี่ยวกับตัวเลือกของคุณ
Ori

1
ว้าว - การอ้างอิงคำถามนั้นได้รับคำตอบที่ยอดเยี่ยมจาก Matt Simmons!
dunxd

1
เพื่อความสมบูรณ์นอกจากนี้ยังควรพิจารณาถึงอันตรายและข้อ จำกัด ของ LVM: serverfault.com/questions/279571/lvm-dangers-and-caveats
RichVel

คำตอบ:


33

ถ่ายโดยตรงจากบล็อกของฉัน: http://www.standalone-sysadmin.com/blog/2008/09/introduction-to-lvm-in-linux/

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

คุณมีไดรฟ์จริงในกรณีนี้ sda บนไดรฟ์นั้นมีสองพาร์ติชัน sda1 และ sda2 นอกจากนี้ยังมีพื้นที่ว่างที่ไม่ได้ใช้ แต่ละพาร์ติชั่นมีระบบไฟล์ติดตั้งอยู่ ประเภทระบบไฟล์ที่แท้จริงคืออะไรก็ได้ คุณสามารถเรียกมันว่า ext3, reiserfs หรืออะไรก็ได้ สิ่งสำคัญที่ควรทราบคือมีการตรวจสอบแบบหนึ่งต่อหนึ่งโดยตรงระหว่างพาร์ติชันดิสก์และระบบไฟล์ที่เป็นไปได้

ให้เพิ่มการจัดการโลจิคัลวอลุ่มบางอย่างที่สร้างโครงสร้างเดียวกันขึ้นมาใหม่:

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

ให้ดูว่าเกิดอะไรขึ้นเมื่อเราเพิ่มฟิสิคัลวอลุ่มมากกว่าหนึ่ง:

ที่นี่เรามีดิสก์ฟิสิคัลสามดิสก์ sda, sdb และ sdc แต่ละดิสก์สองแผ่นแรกมีหนึ่งพาร์ติชันที่ใช้พื้นที่ทั้งหมด sdc สุดท้ายมีหนึ่งพาร์ติชันที่ใช้พื้นที่ครึ่งหนึ่งของดิสก์โดยมีพื้นที่ว่างเหลือครึ่งพาร์ติชัน

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

ตอนนี้เรามีกลุ่มวอลุ่มนี้ซึ่งใช้ดิสก์ 2 และ 1/2 มันถูกแกะสลักเป็นโลจิคัลวอลุ่มสองตัวโดยอันแรกมีขนาดใหญ่กว่าดิสก์ตัวใดตัวหนึ่ง โลจิคัลวอลุ่มไม่สนใจว่าดิสก์ทางกายภาพที่แท้จริงมีขนาดใหญ่เพียงใดเนื่องจากสิ่งที่พวกเขาเห็นคือพวกเขาแกะสลักจาก myVolumeGroup01 ชั้นของสิ่งที่เป็นนามธรรมนี้มีความสำคัญอย่างที่เราจะได้เห็น

จะเกิดอะไรขึ้นถ้าเราตัดสินใจว่าเราต้องการพื้นที่ที่ไม่ได้ใช้เพราะเราได้เพิ่มผู้ใช้มากขึ้น?

โดยปกติเราจะต้องเจอกับความเศร้าโศกถ้าเราใช้การทำแผนที่แบบหนึ่งต่อหนึ่ง แต่ด้วยปริมาณตรรกะนี่คือสิ่งที่เราสามารถทำได้:

ที่นี่เราได้ใช้พื้นที่ว่างก่อนหน้านี้ใน / dev / sdc และสร้าง / dev / sdc2 จากนั้นเราเพิ่มเข้าไปในรายการของโวลุ่มที่ประกอบด้วย myVolumeGroup01 เมื่อทำเสร็จแล้วเรามีอิสระที่จะขยายโลจิคัลวอลุ่มอย่างใดอย่างหนึ่งตามความจำเป็น เนื่องจากเราเพิ่มผู้ใช้เราจึงเพิ่ม myLogicalVolume2 ณ จุดนั้นตราบใดที่ระบบไฟล์ / โฮมรองรับเราก็มีอิสระที่จะพัฒนามันเพื่อเติมเต็มพื้นที่พิเศษ ทั้งหมดเป็นเพราะเราแยกการจัดเก็บของเราจากดิสก์ทางกายภาพที่มันอาศัยอยู่

เอาล่ะนั่นครอบคลุมเหตุผลพื้นฐานของ Logical Volume Management เนื่องจากฉันแน่ใจว่าคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการเตรียมและสร้างระบบของคุณเองต่อไปนี้เป็นแหล่งข้อมูลที่ยอดเยี่ยมสำหรับการเริ่มต้น:

http://www.pma.caltech.edu/~laurence/Linux/lvm.html
http://www.freeos.com/articles/3921/
http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html


2
+1 สำหรับคำอธิบายและการสร้างภาพข้อมูลที่ยอดเยี่ยม
Daemon of Chaos

5

คุณสามารถใช้ LVM เพื่อทำสิ่งต่างๆมากมายด้วยดิสก์ ประโยชน์หลักคือความสามารถในการขยายระบบไฟล์ได้ทันที สมมติว่าคุณกำลังตั้งค่าเซิร์ฟเวอร์บันทึกและคุณรู้ว่าในอนาคตคุณจะมีข้อมูลมากมาย Ext3 รองรับสูงสุด 16TB (ขึ้นอยู่กับเคอร์เนลและเวอร์ชั่นของ EL) แต่ถ้าคุณรู้ว่าภายใน 2 ปีคุณจะต้องมีที่เก็บข้อมูลขนาด 1PB? นี่จะสร้างปัญหาบางอย่าง อันดับแรกเจ้านายของคุณจะมองคุณด้วยกวางในสายตาที่เจิดจรัสเมื่อคุณบอกราคาของอุปกรณ์เก็บข้อมูลนั้น สิ่งนี้นำไปสู่ปัญหาอื่น - คุณต้องเริ่มต้นด้วยโซลูชันเล็ก ๆ ที่คุณสามารถขยายได้ LVM ให้ตัวเลือกแก่คุณ คุณเริ่มต้นด้วยดิสก์บางตัว จากนั้นคุณเพิ่มมากขึ้นเปลี่ยนเป็นกลุ่มโลจิคัลเพิ่มลงในโลจิคัลวอลุ่มแรกเพิ่มขนาดของวอลุ่มและขยายระบบไฟล์ในที่สุด Voila คุณ

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

แก้ไข: ฉันควรทราบด้วยว่าหากคุณกำลังรับมือกับ 1PB คุณจะไม่ต้องการใช้ Ext3 ... อาจเป็น XFS


ฉันไม่ได้ซื้อ LVM เป็นกลไกในการปรับขนาดจาก 16 TB ถึง 1 PB - คุณต้องการ ZFS หรือที่คล้ายกันซึ่งช่วยให้ "thin provisioning" คือคุณสร้างพูลหน่วยเก็บข้อมูล ZFS รวมประมาณ 1 PB ในตอนนี้ แต่ได้รับการสนับสนุนเพียงบางส่วนเท่านั้น โดยบล็อกหน่วยเก็บข้อมูลจริง ในขณะที่คุณเติบโตคุณเพียงแค่เพิ่มที่เก็บข้อมูลภายในกลุ่มเดียวกัน การใช้ LVM คุณจะต้องใช้เวลามากมายในการปรับขนาด FS และทำ fsck ทุกครั้งที่คุณเพิ่มที่เก็บข้อมูล
RichVel

4

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

พาร์ติชันระบบมีอยู่หนึ่งชั้นเหนือดิสก์

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

ผู้ไร้เดียงสาอาจสนับสนุนการใช้พาร์ติชันขนาดใหญ่เดียว แต่คุณอาจยกเลิกได้เมื่อคุณต้องการแนะนำโควต้าหรือแยกกระบวนการอันธพาลที่เติมส่วนต่างๆของระบบของคุณ (เช่น / var / log, / tmp เป็นต้น)

ประโยชน์ของสิ่งนี้คือ:

เพิ่ม / ลบที่เก็บข้อมูล

การเพิ่มพื้นที่เก็บข้อมูลเป็นเรื่องเล็กน้อย หากคุณใช้ฮาร์ดแวร์หรือซอฟต์แวร์ RAID และคุณเพิ่มดิสก์มากขึ้นคุณอาจต้องทำซ้ำโดยใช้ symlinks เพื่อสร้างอาร์เรย์ RAID ขึ้นใหม่เพื่อให้ Linux จัดเก็บข้อมูลใหม่ของคุณในตำแหน่งที่คุณต้องการ

นำตัวอย่างของไดเรกทอรีขนาดใหญ่ / บ้านซึ่งกำลังได้รับเต็ม มีอยู่ในโวลุ่ม RAID สองดิสก์ที่มีอยู่ คุณต้องการเพิ่มดิสก์อีกสองแผ่น คุณตั้งค่าเหล่านั้นในการกำหนดค่าฮาร์ดแวร์ RAID 1 หากไม่มี LVM คุณมีตัวเลือกสองทาง:

  1. สร้างอาร์เรย์การโจมตีใหม่ทั้งหมดในการกำหนดค่า 1 + 0 ซึ่งต้องการย้ายข้อมูลออกจากเครื่องสร้างใหม่และย้ายกลับมาใหม่
  2. สร้างกลุ่มโวลุ่ม RAID 1 ใหม่ซึ่งแยกจากกัน Linux มีโวลุ่ม RAID ตัวแรกที่ติดตั้งบน / home ดังนั้นคุณต้องติดตั้งโวลุ่ม RAID ตัวที่สองใน / home1 หรือที่คล้ายกัน ตอนนี้เพื่อรับเส้นทางที่เหมาะสมสำหรับผู้ใช้ที่สอดคล้องกับครั้งแรกคุณอาจต้องใช้ symlink เพื่อให้ได้ผลเหมือนกัน นอกจากนี้โซลูชันนี้ต้องการการบำรุงรักษาโวลุ่ม RAID ดั้งเดิมอย่างต่อเนื่องและอาจย้ายข้อมูลออกจากพาร์ติชันดั้งเดิม

ด้วย LVM คุณสามารถเพิ่มกลุ่มวอลุ่ม RAID 1 ใหม่ลงในพูลหน่วยเก็บข้อมูลเพิ่มเติมปรับขนาดระบบไฟล์ (จัดเตรียมไว้รองรับ) และ voila และ / home ก็ใหญ่ขึ้นทันที คุณไม่จำเป็นต้องเชื่อมโยงอะไรหรือบำรุงรักษาข้อมูลที่อาจเคลื่อนย้ายจาก / home ไปยัง / home1 หรือในทางกลับกัน ล้างล้างทำซ้ำสำหรับการอัพเกรดดิสก์ในอนาคต

การบำรุงรักษาออนไลน์

งาน LVM ส่วนใหญ่ที่ให้ฮาร์ดแวร์รองรับนั้นสามารถทำได้ออนไลน์โดยไม่ต้องบูตเครื่องใหม่ หากคุณสามารถใช้ hot swap disk ในระบบคุณสามารถเพิ่มดิสก์ใหม่แล้วลบดิสก์เก่า (อาจเล็กกว่า) เพื่อเพิ่มความต้องการพื้นที่เก็บข้อมูลของระบบ

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


คำตอบที่ดีเกี่ยวกับผลประโยชน์ แต่ในจุดของคุณ (2) ฉันคิดว่าคุณหมายถึง "สร้างโวลุ่ม RAID 1 ใหม่ซึ่ง ... " แทนที่จะสร้าง VG เนื่องจากนี่เป็นกรณีที่ไม่ใช่ LVM และน่าจะใช้ฮาร์ดแวร์ RAID ตามที่กล่าวไว้ .
RichVel

1

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

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


1

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

โดยทั่วไป RAID และ LVM อยู่ด้วยกันการใช้งานที่ไม่มีสิ่งอื่นนั้นมักจะไม่ดีเท่าที่ควร

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