ควรใช้พาร์ติชัน LVM ในอิมเมจเครื่องเสมือนหรือไม่?


45

ควรใช้ LVM สำหรับพาร์ติชันเมื่อสร้างอิมเมจ VM (เช่นอิมเมจ KVM) หรือไม่ ดูเหมือนว่ามันจะเพิ่มความซับซ้อนถ้าคุณต้องการที่จะพูดติดภาพ qcow2 ในโฮสต์ถ้าภาพที่มีพาร์ทิชัน LVM

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


คุณถามเกี่ยวกับการใช้ LVs เป็นดิสก์ทั้งหมดหรือเป็นพาร์ติชันที่จะประกอบเป็นดิสก์ใน VM หรือไม่?
นิลส์

@ ไม่มีฉันกำลังพูดถึง LVs เป็นพาร์ติชันที่ทำขึ้นดิสก์ ตัวอย่างเช่นการมีพาร์ติชัน "/" และสลับพาร์ติชันเป็นโลจิคัลวอลุ่มภายในกลุ่มวอลุ่ม
Lorin Hochstein

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

ค่าใช้จ่าย LVM อยู่ในช่วง 10e-9 วินาที
Emmanuel

คำตอบ:


21

"มันขึ้นอยู่กับ."

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

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

สิ่งหนึ่งที่คุณอาจนึกถึงเมื่อคุณไปตามถนนสายนี้ คุณไม่จำเป็นต้องใส่พาร์ติชันในดิสก์เสมือนของคุณด้วยวิธีนี้ ตัวอย่างเช่นคุณสามารถสร้างดิสก์เสมือนสำหรับ/home; มันอยู่/dev/vdcใน vm ของคุณ เมื่อสร้างระบบไฟล์ให้ทำสิ่งที่ต้องการmke2fs -j /dev/vdcแทนการระบุพาร์ติชัน

นี่เป็นความคิดที่ดี แต่ ... เครื่องมือส่วนใหญ่ (และผู้ดูแลระบบคนอื่น ๆ ที่ตามมาคุณ) คาดว่าจะเห็นพาร์ติชันบนดิสก์ทุกตัว ฉันอยากจะแนะนำให้ใส่พาร์ติชันเดียวลงบนดิสก์และทำมันให้เสร็จ มันหมายถึงอีกหนึ่งขั้นตอนเมื่อปรับขนาดระบบไฟล์ และอย่าลืมจัดพาร์ติชั่นให้เหมาะสม - การเริ่มพาร์ติชั่นแรกที่ 1MB นั้นเป็นกฎง่ายๆ

ทั้งหมดที่กล่าว - การทำสิ่งนี้ในระดับไฮเปอร์ไวเซอร์หมายความว่าคุณอาจต้องรีบูต VM เพื่อปรับขนาดพาร์ติชัน การใช้ LVM จะช่วยให้คุณเพิ่มดิสก์เสมือนได้อย่างร้อนแรง (สมมติว่าชุดค่าผสม hypervisor / ระบบปฏิบัติการของคุณอนุญาต) และขยายระบบไฟล์โดยไม่ต้องรีบูต นี่เป็นข้อดีอย่างแน่นอน


ในขณะเดียวกันหากคุณใช้ผู้ให้บริการคลาวด์

ฉันไม่ค่อยรู้อะไรเกี่ยวกับ Azure, GCP หรือผู้เล่นรายเล็กดังนั้นฉันจึงไม่สามารถช่วยได้

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

อย่างไรก็ตามในกรณีทั่วไปมันอาจเหมาะสมที่จะใส่ทุกอย่างลงในไดรฟ์ข้อมูล EBS ขนาดใหญ่และใช้ LVM (หรือฉันสมมติว่าเป็นพาร์ติชันธรรมดา) Amazon ให้วงเงิน IOPS แก่คุณในแต่ละเล่ม ตามค่าเริ่มต้นขีด จำกัด นี้ปรับขนาดด้วยขนาดของโวลุ่ม เช่นสำหรับgp2โวลุ่มคุณจะได้รับ 3 IOPS ต่อ GiB (ขั้นต่ำ 100 IOPS) ดูhttps://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html

