Proxmox VE 8.1.3 매뉴얼을 DeepL를 이용해서 기계번역하고, 살짝 교정했습니다.
https://pve.proxmox.com/pve-docs/pve-admin-guide.html
경고: BTRFS 통합은 현재 Proxmox VE의 기술 미리보기입니다.
BTRFS는 Linux 커널에서 기본적으로 지원하는 최신 쓰기 파일 시스템으로, 데이터 및 메타데이터에 대한 체크섬을 통해 스냅샷, 내장 RAID 및 자체 복구와 같은 기능을 구현합니다. Proxmox VE 7.0부터 루트 파일 시스템에 대한 선택 사항으로 BTRFS가 도입되었습니다.
일반적인 BTRFS의 장점
- 기존 ext4 기반 설정과 거의 동일한 기본 시스템 설정
- 스냅샷
- 파일 시스템 수준에서 데이터 압축
- 쓰기 시 복제
- RAID0, RAID1 및 RAID10
- 데이터 손상으로부터 보호
- 자가 복구
- Linux 커널에서 기본적으로 지원
- …
주의
- RAID 레벨 5/6은 실험적이며 위험합니다.
3.10.1. root 파일 시스템으로 설치
Proxmox VE 설치 관리자를 사용하여 설치하는 경우 루트 파일 시스템으로 BTRFS를 선택할 수 있습니다. 설치 시 RAID 유형을 선택해야 합니다:
- RAID0 : “스트라이핑”이라고도 합니다. 이러한 볼륨의 용량은 모든 디스크의 용량을 합한 값입니다. 그러나 RAID0은 중복성을 추가하지 않으므로 단일 드라이브에 장애가 발생하면 볼륨을 사용할 수 없게 됩니다.
- RAID1 : “미러링”이라고도 합니다. 데이터가 모든 디스크에 동일하게 기록됩니다. 이 모드를 사용하려면 크기가 같은 디스크가 2개 이상 필요합니다. 결과 용량은 단일 디스크의 용량입니다.
- RAID10 : RAID0과 RAID1의 조합입니다. 최소 4개의 디스크가 필요합니다.
설치 관리자는 디스크를 자동으로 파티션하고 /var/lib/pve/local-btrfs에 추가 하위 볼륨을 생성합니다. 이를 Proxmox VE 도구와 함께 사용하기 위해 설치 관리자는 /etc/pve/storage.cfg에 다음 구성 항목을 생성합니다:
dir: local path /var/lib/vz content iso,vztmpl,backup disable btrfs: local-btrfs path /var/lib/pve/local-btrfs content iso,vztmpl,backup,images,rootdir
이렇게 하면 기본 로컬 스토리지를 명시적으로 비활성화하고 추가 하위 볼륨의 BTRFS 특정 스토리지 항목을 사용합니다.
설치 후 다음 명령은 모든 추가 하위 볼륨을 나열하며, btrfs 명령은 BTRFS 파일 시스템을 구성하고 관리하는 데 사용됩니다:
# btrfs subvolume list / ID 256 gen 6 top level 5 path var/lib/pve/local-btrfs
3.10.2. BTRFS 관리
이 섹션에서는 일반적인 작업에 대한 몇 가지 사용 예제를 제공합니다.
BTRFS 파일 시스템 만들기
BTRFS 파일 시스템을 만들려면 mkfs.btrfs를 사용합니다. -d 및 -m 매개변수는 각각 메타데이터 및 데이터에 대한 프로필을 설정하는 데 사용됩니다. 선택 사항인 -L 매개변수를 사용하면 레이블을 설정할 수 있습니다.
일반적으로 single, raid0, raid1, raid10 모드가 지원됩니다.
My-Storage라는 레이블을 사용하여 단일 디스크 /dev/sdb에 BTRFS 파일 시스템을 만듭니다:
# mkfs.btrfs -m single -d single -L My-Storage /dev/sdb
또는 두 개의 파티션 /dev/sdb1과 /dev/sdc1에 RAID1을 생성합니다:
# mkfs.btrfs -m raid1 -d raid1 -L My-Storage /dev/sdb1 /dev/sdc1
BTRFS 파일 시스템 마운트
그런 다음 새 파일 시스템을 수동으로 마운트할 수 있습니다:
# mkdir /my-storage # mount /dev/sdb /my-storage
다른 마운트 지점과 마찬가지로 /etc/fstab에 BTRFS를 추가하여 부팅 시 자동으로 마운트할 수도 있습니다. 블록 장치 경로를 사용하지 말고 mkfs.btrfs 명령이 출력한 UUID 값을 사용하는 것이 좋으며, 특히 BTRFS 설정에 디스크가 두 개 이상 있는 경우 더욱 그렇습니다.
예를 들어
파일 /etc/fstab
# ... other mount points left out for brevity # using the UUID from the mkfs.btrfs output is highly recommended UUID=e2c0c3ff-2114-4f54-b767-3a203e49f6f3 /my-storage btrfs defaults 0 0
팁: 더 이상 사용할 수 있는 UUID가 없는 경우 blkid 도구를 사용하여 블록 디바이스의 모든 속성을 나열할 수 있습니다.
그런 다음 실행하여 첫 번째 마운트를 트리거할 수 있습니다:
mount /my-storage
다음 재부팅 후 이 작업은 부팅 시 시스템에 의해 자동으로 수행됩니다.
Proxmox VE에 BTRFS 파일 시스템 추가하기
예를 들어 웹 인터페이스 또는 CLI를 사용하여 기존 BTRFS 파일 시스템을 Proxmox VE에 추가할 수 있습니다:
pvesm add btrfs my-storage --path /my-storage
하위 볼륨 만들기
하위 볼륨을 만들면 BTRFS 파일 시스템의 경로에 연결되며, 이 경로가 일반 디렉터리로 표시됩니다.
# btrfs subvolume create /some/path
이후 /some/path는 일반 디렉토리처럼 작동합니다.
하위 볼륨 삭제하기
rmdir을 통해 삭제하는 디렉터리와 달리 하위 볼륨은 btrfs 명령으로 삭제하기 위해 비워둘 필요가 없습니다.
# btrfs subvolume delete /some/path
서브볼륨의 스냅샷 만들기
BTRFS는 실제로 스냅샷과 일반 하위 볼륨을 구분하지 않으므로 스냅샷을 만드는 것은 하위 볼륨의 임의 복사본을 만드는 것으로 볼 수도 있습니다. 관례에 따라 Proxmox VE는 게스트 디스크 또는 하위 볼륨의 스냅샷을 생성할 때 읽기 전용 플래그를 사용하지만 이 플래그는 나중에 변경할 수도 있습니다.
# btrfs subvolume snapshot -r /some/path /a/new/path
이렇게 하면 /some/path에 있는 하위 볼륨의 읽기 전용 “clone”이 /a/new/path에 생성됩니다. 나중에 /some/path를 수정하면 수정하기 전에 수정된 데이터가 복사됩니다.
읽기 전용(-r) 옵션을 생략하면 두 하위 볼륨 모두 쓰기 가능합니다.
압축 사용
기본적으로 BTRFS는 데이터를 압축하지 않습니다. 압축을 사용하려면 압축 마운트 옵션을 추가하면 됩니다. 이미 쓰여진 데이터는 사후에 압축되지 않는다는 점에 유의하세요.
기본적으로 rootfs는 다음과 같이 /etc/fstab에 나열됩니다:
UUID=<uuid of your root file system> / btrfs defaults 0 1
위의 기본값에 compress=zstd, compress=lzo, compress=zlib를 다음과 같이 추가하면 됩니다:
UUID=<uuid of your root file system> / btrfs defaults,compress=zstd 0 1
이 변경 사항은 재부팅 후 적용됩니다.
공간 사용량 확인
기존 df 도구는 일부 BTRFS 설정에 대해 혼란스러운 값을 출력할 수 있습니다. 더 나은 추정치를 얻으려면 예를 들어 btrfs 파일 시스템 사용량 /PATH 명령을 사용하세요:
# btrfs fi usage /my-storage