มันสมเหตุสมผลหรือไม่ที่จะวาง btrfs ลงใน lvm?


12

นี่คือ OpenSUSE Leap 42 ฉันมีคอมพิวเตอร์ที่มีไดรฟ์SATA HDD 500 x 2x500 GBและเพื่อเพิ่มความเร็วฉันใส่ไดรฟ์SSD ขนาดเล็ก 30GBสำหรับระบบ ในระหว่างการติดตั้ง HDD ถูกตัดการเชื่อมต่อเนื่องจากพวกเขาสับสนกับตัวติดตั้ง (และฉัน) เมื่อระบบหยุดทำงานฉันค่อนข้างจะแลกเปลี่ยนไดเร็กตอรี่/ homeสำหรับโลจิคัลวอลุ่ม XFS (ฉันใช้ LVM เป็นหลักเพื่อเพิ่มพื้นที่ได้อย่างง่ายดาย) จากนั้น/ เลือกเติม (โครเมียมและพฤกษศาสตร์) และฉันต้องการที่จะวางบนไดรฟ์ข้อมูลบน HDD ดังนั้นฉันจึงสร้างวอลลุ่มและฟอร์แมตด้วย BTRFS หลังจากมีรอยขีดข่วนหัว - @ subvolumesใน fstab ทำให้ฉันอ่าน BTRFS ฉันทำสิ่งที่ฉันต้องการ - / opt ตอนนี้มีขนาด 100 GB

แต่คำถามคือ: การจัดรูปแบบปริมาณ LVM ด้วย btrfs หรือไม่ โดยพื้นฐานแล้วทั้งคู่เป็นระบบการจัดการปริมาณ

