lvm에 btrfs를 넣는 것이 합리적입니까? fstab (# 의견은 편집 내용을

이것은 OpenSUSE Leap 42입니다. 2x 500GB SATA HDD 드라이브가 장착 된 컴퓨터가 있으며 속도를 높이기 위해 시스템에 작은 30GB SSD 드라이브를 넣었습니다 . 설치하는 동안 설치 프로그램 (및 저)을 혼동하여 HDD 연결이 끊어졌습니다. 일단 시스템이 가동되면 / home 디렉토리를 XFS 논리 볼륨으로 쉽게 교환했습니다 (주로 공간을 쉽게 추가하기 위해 LVM을 사용합니다). 그런 다음 / opt가 채워져 (chrome 및 botanicula) HDD의 볼륨에 넣기를 원했습니다. 그래서 볼륨을 만들어 BTRFS로 포맷했습니다. 약간의 머리 긁기 후 @ subvolumes-fstab에서 BTRFS에 대해 읽었습니다 ./opt는 100GB 크기입니다.

그러나 문제는 : btrfs로 LVM 볼륨을 포맷하는 것이 이치에 맞습니까? 본질적으로 둘 다 볼륨 처리 시스템입니다.

예를 들어 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는 특정 스냅 샷과 같은 기능에 사용해야합니다. 간단한 홈 네트워크 사용에서는 멀리 떨어져있는 것이 좋습니다. 작은 드라이브에서 공간을 관리하는 데 너무 많은 슬픔이 있었지만 큰 드라이브에서도 공간이 사라질 것입니다.



답변

어쩌면 이것은 설명합니다 (btrfs wiki에서)

btrfs의 하위 볼륨은 LVM 논리 볼륨 또는 ZFS 하위 볼륨과 다릅니다. LVM의 경우 논리 볼륨은 자체적으로 블록 장치입니다 (예 : dm-crypt, MD RAID 등의 다른 파일 시스템 또는 컨테이너를 포함 할 수 있음). btrfs의 경우에는 해당되지 않습니다. btrfs 하위 볼륨은 블록 장치가 아니며 (하나로 취급 할 수 없음) btrfs 하위 볼륨은 POSIX 파일 네임 스페이스로 간주 될 수 있습니다. 이 네임 스페이스는 파일 시스템의 최상위 하위 볼륨을 통해 액세스하거나 자체 권한으로 마운트 할 수 있습니다.

또한 참조 https://btrfs.wiki.kernel.org/index.php/FAQ

파티션, 장치 관리자 및 논리 볼륨과의 상호 작용

Btrfs에는 하위 볼륨이 있습니다. 이는 논리 볼륨 관리자가 필요하지 않으며 원시 파티션에 큰 Btrfs 파일 시스템을 만들 수 있다는 의미입니까?

이 질문에 대한 답은 하나도 없습니다. 원시 파티션 또는 LVM을 선택할 때 고려해야 할 문제는 다음과 같습니다.

  • 공연
    • 원시 파티션은 논리 볼륨보다 약간 빠릅니다.
    • btrfs는 파일 시스템 하위 볼륨 쓰기 성능에 대해 쓰기 최적화 (순차 쓰기)를 수행합니다.이 알고리즘은 각각 다른 LV에 여러 btrfs 파일 시스템을 생성하는이 알고리즘을 통해 알고리즘이 비효율적 일 수 있음을 의미합니다. 수평)
  • 여러 장치에서 파일 시스템의 온라인 크기 조정 및 재배치 : LVM의 pvmove 명령을 사용하면 온라인 상태에서 파일 시스템을 장치간에 이동할 수 있습니다
    • 원시 파티션은 오프라인 상태에서 다른 시작 실린더로만 이동할 수 있습니다
    • 원시 파티션은 파티션 뒤에 여유 공간이있는 경우에만 더 커질 수 있으며 LVM은 볼륨 그룹의 어느 곳에서나 LV를 여유 공간으로 확장 할 수 있으며 온라인으로 크기를 조정할 수 있습니다
  • 하위 볼륨 / 논리 볼륨 크기 제한
    • LVM은 고정 크기 논리 볼륨을 만드는 데 편리합니다 (예 : 각 사용자 당 10MB, 각 가상 시스템 이미지 당 20GB 등)
    • 다가오는 qgroups 기능이이 문제를 해결하지만 하위 볼륨은 현재 이러한 엄격한 크기 제한을 적용하지 않습니다.

…. FAQ는 LVM + BTRFS가 의미가있는 시나리오를 계속 설명합니다.