สำหรับเวิร์กโหลดส่วนใหญ่คุณจะต้องการให้ IOPS ที่มีอยู่ทั้งหมดของคุณพร้อมใช้งานสำหรับระบบไฟล์ใด ๆ ขึ้นอยู่กับความต้องการในขณะนั้น ดังนั้นจึงเหมาะสมที่จะสร้างโวลุ่ม EBS ขนาดใหญ่รับ IOPS ของคุณทั้งหมดในที่เก็บข้อมูลเดียวและแบ่งพาร์ติชัน / LVM ขึ้น

ตัวอย่าง:

3 ดิสก์ที่มีพื้นที่ระบบไฟล์ / สลับอิสระแต่ละขนาด 100GB แต่ละอันจะได้รับ 300 IOPS ประสิทธิภาพถูก จำกัด ไว้ที่ 300 IOPS ในแต่ละดิสก์

1 ดิสก์ขนาด 300GB LVM พาร์ติชันบนดิสก์แต่ละ 100GB ดิสก์ได้รับ 900 IOPS พาร์ติชั่นใด ๆ สามารถใช้งานได้ทั้งหมด 900 IOPS


7

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


5

ฉันชอบใช้ LVs เพราะไม่สามารถเข้าถึงได้ง่ายจาก virt-server ดังนั้นไฟล์เหล่านี้ไม่สามารถถูกทำลาย / ย้ายโดยบังเอิญได้ง่าย

คุณสมบัติที่สำคัญอื่น ๆ ของ LVs:

  • คุณสามารถทำภาพรวม
  • คุณสามารถวิเคราะห์ดิสก์ IO ตาม LV ( iostat)
  • ง่ายต่อการปรับขนาด
  • ด้วยการใช้สแนปชอตคุณสามารถสร้างโคลนที่สอดคล้องกันของระบบที่รันอยู่ได้

เพื่อลดความซับซ้อนฉันใช้ LV เป็นดิสก์ (ไม่ใช่เป็นพาร์ติชัน) ข้อเสียเปรียบคือฉันสามารถปรับขนาดพาร์ติชันล่าสุดของ "ดิสก์" ได้อย่างง่ายดาย - แต่เลย์เอาท์แบบ VM-disk-layout ของฉันคำนึงถึงเรื่องนั้น (ดังนั้นพาร์ติชันสุดท้ายจึงมีข้อมูลแอปพลิเคชันที่สำคัญ)


2

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


1
นั่นเป็นคำตอบสำหรับคำถามอื่น คำถามที่นี่เป็นเรื่องเกี่ยวกับการใช้ LVM ในแขกไม่ใช้ LVM บนโฮสต์ (LVs เพื่อเก็บดิสก์ VM)
Stéphane Chazelas

1
ไม่คำถามเกี่ยวกับการใช้ LVM สำหรับแขกไม่ใช่ในแขก
HDave

2

ประสบการณ์ของฉันเอง ....

ฉันต้องการใช้โลจิคัลวอลุ่ม (lv) กับ lvm2 สำหรับระบบไฟล์ ext4; ไม่ใช่ในฐานะดิสก์หรือเป็นเพียงดิสก์ดิบที่ไม่มีการแบ่งพาร์ติชันสำหรับ fs

สิ่งที่ฉันพบคือการเริ่มต้นของ VM จะหยุดในช่วงเริ่มต้น หากฉันใส่ความคิดเห็นใน/etc/fstabรายการเครื่องจะบูต การออกจากการ/etc/fstabแสดงความคิดเห็นไม่ใช่วิธีแก้ปัญหาที่ฉันมีความสุขที่ได้อยู่ด้วย ดังนั้นฉันจึงสร้างดิสก์อิมเมจปกติ (ยังคงเป็นโลจิคัลวอลุ่ม) แบ่งพาร์ติชันด้วยหนึ่งพาร์ติชันที่ใช้fdiskและสร้างระบบไฟล์บนนั้น ไม่มีปัญหาเพิ่มเติม

