Btrfs ์์ธ
๊ฐ์
Btrfs(B-tree File System)๋ Copy-on-Write(CoW) ์๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ํ๋์ ์ธ ํ์ผ ์์คํ ์ผ๋ก, 2007๋ Oracle์ Chris Mason์ ์ํด ๊ฐ๋ฐ์ด ์์๋์ด 2009๋ Linux ์ปค๋ 2.6.29์ ํตํฉ๋์๋ค. Btrfs๋ ๊ธฐ์กด ํ์ผ ์์คํ ์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ๋ณผ๋ฅจ ๊ด๋ฆฌ, ์ค๋ ์ท, ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ, ์์ถ, ์ค๋ณต ์ ๊ฑฐ ๋ฑ์ ํ์ผ ์์คํ ์์ค์์ ๋ค์ดํฐ๋ธ๋ก ์ง์ํ๋ ๊ฒ์ด ํน์ง์ด๋ค.
Btrfs์ ํต์ฌ ์ค๊ณ ๋ชฉํ๋ "์ ์ฅ์์ ํ์ฅ์ฑ๊ณผ ๊ด๋ฆฌ ์ฉ์ด์ฑ"์ด๋ค. ๋จ์ํ ๋์ฉ๋ ์ ์ฅ์๋ฅผ ๋ค๋ฃจ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ, ๊น๋ํ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ฌ์ฉ๋์ ์ง๊ด์ ์ผ๋ก ํ์ ํ๊ณ ์์คํ ์ ์ ๋ขฐ์ฑ ์๊ฒ ๊ด๋ฆฌํ ์ ์๋ ๊ฒ์ ์งํฅํ๋ค. ์ด๋ฅผ ์ํด ๋ชจ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋์ผํ CoW B-tree ๊ตฌํ์ฒด๋ก ํต์ผํ์ฌ ์ผ๊ด์ฑ ์๋ ๋์๊ณผ ํจ์จ์ ์ธ ์ค๋ ์ท ์์ฑ์ ๊ฐ๋ฅํ๊ฒ ํ์๋ค.
ํต์ฌ ๊ฐ๋
CoW B-tree ๊ตฌ์กฐ
Btrfs์ ํต์ฌ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ CoW B-tree์ด๋ค. ๊ธฐ์กด B+ tree๋ ๋ฆฌํ ๋ ธ๋๋ผ๋ฆฌ ์ฐ๊ฒฐ๋์ด ์์ด CoW ์ค๋ ์ท ์ ์ ์ฒด ํธ๋ฆฌ๋ฅผ ๋ณต์ฌํด์ผ ํ๋ ๋นํจ์จ์ด ์์ง๋ง, Btrfs์ B-tree๋ ๋ฆฌํ ์ฐ๊ฒฐ์ด ์์ด ๊ฐ ๋ ธ๋๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ๋ณต์ฌํ ์ ์๋ค.
- 136๋นํธ ํค ๊ตฌ์กฐ: 64๋นํธ object ID + 8๋นํธ ํ์ + 64๋นํธ ์คํ์ ์ผ๋ก ๋ชจ๋ ์์ดํ ์ ์๋ณ
- ๋ด๋ถ ๋ ธ๋: ํค-ํฌ์ธํฐ ์์ ํํํ ๋ชฉ๋ก์ผ๋ก ๊ตฌ์ฑ
- ๋ฆฌํ ๋ ธ๋: ์์ชฝ์ ์์ดํ ํค, ๋ค์ชฝ์ ์์ดํ ๋ฐ์ดํฐ๊ฐ ์์นํ๋ฉฐ ์์ชฝ์ด ์ฑ์์ง์ ๋ฐ๋ผ ํ์ฅ
- ์ฐธ์กฐ ์นด์ดํธ: ๊ฐ ํธ๋ฆฌ ๋ ธ๋์ ์ฐธ์กฐ ์นด์ดํธ๋ฅผ ์ ์งํ์ฌ ํจ์จ์ ์ธ CoW ๊ฐ๋ฅ
์๋ธ๋ณผ๋ฅจ (Subvolume)
์๋ธ๋ณผ๋ฅจ์ ํ์ผ ์์คํ ๋ด์์ ๋ ๋ฆฝ์ ์ผ๋ก ๋ง์ดํธ ๊ฐ๋ฅํ POSIX ํ์ผ ๋ค์์คํ์ด์ค์ด๋ค. ๋ฌผ๋ฆฌ์ ๋ณผ๋ฅจ์ด ์๋ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ก, ์ฌ๋ฌ ๊ฐ์ ์๋ธ๋ณผ๋ฅจ์ ํ๋์ ํ์ผ ์์คํ ์์์ ๊ด๋ฆฌํ ์ ์๋ค.
- ๋
๋ฆฝ์ ๋ง์ดํธ:
mount -o subvol=<name>์ต์ ์ผ๋ก ๊ฐ๋ณ ๋ง์ดํธ ๊ฐ๋ฅ - ์ค์ฒฉ ์๋ธ๋ณผ๋ฅจ: ์๋ธ๋ณผ๋ฅจ ์์ ํ์ ์๋ธ๋ณผ๋ฅจ ์์ฑ ๊ฐ๋ฅ
- ๊ธฐ๋ณธ ์๋ธ๋ณผ๋ฅจ: ํ์ผ ์์คํ ์์ฑ ์ ์๋์ผ๋ก ์ค์ ๋๋ฉฐ, ๋ง์ดํธ ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ฌ์ฉ
- ์ญ์ ์ ์ฝ: ํ์ ์๋ธ๋ณผ๋ฅจ์ด ๋ชจ๋ ์ญ์ ๋์ด์ผ ์์ ์๋ธ๋ณผ๋ฅจ ์ญ์ ๊ฐ๋ฅ
์ค๋ ์ท (Snapshot)
์ค๋ ์ท์ ํน์ ์์ ์ ์๋ธ๋ณผ๋ฅจ ์ํ๋ฅผ ๋ณต์ฌํ์ง ์๊ณ ๋น ๋ฅด๊ฒ ์์ฑํ๋ ๊ธฐ์ ์ด๋ค. CoW ๋ฉ์ปค๋์ฆ์ ํ์ฉํ์ฌ ๊ธฐ์กด ๋ฐ์ดํฐ ๋ธ๋ก์ ๊ณต์ ํ๊ณ ๋ณ๊ฒฝ๋ถ๋ง ์๋ก์ด ๋ธ๋ก์ ๊ธฐ๋กํ๋ค.
- ์ฆ์ ์์ฑ: CoW ํน์ฑ์ ์ถ๊ฐ ๋์คํฌ ๊ณต๊ฐ ๊ฑฐ์ ์ฌ์ฉํ์ง ์๊ณ ์ฆ์ ์์ฑ
- ์ฝ๊ธฐ ์ ์ฉ/์ฝ๊ธฐ-์ฐ๊ธฐ ์ ํ: ์ด์ ๋ฐฑ์ ์๋ read-only ์ค๋ ์ท, ํ ์คํธ๋ ๋กค๋ฐฑ์๋ read-write ์ค๋ ์ท์ ์ฃผ๋ก ์ฌ์ฉ
- ์ฝ๊ธฐ-์ฐ๊ธฐ ์ค๋ ์ท: ์ค๋ ์ท์์ ์ง์ ๋ฐ์ดํฐ ์์ ๊ฐ๋ฅ
- ์ ์ฆ์ ์ ์ก:
btrfs send/receive๋ก ์ค๋ ์ท ๊ฐ ์ฆ๋ถ ์ ์ก ๊ฐ๋ฅ - ์ค๋ ์ท์ ์ค๋ ์ท: ์ค๋ ์ท์์๋ ์ถ๊ฐ ์ค๋ ์ท ์์ฑ ๊ฐ๋ฅ
์ฒดํฌ์ฌ (Checksum)
Btrfs๋ ๋ฐ์ดํฐ์ ๋ฉํ๋ฐ์ดํฐ ๋ชจ๋์ ์ฒดํฌ์ฌ์ ์ ์ฉํ์ฌ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๋ค. ์ฒดํฌ์ฌ์ ๋ณ๋์ ์ฒดํฌ์ฌ ํธ๋ฆฌ์ ์ ์ฅ๋๋ฉฐ, ์ฝ๊ธฐ ์ ์๋์ผ๋ก ๊ฒ์ฆ๋๋ค.
- CRC-32C: ๊ธฐ๋ณธ ์ฒดํฌ์ฌ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋น ๋ฅธ ๊ฒ์ฆ ์๋
- xxHash, SHA256, BLAKE2b: ์ปค๋ 5.5 ์ด์์์ ์ถ๊ฐ ์ง์
- ์ฝ๊ธฐ ๊ฒฝ๋ก ๊ฒ์ฆ: ์ฝ๊ธฐ ์ ๋ฐ์ดํฐ ๋ธ๋ก์ ๋ค์ ๊ณ์ฐํ ์ฒดํฌ์ฌ๊ณผ checksum tree ๊ฐ์ ๋น๊ตํด silent corruption์ ๊ฒ์ถ
- ์๋ ๋ณต๊ตฌ: ๋ฏธ๋ฌ๋ง ๋๋ RAID ์ฌ์ฉ ์ ์์๋ ๋ธ๋ก์ ์ข์ ๋ณต์ฌ๋ณธ์ผ๋ก ์๋ ๋ณต๊ตฌ
- ์คํฌ๋ฌ๋ธ (Scrub): ์จ๋ผ์ธ์ผ๋ก ์ ์ฒด ํ์ผ ์์คํ ์ ์ค์บํ์ฌ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ
ํ ๋น ํธ๋ฆฌ (Extent Allocation Tree)
ํ ๋น ํธ๋ฆฌ๋ ํ์ผ ์์คํ ์ ํ ๋น ๋งต ์ญํ ์ ํ๋ B-tree ๊ตฌ์กฐ์ด๋ค. ๋ชจ๋ ์์ญ(extent)์ ๋ํ ์ ๋ณด์ ์ญ์ฐธ์กฐ(back-reference)๋ฅผ ํฌํจํ์ฌ ์ด๋ค ํธ๋ฆฌ ๋ ธ๋๋ ํ์ผ์ด ํด๋น ์์ญ์ ์ฌ์ฉํ๋์ง ์ถ์ ํ๋ค.
- ๋์ ๋ธ๋ก ๊ทธ๋ฃน: ๋ฉํ๋ฐ์ดํฐ์ ๋ฐ์ดํฐ ๋ธ๋ก ๊ทธ๋ฃน์ด ๋ฒ๊ฐ์ ๊ฐ๋ฉฐ ๋์ ์ผ๋ก ์์ฑ
- ์ญ์ฐธ์กฐ: ๊ฐ extent์ ์ด๋ค ๋ ธ๋/ํ์ผ์ด ์ฌ์ฉํ๋์ง ์ถ์ ํ์ฌ ํจ์จ์ ์ธ ์ฌ๋ฐฐ์น ๊ฐ๋ฅ
- ๊ณต๊ฐ ๊ด๋ฆฌ: extent ํ ๋น ํธ๋ฆฌ๊ฐ ๊ธฐ์กด ๋นํธ๋งต ๋ฐฉ์์ ๋์ฒดํ์ฌ ํจ์จ์ ์ธ ๊ณต๊ฐ ๊ด๋ฆฌ ์ ๊ณต
- ์จ๋ผ์ธ ๋ฆฌ์ฌ์ด์ง: ํ์ผ ์์คํ ์จ๋ผ์ธ ํ์ฅ/์ถ์ ๊ฐ๋ฅ
๋น๊ต/๋ถ์
Btrfs vs ext4 vs XFS ๋น๊ต
| ๊ธฐ๋ฅ | Btrfs | ext4 | XFS |
|---|---|---|---|
| CoW | ๋ค์ดํฐ๋ธ ์ง์ | ๋ฏธ์ง์ | ๋ฆฌํ๋ง(reflink) ์ ํ ์ง์ |
| ์ฒดํฌ์ฌ | ๋ฐ์ดํฐ + ๋ฉํ๋ฐ์ดํฐ | ๋ฉํ๋ฐ์ดํฐ๋ง | ๋ฉํ๋ฐ์ดํฐ๋ง |
| ์ค๋ ์ท | ์๋ธ๋ณผ๋ฅจ ๋ ๋ฒจ | LVM ํ์ | LVM ํ์ |
| ์๋ธ๋ณผ๋ฅจ | ๋ค์ดํฐ๋ธ | ๋ฏธ์ง์ | ๋ฏธ์ง์ |
| ์ค๋ณต ์ ๊ฑฐ | ํ์ฒ๋ฆฌ ๋ฐฉ์ | ๋ฏธ์ง์ | ๋ฏธ์ง์ |
| ํฌ๋ช ์์ถ | ๋ค์ดํฐ๋ธ | ๋ฏธ์ง์ | ๋ฏธ์ง์ |
| RAID | ๋ค์ดํฐ๋ธ (0,1,10) | mdadm ํ์ | mdadm ํ์ |
| ์จ๋ผ์ธ ์ถ์ | ์ง์ | ๋ฏธ์ง์ | ๋ฏธ์ง์ |
| ์จ๋ผ์ธ ๋ํ๋๊ทธ | ์ง์ | ์ง์ | ์ง์ |
Btrfs RAID ๋ ๋ฒจ ๋น๊ต
| RAID ๋ ๋ฒจ | ์ต์ ๋์คํฌ | ๊ฐ์ฉ์ฑ | ํน์ง |
|---|---|---|---|
| single | 1 | ์์ | ์ค๋ณตํ ์์ |
| dup | 1 | ๋์ | ๋ฉํ๋ฐ์ดํฐ์ฉ, ๋์ผ ๋์คํฌ์ 2 ๋ณต์ฌ๋ณธ |
| raid0 | 2 | ์์ | ์คํธ๋ผ์ดํ, ์ฑ๋ฅ ํฅ์ |
| raid1 | 2 | ๋์ | ๋ฏธ๋ฌ๋ง, 2๊ฐ ๋์คํฌ์ ๋์ผ ๋ฐ์ดํฐ |
| raid10 | 4 | ๋์ | ๋ฏธ๋ฌ๋ง + ์คํธ๋ผ์ดํ |
| raid1c3 | 3 | ๋งค์ฐ ๋์ | 3์ค ๋ฏธ๋ฌ๋ง |
| raid1c4 | 4 | ๋งค์ฐ ๋์ | 4์ค ๋ฏธ๋ฌ๋ง |
| raid5 | 3 | ์ค๊ฐ | ํจ๋ฆฌํฐ ๊ธฐ๋ฐ (์ฐ๊ธฐ ํ ๋ฌธ์ ) |
| raid6 | 4 | ๋์ | ์ด์ค ํจ๋ฆฌํฐ (์ฐ๊ธฐ ํ ๋ฌธ์ ) |
๋์ ์๋ฆฌ
CoW ์ฐ๊ธฐ ๊ณผ์
Btrfs์ CoW ์ฐ๊ธฐ๋ ๋ค์ 6๋จ๊ณ๋ก ์งํ๋๋ค:
- ์ ๋ธ๋ก ํ ๋น: ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ ์๋ก์ด extent๋ฅผ ํ ๋น
- ๋ฐ์ดํฐ ๊ธฐ๋ก: ์๋ก์ด extent์ ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ ๊ธฐ๋ก
- ๋ฉํ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ: ๋ถ๋ชจ ๋ ธ๋์ ํฌ์ธํฐ๋ฅผ ์ extent๋ก ์ ๋ฐ์ดํธ
- ํธ๋ฆฌ ์์ ์ ํ: ๋ณ๊ฒฝ์ด ์์ ๋ ธ๋์ ๋ฃจํธ๊น์ง ์ ํ
- ํธ๋์ญ์ ์ปค๋ฐ: ์ ๋ฃจํธ๊ฐ ์ปค๋ฐ๋๋ฉด ํ์ผ ์์คํ ๊ด์ ์์ ์ผ๊ด๋ ์ ๋ฒ์ ์ด ํ์
- ๊ณต๊ฐ ํ์: ๋ ์ด์ ์ฐธ์กฐ๋์ง ์๋ ๊ธฐ์กด extent๋ ์ง์ฐ ํ์ ๊ฒฝ๋ก๋ฅผ ํตํด ์ ๋ฆฌ
๋ก๊ทธ ํธ๋ฆฌ (Log Tree)
fsync ์์ฒญ์ ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ ์ฆ์ ์์ ์ ์ ์ฅ์์ ์ปค๋ฐํ๋ค. fsync๊ฐ ๋น๋ฒํ ์ํฌ๋ก๋(๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ)์์ ๋ถํ์ํ ์ฐ๊ธฐ I/O๊ฐ ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก, Btrfs๋ ์์ ๋ก๊ทธ ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ fsync ํธ๋ฆฌ๊ฑฐ๋ CoW๋ฅผ ์ ๋๋งํ๋ค.
- ์์ ์ ์ฅ: ์๋ธ๋ณผ๋ฅจ๋ณ ๋ก๊ทธ ํธ๋ฆฌ์ fsync ๋ณ๊ฒฝ์ฌํญ ์์ ์ ์ฅ
- ์ ์ฒด ์ปค๋ฐ ์ ํด์ : ๋ค์ ์ ์ฒด ํธ๋ฆฌ ์ปค๋ฐ ์ ๋ก๊ทธ ํธ๋ฆฌ์ ์์ดํ ์ ์ค์ ํธ๋ฆฌ์ ๋ฐ์ํ๊ณ ํด์
- ํฌ๋์ ๋ณต๊ตฌ: ์์คํ ํฌ๋์ ์ ๋ก๊ทธ ํธ๋ฆฌ์ ์์ดํ ์ ๋ฆฌํ๋ ์ดํ์ฌ ๋ณต๊ตฌ
์ฒญํฌ ๋ฐ ๋๋ฐ์ด์ค ํธ๋ฆฌ
๋ฌผ๋ฆฌ์ ์ฒญํฌ๋ ๋ฐ์ดํฐ์ฉ 1GiB, ๋ฉํ๋ฐ์ดํฐ์ฉ 256MiB ๋จ์๋ก ๊ด๋ฆฌ๋๋ค. ์ฌ๋ฌ ๋๋ฐ์ด์ค์ ๋ฌผ๋ฆฌ์ ์ฒญํฌ๋ฅผ ๋ฏธ๋ฌ๋งํ๊ฑฐ๋ ์คํธ๋ผ์ดํํ์ฌ ๋ ผ๋ฆฌ์ ์ฒญํฌ๋ก ๊ตฌ์ฑํ๋ค.
- ๋ ผ๋ฆฌ์ ์ฃผ์ ๊ณต๊ฐ: ๋ชจ๋ ์ฒญํฌ๋ฅผ ๋จ์ผ ๋ ผ๋ฆฌ์ ์ฃผ์ ๊ณต๊ฐ์ผ๋ก ํตํฉ
- ์ ์ฐํ ๋งคํ: single, dup, raid0, raid1 ๋ฑ ๋ค์ํ ๋งคํ ํ์ ์ง์
- ๋์ ํ ๋น: ํ์ํ ์์ ์ ์ฒญํฌ๋ฅผ ๋์ ์ผ๋ก ํ ๋น
์ด์ ์์ : scrub, balance, replace
Btrfs๋ ํ์ผ ์์คํ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ์จ๋ผ์ธ์ผ๋ก ์๋ณผ ์ ์๋ ๊ด๋ฆฌ ์์ ์ ํจ๊ป ์ ๊ณตํ๋ค. ์ด ๊ธฐ๋ฅ๋ค์ ์ค๋ ์ท์ด๋ ์ฒดํฌ์ฌ๋งํผ ์ค๋ฌด ์ด์์์ ์ค์ํ๋ค.
- scrub: ์ฒดํฌ์ฌ์ ๊ธฐ์ค์ผ๋ก ์ ์ฒด ๋ธ๋ก์ ์ํํ๋ฉฐ ์์ ์ฌ๋ถ๋ฅผ ๊ฒ์ฌํ๊ณ , ์ค๋ณต ๋ณต์ฌ๋ณธ์ด ์์ผ๋ฉด ์๋ ๋ณต๊ตฌ ์๋
- balance: ์ฒญํฌ๋ฅผ ๋ค์ ๋ฐฐ์นํด ํ๋กํ์ผ ๋ณํ์ด๋ ๊ณต๊ฐ ํธ์ค ์ํ๋ฅผ ์ํ
- device replace: ์ฅ์ ์งํ๊ฐ ์๋ ๋์คํฌ๋ฅผ ์จ๋ผ์ธ์ผ๋ก ๊ต์ฒดํ๋ฉด์ ๋ฐ์ดํฐ ์ฌ๋ฐฐ์น ๊ฐ๋ฅ
์ฅ๋จ์
์ฅ์
- ๋ค์ดํฐ๋ธ ๊ณ ๊ธ ๊ธฐ๋ฅ: ์ค๋ ์ท, ์๋ธ๋ณผ๋ฅจ, ์ค๋ณต ์ ๊ฑฐ, ์์ถ์ ํ์ผ ์์คํ ์์ค์์ ๋ค์ดํฐ๋ธ ์ง์
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ: ๋ฐ์ดํฐ + ๋ฉํ๋ฐ์ดํฐ ์ฒดํฌ์ฌ์ผ๋ก ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ, ์คํฌ๋ฌ๋ธ๋ก ์๋ ๊ฒ์ฆ
- ์ ์ฐํ ๊ณต๊ฐ ๊ด๋ฆฌ: ์๋ธ๋ณผ๋ฅจ์ ํตํ ๋ ผ๋ฆฌ์ ๋ณผ๋ฅจ ๊ด๋ฆฌ, ์จ๋ผ์ธ ํ์ฅ/์ถ์ ๊ฐ๋ฅ
- Linux ์ปค๋ ํตํฉ: ๋ณ๋ ์ค์น ๋ถํ์, ์ปค๋ ๋ด์ฅ์ผ๋ก ๋์ ํธํ์ฑ
- ํจ์จ์ ์ธ ๋ฐฑ์ : send/receive๋ฅผ ํตํ ์ฆ๋ถ ๋ฐฑ์ ๋ฐ ๋ณต์
๋จ์
- RAID 5/6 ์ฐ๊ธฐ ํ ๋ฌธ์ : ์ ์ ์ฐจ๋จ ์ ํจ๋ฆฌํฐ ๋ถ์ผ์น ๊ฐ๋ฅ์ฑ์ผ๋ก ํ๋ก๋์ ์ฌ์ฉ ๋น๊ถ์ฅ
- ์ผ๋ถ ๊ธฐ๋ฅ ์์ ํ ๋ฏธํก: RAID 5/6, ์ผ๋ถ ๊ณ ๊ธ ๊ธฐ๋ฅ์ ์์ ํ๊ฐ ์งํ ์ค
- ์กฐ๊ฐํ ๋ฏผ๊ฐ์ฑ: CoW ํน์ฑ์ ์ฐ๊ธฐ ์ ์กฐ๊ฐํ ๋ฐ์ ๊ฐ๋ฅ, ์จ๋ผ์ธ ๋ํ๋๊ทธ ํ์
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋:
btrfs check๊ฐ์ ๋ณต๊ตฌ/์ ๊ฒ ์์ ์ ํฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์๊ตฌํ ์ ์์
๊ด๋ จ ๊ธฐ์
- dm-crypt/LUKS: Btrfs ์์์ ์ฌ์ฉ๋๋ ๋์คํฌ ์ํธํ ๊ธฐ์
- LVM: Btrfs์ ํจ๊ป ์ฌ์ฉ๋๋ ๋ณผ๋ฅจ ๊ด๋ฆฌ์ (๋จ, Btrfs์ ์๋ธ๋ณผ๋ฅจ๊ณผ ์ญํ ์ค๋ณต ๊ฐ๋ฅ)
- NVMe: ๊ณ ์ฑ๋ฅ ์ ์ฅ ์ฅ์น ์ธํฐํ์ด์ค์ Btrfs์ ์ฑ๋ฅ ์ต์ ํ
- ZFS: Btrfs์ ํจ๊ป ๋ํ๋๋ CoW ํ์ผ ์์คํ ์ผ๋ก ๋น๊ต ๋์
- ext4: ๊ธฐ์กด ๋ฆฌ๋ ์ค ๋ฒ์ฉ ํ์ผ ์์คํ ์ผ๋ก Btrfs์ ๋์
- XFS: ๋์ฉ๋ ํ์ผ์ ํนํ๋ ํ์ผ ์์คํ
๊ด๋ จ ๋ฌธ์
์ฐธ๊ณ ๋ฌธํ
- Btrfs Wiki
- Btrfs Documentation
- Linux Kernel Documentation - Btrfs
- Btrfs vs ZFS Comparison
- Btrfs Administration Guide
- Mason, C. (2007). "Btrfs: The Linux B-tree File System". Oracle.
- Rodeh, O. (2007). "B-trees, Copy-on-Write, and Snapshot File Systems". USENIX.
ํต์ฌ ์ ๋ฆฌ
- Btrfs๋ CoW B-tree๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ๋ชจ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋์ผํ ํ์์ผ๋ก ๊ด๋ฆฌํ๋ฏ๋ก ํจ์จ์ ์ธ ์ค๋ ์ท๊ณผ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๋ค.
- ์๋ธ๋ณผ๋ฅจ์ ๋ฌผ๋ฆฌ์ ๋ณผ๋ฅจ์ด ์๋ ๋ ผ๋ฆฌ์ ๋ค์์คํ์ด์ค๋ก, ์ ์ฐํ ์ ์ฅ ๊ด๋ฆฌ์ ๊ฒฉ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
- ๋ฐ์ดํฐ์ ๋ฉํ๋ฐ์ดํฐ์ ๋ํ ์ฒดํฌ์ฌ๊ณผ ์คํฌ๋ฌ๋ธ ๊ธฐ๋ฅ์ ์๋์ผ๋ก ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฆํ๊ณ ๋ณต๊ตฌํ๋ค.
- RAID 5/6์ ์ฐ๊ธฐ ํ ๋ฌธ์ ๋ ํ๋ก๋์ ํ๊ฒฝ์์ ์ฃผ์๊ฐ ํ์ํ๋ฉฐ, RAID 0/1/10์ด ๊ถ์ฅ๋๋ค.
- send/receive ๊ธฐ๋ฅ์ ํตํ ์ฆ๋ถ ๋ฐฑ์ ์ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๋ณดํธ์ ๋ณต์ ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ค.