สำหรับภาพประกอบฉันวาง fstab ของฉัน (# ความคิดเห็นแสดงการแก้ไขของฉัน) และเอาต์พุต vgscan + lvscan:

~> cat /etc/fstab

UUID=1b511986-9c20-4885-8385-1cc03663201b swap swap defaults 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af / btrfs defaults 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /boot/grub2/i386-pc btrfs subvol=@/boot/grub2/i386-pc 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /boot/grub2/x86_64-efi bt

rfs subvol=@/boot/grub2/x86_64-efi 0 0
UUID=3e103686-52e9-44ac-963f-5a76177af56b /opt                 btrfs      defaults              0 0
#UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /opt btrfs subvol=@/opt 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /srv btrfs subvol=@/srv 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /tmp btrfs subvol=@/tmp 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /usr/local btrfs subvol=@/usr/local 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/crash btrfs subvol=@/var/crash 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/lib/libvirt/images btrfs subvol=@/var/lib/libvirt/images 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/lib/mailman btrfs subvol=@/var/lib/mailman 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/lib/mariadb btrfs subvol=@/var/lib/mariadb 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/lib/mysql btrfs subvol=@/var/lib/mysql 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/lib/named btrfs subvol=@/var/lib/named 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/lib/pgsql btrfs subvol=@/var/lib/pgsql 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/log btrfs subvol=@/var/log 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/opt btrfs subvol=@/var/opt 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/spool btrfs subvol=@/var/spool 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /var/tmp btrfs subvol=@/var/tmp 0 0
UUID=30e20531-b7f1-4bde-b2d2-fab8eeca23af /.snapshots btrfs subvol=@/.snapshots 0 0
UUID=c4c4f819-a548-4881-b854-a0ed62e7952e /home     xfs defaults 1 2
#UUID=e14edbfa-ddc2-4f6d-9cba-245d828ba8aa /home                xfs        defaults              1 2

~>

# vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "r0data" using metadata type lvm2
  Found volume group "r0sys" using metadata type lvm2

# lvscan
  ACTIVE            '/dev/r0data/homer' [699.53 GiB] inherit
  ACTIVE            '/dev/r0sys/optr' [100.00 GiB] inherit

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

คำตอบ:


11

อาจอธิบายได้ (จากวิกิ btrfs โดยวิธี)

subvolume ใน btrfs นั้นไม่เหมือนกับโลจิคัลวอลุ่ม LVM หรือ subvolume ZFS ด้วย LVM โลจิคัลวอลุ่มเป็นอุปกรณ์บล็อกในสิทธิของตนเอง (ซึ่งอาจมีระบบไฟล์หรือคอนเทนเนอร์อื่นเช่น dm-crypt, MD RAID ฯลฯ ) - นี่ไม่ใช่กรณีที่มี btrfs subvolume btrfs ไม่ได้เป็นอุปกรณ์บล็อก (และไม่สามารถถือเป็นหนึ่ง) แทน subvolume btrfs สามารถถือเป็น namespace ไฟล์ POSIX เนมสเปซนี้สามารถเข้าถึงได้ผ่าน subvolume ระดับบนสุดของระบบไฟล์หรือสามารถเมาต์ได้เอง

ดูเพิ่มเติมที่https://btrfs.wiki.kernel.org/index.php/FAQ

การโต้ตอบกับพาร์ติชันตัวจัดการอุปกรณ์และโลจิคัลวอลุ่ม

Btrfs มีไดรฟ์ย่อยนี่หมายความว่าฉันไม่ต้องการตัวจัดการโลจิคัลวอลุ่มและฉันสามารถสร้างระบบไฟล์ Btrfs ขนาดใหญ่บนพาร์ติชันดิบได้หรือไม่

ไม่มีคำตอบเดียวสำหรับคำถามนี้ นี่คือปัญหาที่ต้องพิจารณาเมื่อคุณเลือกพาร์ติชัน raw หรือ LVM:

  • ประสิทธิภาพ
    • พาร์ติชัน raw จะเร็วกว่าโลจิคัลวอลุ่มเล็กน้อย
    • btrfs ทำการเพิ่มประสิทธิภาพการเขียน (การเขียนตามลำดับ) ในประสิทธิภาพการเขียนของระบบย่อยระบบไฟล์จะได้รับประโยชน์จากอัลกอริธึมนี้ที่สร้างระบบไฟล์ btrfs หลายระบบในแต่ละ LV ที่แตกต่างกันหมายความว่าอัลกอริทึมอาจไม่มีประสิทธิภาพ ระดับ)
  • การปรับขนาดและการย้ายระบบไฟล์ข้ามอุปกรณ์ออนไลน์: คำสั่ง pvmove จาก LVM อนุญาตให้ระบบไฟล์ย้ายระหว่างอุปกรณ์ขณะออนไลน์
    • พาร์ทิชันดิบสามารถย้ายไปยังถังเริ่มต้นที่แตกต่างกันในขณะที่ออฟไลน์
    • พาร์ติชั่นดิบสามารถสร้างได้มากขึ้นถ้ามีพื้นที่ว่างหลังพาร์ติชั่นในขณะที่ LVM สามารถขยายเลเวลไปยังพื้นที่ว่างได้ทุกที่ในกลุ่มวอลุ่ม - และสามารถปรับขนาดออนไลน์ได้
  • ข้อ จำกัด ขนาดย่อย / ปริมาณตรรกะ
    • LVM สะดวกสำหรับการสร้างโลจิคัลวอลุ่มขนาดคงที่ (เช่น 10MB สำหรับผู้ใช้แต่ละคน, 20GB สำหรับแต่ละอิมเมจเครื่องเสมือน ฯลฯ )
    • ไดรฟ์ย่อยไม่ได้บังคับใช้ข้อ จำกัด ขนาดที่เข้มงวดเช่นนี้แม้ว่าคุณลักษณะ qgroups ที่จะเกิดขึ้นจะแก้ไขปัญหานี้ได้

.... คำถามที่พบบ่อยยังคงอธิบายถึงสถานการณ์ของ LVM + BTRFS


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