Liệu nó có ý nghĩa để đặt btrfs trên lvm?


11

Đây là OpenSUSE Leap 42. Tôi có một máy tính có đĩa cứng SATA 500 GB và để tăng tốc độ, tôi đặt một ổ SSD 30 GB nhỏ cho hệ thống. Trong quá trình cài đặt, các ổ cứng đã bị ngắt kết nối vì chúng làm rối trình cài đặt (và tôi). Khi hệ thống đã hoạt động, tôi dễ dàng trao đổi thư mục / home cho một khối logic XFS (tôi sử dụng LVM chủ yếu để thêm không gian dễ dàng). Sau đó / opt đầy lên (chrome và botanicula) và tôi muốn đặt nó trên một ổ đĩa trên ổ cứng. Vì vậy, tôi đã tạo ra một khối lượng và định dạng nó với BTRFS. Sau vài lần gãi đầu - @ subvolumesfstab đã khiến tôi đọc lên BTRFS, tôi đã làm những gì tôi cần - / opt now có kích thước 100 GB.

Nhưng câu hỏi là: Liệu nó có ý nghĩa để định dạng một khối LVM với btrfs? Về cơ bản cả hai đều là hệ thống xử lý khối lượng.

Để minh họa, tôi dán fstab của mình (# bình luận hiển thị các chỉnh sửa của tôi) và đầu ra 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

Sau khi trả lời: Cảm ơn, tôi hiểu bây giờ sự khác biệt chính. Đối với tôi LVM thực sự tốt hơn để quản lý không gian với bất kỳ hệ thống tập tin nào trên đầu trang, nhưng BTRFS nên được sử dụng cho các tính năng dành riêng cho nó - chủ yếu là ảnh chụp nhanh. Trong mạng gia đình đơn giản sử dụng có lẽ tốt hơn để tránh xa nó. Tôi đã có quá nhiều đau buồn khi quản lý không gian trên một ổ đĩa nhỏ, nhưng tôi tưởng tượng không gian cũng sẽ bị ăn mòn trên các ổ đĩa lớn.

Câu trả lời:


11

Có lẽ điều này giải thích (từ wiki btrfs)

Một subvolume trong btrfs không giống như một khối logic LVM hoặc một subvolume ZFS. Với LVM, khối lượng logic là một thiết bị khối theo đúng nghĩa của nó (ví dụ có thể chứa bất kỳ hệ thống tệp hoặc vùng chứa nào khác như dm-crypt, MD RAID, v.v.) - đây không phải là trường hợp với btrfs. Một subvolume btrfs không phải là một thiết bị khối (và không thể được coi là một) thay vào đó, một subvolume btrfs có thể được coi là một không gian tên tệp POSIX. Không gian tên này có thể được truy cập thông qua subvolume cấp cao nhất của hệ thống tập tin hoặc nó có thể được gắn theo quyền riêng của nó.

xem thêm https://btrfs.wiki.kernel.org/index.php/FAQ

Tương tác với các phân vùng, trình quản lý thiết bị và khối lượng logic

Btrfs có subvolume, điều này có nghĩa là tôi không cần trình quản lý âm lượng hợp lý và tôi có thể tạo một hệ thống tệp Btrfs lớn trên một phân vùng thô?

Không có một câu trả lời duy nhất cho câu hỏi này. Dưới đây là các vấn đề cần suy nghĩ khi bạn chọn phân vùng thô hoặc LVM:

  • Hiệu suất
    • phân vùng thô nhanh hơn một chút so với khối lượng logic
    • btrfs không tối ưu hóa ghi (ghi tuần tự) trên hiệu suất ghi của hệ thống tập tin con sẽ được hưởng lợi từ thuật toán này tạo ra nhiều hệ thống tập tin btrfs, mỗi hệ thống trên một LV khác nhau, có nghĩa là thuật toán có thể không hiệu quả (mặc dù nhân vẫn sẽ thực hiện một số tối ưu hóa ở thiết bị khối cấp độ)
  • Thay đổi kích thước trực tuyến và định vị lại hệ thống tệp trên các thiết bị: lệnh pvmove từ LVM cho phép các hệ thống tệp di chuyển giữa các thiết bị trong khi trực tuyến
    • phân vùng thô chỉ có thể được chuyển đến một hình trụ bắt đầu khác khi ngoại tuyến
    • phân vùng thô chỉ có thể được làm lớn hơn nếu có không gian trống sau phân vùng, trong khi LVM có thể mở rộng LV lên không gian trống ở bất kỳ đâu trong nhóm âm lượng - và nó có thể thay đổi kích thước trực tuyến
  • subvolume / ràng buộc kích thước khối lượng logic
    • LVM thuận tiện cho việc tạo các khối logic có kích thước cố định (ví dụ: 10 MB cho mỗi người dùng, 20 GB cho mỗi hình ảnh máy ảo, v.v.)
    • subvolume hiện không thực thi các ràng buộc kích thước cứng nhắc như vậy, mặc dù tính năng qgroups sắp tới sẽ giải quyết vấn đề này

.... Câu hỏi thường gặp tiếp tục giải thích kịch bản trong đó LVM + BTRFS có ý nghĩa


Cảm ơn, tôi hiểu sự khác biệt chính. LVM thực sự tốt hơn để quản lý không gian với bất kỳ hệ thống tập tin nào trên đầu trang, nhưng BTRFS nên được sử dụng cho các tính năng dành riêng cho nó - chủ yếu là ảnh chụp nhanh. Trong mạng gia đình đơn giản sử dụng có lẽ tốt hơn để tránh xa nó.
r0berts
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.