- 상위 항목: 파일 시스템
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 를 사용하면 성능 저하가 심하게 일어나는 등 아직 갈 길이 멀다. 관련 링크