Btrfs

최근 수정 시각: (5년 전)
목차
1. 개요2. 특징3. 주의사항4. 기타


B-tree file system
Btrfs 위키

1. 개요 [편집]

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

2. 특징 [편집]

  • 가볍다.
  • B-Tree[1] 기반
  • Copy-On-Write[2]
  • 빈 공간 캐시, inode 캐시 지원
  • 자동 조각모음
  • 공간 압축: 작은 파일들을 한 섹터에 몰아넣는다.
  • 데이터 압축: zlib, LZO, z-standard 압축 알고리즘 지원
  • SSD 최적화: TRIM과는 상관없다. [3]
  • 자체 RAID 지원: 0, 1, 0+1, 10 지원. 5, 6은 개발중 2016년 7월 부터 5,6 지원, 하지만 안정성이 떨어져 비추천
  • 서브볼륨 관리: 각각의 서브볼륨을 파티션처럼 취급 가능
  • 스냅샷 관리: 볼륨을 통째로 박제한다. 파일을 스냅샷으로 저장해두었던 상태로 쉽게 되돌릴수 있어 랜섬웨어 대응이나 백업 용도로 매우 좋으며, 증분 백업도 지원한다. 설정 예시
  • 데이터 중복제거(Data deduplication)

3. 주의사항 [편집]

  • 4K로 정렬된 디스크에서 최적의 속도를 발휘한다. MBR 디스크는 섹터 정렬에 주의해야 한다.
  • swap 파일 기능은 리눅스 5.0 이상부터 사용이 가능하며, swap 파일의 Copy-On-Write를 비활성화해야 한다.btrfs에서의 swap 파일 생성 방법
  • LILO나 구버전 GRUB이나 구버전 리눅스 커널에서는 부트로더가 btrfs 파티션을 읽지 못하는 문제가 종종 있다. btrfsprog를 설치하고 initramfs를 다시 생성해도 안되는 경우 적절한 용량[4]의 파티션을 하나 파서 /boot로 할당해 ext(2/3/4)나 FAT32(vfat)로 포맷하고 여기다가 부트로더를 물려주면 해결된다. /boot 디렉토리 파일들을 새로 판 파티션에 옮기는거 까먹으면 대략 낭패다. 잊지 말자! 어차피 UEFI 쓰면 ESP 잡느라 FAT32 파티션 하나 파야 하는거 처음부터 UEFI로 설치하자

4. 기타 [편집]

  • B-tree 기반이기에 B-tree filesystem의 줄임말이지만 농담삼아 Butter filesystem의 줄임말이라 하기도 한다.
  • 시작은 좀 뜬금없는 편이다. 한 IBM 연구원이 2007년에 만든 Copy-On-Write가 되는 B-Tree를 보고 오라클에서 냅다 주워와서 만들기 시작한 것.
  • 파일 시스템 개발 책임자가 ReiserFS[5] 프로젝트에 참가한 이력이 있어서 ReiserFS의 특징이 일부 가미되어있다.
  • 최근에는 어느 정도 안정화가 되었으나, 아직 주요 기능인 Copy-On-Write 를 사용하면 성능 저하가 심하게 일어나는 등 아직 갈 길이 멀다. 관련 링크
  • 넷기어, 시놀로지, EFM 네트웍스[6]NAS 제조사에서도 도입하였다.

[1] 자동으로 밸런싱이 가능한 데이터 정리 알고리즘. Binary tree 와는 다르다.[2] 쉽게 말해 동일한 파일이면 저장소를 따로 더 지정하지 않는다. 물론, 다른 물리 드라이브로 옮길 경우엔 상황이 다르다. 이 기능 덕분에 스냅샷 관리가 가능하다.[3] mount 옵션에도 TRIM 활성화인 discard와 별개로 SSD 최적화 알고리즘 활성화를 위한 ssd 옵션이 있다.[4] 일반적으로 256MB 정도가 좋다.[5] BtrFS가 나오기 전 한때는 나름 유망한 파일 시스템이었으나, 2008년에 개발자인 Hans Reiser가 아내를 살해해서 감방에 간 이후로 프로젝트가 망했다.[6] 흔히 ipTIME으로 알려져 있다.

라이선스를 별도로 명시하지 않은 문서는 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다.
기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.

문서의 기여자는 역사 탭에서 확인할 수 있습니다.
접두어의 N: - 나무위키 사용자, R: - 리그베다 위키의 사용자를 뜻합니다.
자세한 사항은 나무위키에서 동일한 문서의 역사를 참고하시기 바랍니다.