การเมาท์ที่เกี่ยวข้องในฉัน/etc/fstabกำลังใช้ UUID

ฉันคิดเกี่ยวกับการใช้ไฟล์หรือระบบไฟล์ แต่ตัดสินใจกับมัน

ในกรณีของฉันฉันใช้ระบบDevuan ที่ใช้เดเบียนเจสซี


1

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


1

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

คุณสามารถผ่าน HOWTO และแบบฝึกหัดต่างๆฝึกฝนการจัดการ LVM ทั่วไป (และไม่เป็นที่รู้จัก) การตั้งค่าสถานการณ์ความล้มเหลวต่างๆและเรียนรู้วิธีจัดการกับพวกเขา

เช่นเป็นเครื่องช่วยสอนด้วยตนเอง


0

แก้ไข:ด้านล่างไม่เป็นความจริงอีกต่อไป ค่าของการใช้การจัดเตรียมแบบบางที่จัดเตรียมโดย LVM สำหรับอิมเมจดิสก์ VM อาจเป็นสถานการณ์

คุณกำลังใช้งานการพัฒนา VM บนแล็ปท็อปหรือไม่? ถ้าอย่างนั้นคุณน่าจะดีกว่าด้วย QCow2

จัดการฟาร์มของ VM ที่สามารถใช้พื้นที่เก็บข้อมูลจำนวนมหาศาลในดิสก์หลาย ๆ ตัวได้หรือไม่ LVM น่าจะเป็นวิธีที่ดีในการจัดการพื้นที่เก็บข้อมูลนั้น


เหตุผลหนึ่งที่ไม่ควรใช้ lvm คือคุณไม่สามารถใช้พื้นที่เก็บข้อมูลเกินได้โดยใช้ lvm หากคุณสร้าง 10 VM ด้วยพื้นที่เก็บข้อมูล 100GB คุณต้องใช้ดิสก์จริง 1,000 GB แม้ว่า 9 ในสิบของ VM จะใช้ระบบไฟล์ของพวกเขาเพียง 20 GB เท่านั้น รูปภาพ Sparse Disk หรือรูปภาพรูปแบบ qcow2 อาจหมายถึงเฉพาะที่เก็บข้อมูลที่แขกใช้จริงเท่านั้นที่ต้องจัดสรรให้กับพวกเขา

สิ่งนี้มีประโยชน์กับคุณหรือไม่ขึ้นอยู่กับสิ่งที่คุณต้องการจากที่เก็บข้อมูลของคุณ


2
คุณสามารถทับพื้นที่เก็บข้อมูลโดยใช้ snapshot lvm ได้จริง มันมีค่าใช้จ่าย แต่
derobert

3
และที่จริงแล้วเวอร์ชันใหม่ของ LVM รองรับ "thin pool" ซึ่งเกินความจริงโดยไม่มีความผิดพลาดใด ๆ
Derobert

มันเป็นจุดที่ถูกต้องแม้ว่าจะไม่ถูกต้อง ความจริงที่ว่า "มาตรฐาน" / วิธีการใช้งานพาร์ติชั่น / ดิสก์ของ LVM ทำให้ผลลัพธ์ในสถานการณ์ที่สรุปไว้มีค่าพอที่จะชี้ให้เห็น แม้ว่าคำตอบอาจมีการเปลี่ยนแปลงเพื่อสะท้อนให้เห็นว่ามันจะเพิ่มความซับซ้อนมากยิ่งขึ้นไปยังเส้นทางการเรียนรู้
ILMostro_7
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.