BtrFS


BtrFS 위키

1 개요

하필이면오라클, 후지쯔, 레드햇에서 개발하는 유닉스/리눅스용 파일 시스템이다.

2 특징

  • 가볍다.
  • B-Tree 기반
  • Copy-On-Write
  • 빈 공간 캐시, inode 캐시 지원
  • 자동 조각모음
  • 공간 압축: 작은 파일들을 한 섹터에 몰아넣는다.
  • 데이터 압축: zlib, LZO 압축 알고리즘 지원
  • SSD 최적화: TRIM과는 상관없다. [1]
  • 자체 RAID 지원: 0, 1, 0+1, 10 지원. 5, 6은 개발중
  • 서브볼륨 관리: 각각의 서브볼륨을 파티션처럼 취급 가능
  • 스냅샷 관리: 볼륨을 통째로 박제한다. 백업용도로 매우 좋으며, 증분 백업도 지원한다.
  • 파티션 테이블 지원: MBR이나 GPT 대신 btrfs 자체를 파티션 테이블로 사용할 수 있다.
  • 데이터 중복제거(Data deduplication) 지원예정(개발중)

3 주의사항

  • 4K로 정렬된 디스크상에서 최적의 속도를 발휘한다. MBR 디스크는 섹터 정렬에 주의해야 한다.
  • COW 덕분에(?) swap 파일이 btrfs 파티션에 있으면 해당 swap 파일은 절대 마운트되지 않는다. swap은 그냥 파티션 하나 파자.
  • lilo나 구버전 grub이나 구버전 리눅스 커널에서는 부트로더가 btrfs 파티션을 읽지 못하는 문제가 종종 있다. btrfsprog를 설치하고 initramfs를 다시 생성해도 안되는 경우 적절한 용량[2]의 파티션을 하나 파서 /boot로 할당해 ext나 fat으로 포맷하고 여기다가 부트로더를 물려주면 해결된다. /boot 디렉토리 파일들을 새로 판 파티션에 옮기는거 까먹으면 대략 낭패다. 잊지 말자!

4 여담

이 파일 시스템의 시작이 좀 뜬금없는데, 한 IBM 연구원이 2007년에 만든 Copy-On-Write가 되는 B-Tree를 보고 오라클에서 냅다 주워와서 만들기 시작한 것이다.
파일 시스템 개발 책임자가 ReiserFS[3] 프로젝트에 참가한 이력이 있어서 ReiserFS의 특징이 일부 가미되어있다.
최근에는 어느 정도 안정화가 되었으나, 아직 주요 기능인 Copy-On-Write 를 사용하면 성능 저하가 심하게 일어나는 등 아직 갈 길이 멀다. 관련 링크

넷기어,시놀로지 등의 스토리지회사가 BtrFS를 도입하기를 시작하였다
  1. 이동 mount 옵션에도 TRIM 활성화인 discard와 별개로 SSD 최적화 알고리즘 활성화를 위한 ssd 옵션이 있다.
  2. 이동 일반적으로 256MB 정도가 좋다.
  3. 이동 BtrFS가 나오기 전 한때는 나름 유망한 파일 시스템이었으나, 2008년에 개발자인 Hans Reiser가 아내를 살해해서 감방에 간 이후로 프로젝트가 망했다.