์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
1. ๊ฐœ์š”2. ARC3. vdev4. zpool5. dataset6. zvol7. scrub8. ๋‹จ์ 
8.1. ์„œ๋ฒ„์šฉ ์žฅ๋น„ ๊ถŒ์žฅ
8.1.1. ๋ฐ˜๋ก 
8.2. ๋†’์€ RAM ์ ์œ ์œจ8.3. ๋””์Šคํฌ ๋‹จํŽธํ™”๋กœ ์ธํ•œ ํผํฌ๋จผ์Šค ์ถ”๋ฝ
9. ํ˜„์žฌ ํฌํŒ…๋œ ์‹œ์Šคํ…œ
9.1. ์†”๋ผ๋ฆฌ์Šค ๊ณ„์—ด
10. FreeBSD ๊ณ„์—ด
10.1. ๋ฆฌ๋ˆ…์Šค
10.1.1. ZFS-on-Linux10.1.2. ์šฐ๋ถ„ํˆฌ
11. ZFS๋ฅผ ์‚ฌ์šฉ ํ•˜๋Š” ์†”๋ฃจ์…˜
11.1. FreeNAS11.2. XigmaNAS11.3. Nexenta
12. ์ฐธ๊ณ  ๋งํฌ

1. ๊ฐœ์š”[ํŽธ์ง‘]

์ฌ๋งˆ์ดํฌ๋กœ์‹œ์Šคํ…œ์ฆˆ์—์„œ ๊ฐœ๋ฐœํ•˜์˜€๊ณ , ์†”๋ผ๋ฆฌ์Šค์— ํƒ‘์žฌ๋˜์—ˆ๋‹ค. ์ง€์ƒ ์ตœ๊ฐ•์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ด๋ผ๊ณ  ์ผ์ปฌ์–ด์ง€๊ธฐ๋„ ํ•œ๋‹ค.
๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ.
  • ์ตœ์ดˆ์˜ 128๋น„ํŠธ ํŒŒ์ผ ์‹œ์Šคํ…œ : ๊ฐ€ํžˆ ๋ฌดํ•œ๋Œ€์˜ ์šฉ๋Ÿ‰์„ ์ง€์›ํ•œ๋‹ค.
  • ๋„คํŠธ์›Œํฌ ์ง€์›: iSCSI, CIFS(Samba), NFS๋ฅผ ์ง€์›ํ•œ๋‹ค.
  • SSD ์บ์‹œ ์ง€์›
  • ์ž์ฒด RAID ์ง€์›
  • Pool ๊ธฐ๋Šฅ ์ง€์›
  • Silent Corruption ๋ฐฉ์ง€

๋‹จ์ ์œผ๋กœ ์บ์‹œ์ธ arc๋ฅผ ์ฃผ์š”ํ•˜๊ฒŒ ์“ธ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์—„์ฒญ๋‚˜๊ฒŒ ๋†’์•„์ง„๋‹ค. ํ•˜์ง€๋งŒ ๋•๋ถ„์— ์ž์ž˜ํ•˜๊ฒŒ ์“ฐ๊ธฐ๋ฅผ ํ•  ๊ฒฝ์šฐ๋‚˜ ์ฝ๊ธฐ๋ฅผ ํ•  ๊ฒฝ์šฐ์—๋Š” ๋ง๋„ ์•ˆ ๋˜๋Š” ์†๋„๊ฐ€ ๋‚˜์˜ค๊ธฐ๋„ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด SmartOS ์—์„œ KVM์— ์˜ฌ๋ฆฐ ๊ฐ€์ƒ๋จธ์‹ ์—์„œ ๋žœ๋ค ์ฝ๊ธฐ/์“ฐ๊ธฐ์˜ ๋””์Šคํฌ IO ์†๋„๊ฐ€ 1GB/s ์ด์ƒ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ณด์ด๊ธฐ๋„ ํ•œ๋‹ค. ๋ฌผ๋ก  ๋ฉ”๋ชจ๋ฆฌ๋Š” ๊ฐ€๋Šฅํ•œ ํ•œ ๋‹ค ๋•ก๊ฒจ ์“ฐ๊ธฐ์— ์ผ์–ด ๋‚˜๋Š” ์ผ์ด๋‹ค.

2. ARC[ํŽธ์ง‘]

Adaptive Replacement Cache์˜ ์•ฝ์–ด๋กœ ์ตœ๊ทผ์— ์ฝ๊ฑฐ๋‚˜ ์“ด ํŒŒ์ผ๋“ค์ด 1์ฐจ์ ์œผ๋กœ ์œ„์น˜ํ•˜๋Š” ์ €์žฅ๊ณต๊ฐ„์ด๋‹ค. cache๋กœ์„œ ZFS๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์—„์ฒญ๋‚˜๊ฒŒ ์“ฐ๋Š” ์ฃผ์š” ์›์ธ์ด ์ด ARC์ด๋‹ค.
ZFS๋Š” ARC์˜ ๋‚ด์šฉ๋ฌผ์„ ๋‹จ์ˆœํžˆ ์ตœ๊ทผ์— ์ฝ๊ฑฐ๋‚˜ ์ผ๋‹ค, ์ ‘๊ทผ ํšŸ์ˆ˜๊ฐ€ ๋งŽ๋‹ค ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ hit ratio์— ๋”ฐ๋ผ ๋‚ด์šฉ๋ฌผ์„ ์Šค์Šค๋กœ ์กฐ์ ˆํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
๊ธฐ๋ณธ์ ์œผ๋กœ ๋žจ๋””์Šคํฌ๋กœ ์ฃผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์žก์•„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํœ˜๋ฐœ์„ฑ์ด๋ฉฐ, ๋งค์šฐ ๋น ๋ฅด๊ณ  ๊ธฐ๊ฐ€๋‹น ๋น„์šฉ์ƒ ๊ฒฐ์ฝ” ์ €๋ ดํ•œ ์ €์žฅ์†Œ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ธฐ๊ฐ€ ํ•œ์ •์ ์ด ๋ ์ˆ˜๋ฐ–์— ์—†๋‹ค.
์ด๋Ÿฐ hit ratio์™€ ์šฉ๋Ÿ‰์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•œ 2์ฐจ cache๊ฐ€ ํ›„์ˆ ๋  L2ARC๋‹ค.

3. vdev[ํŽธ์ง‘]

vdev๋Š” Virtual Device(๊ฐ€์ƒ ์žฅ์น˜)์˜ ์•ฝ์–ด์ง€๋งŒ ๊ผญ ๊ฐ€์ƒ ์žฅ์น˜๋ฅผ ๋œปํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. vdev๋Š” zpool์„ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ๋กœ์„œ zpool๊ณผ ๋ฌผ๋ฆฌ์ ์ธ ๋””์Šคํฌ ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š” ํ•˜๋‚˜์˜ ์ถ”์ƒํ™”๋œ ๊ณ„์ธต์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ”ํžˆ ์šฐ๋ฆฌ๊ฐ€ ์•„๋Š” RAID๋กœ ํ˜•์„ฑ๋œ ๊ฐ€์ƒ ์žฅ์น˜ ๋“ฑ์ด ์—ฌ๊ธฐ์— ๋Œ€์‘๋œ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด RAID์™€ ๊ด€๋ จ๋œ ZFS์˜ vdev์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ข…๋ฅ˜๋“ค์ด ์žˆ๋‹ค.
  • stripe : RAID0 ์ŠคํŠธ๋ผ์ดํ”„ ๊ตฌ์„ฑ์ด๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ RAID ์ฐธ์กฐ.
  • mirror : RAID1 ๋ฏธ๋Ÿฌ๋ง ๊ตฌ์„ฑ์ด๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ RAID ์ฐธ์กฐ.
  • raidz1/2/3 : ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งํ•˜๋ฉด ๋™์ผํ•œ ํฌ๊ธฐ์˜ ๋””์Šคํฌ๊ฐ€ ๋ฌถ์ธ ๊ธฐ์ค€์œผ๋กœ ํŒจ๋ฆฌํ‹ฐ ์šฉ๋Ÿ‰์„ ๋””์Šคํฌ 1/2/3๊ฐœ์”ฉ ๋‘๋Š” RAID ๊ตฌ์„ฑ. ์•ž์˜ ๋‘ ๊ฐœ๋Š” ๊ฐ๊ฐ RAID5/6์— ๋Œ€์‘๋œ๋‹ค.
  • spare : "ํ•ซ ์ŠคํŽ˜์–ด"๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, ํ‰์ƒ์‹œ์—๋Š” ์•„๋ฌด ๊ฒƒ๋„ ํ•˜์ง€ ์•Š๋Š” ์—ฌ๋ถ„์˜ ์ƒํƒœ๋กœ ๋‚จ๊ฒจ์ ธ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ๋‹ค๋ฅธ raidz1/2/3์˜ ๊ตฌ์„ฑ ๋””์Šคํฌ ์ค‘์— ๊ฒฐํ•จ์ด ์ƒ๊ธฐ๋ฉด ๊ทธ ๋””์Šคํฌ๊ฐ€ ์ด ์ŠคํŽ˜์–ด ๋””์Šคํฌ๋กœ ์ž๋™์œผ๋กœ ๋Œ€์ฒด๋œ๋‹ค.
  • cache
    cache๋Š” L2ARC๋กœ ์“ฐ์ด๋Š” vdev๋ฅผ ๋งํ•œ๋‹ค. L2ARC๋Š” Level 2 ARC์˜ ์ค€๋ง๋กœ, ์‹œ์Šคํ…œ์˜ RAM์— ๊ฑฐ์ฃผํ•˜๋Š” ์บ์‹œ์ธ ARC์˜ ๋ณด์กฐ๋กœ์„œ ๋™์ž‘ํ•œ๋‹ค. ์งง๊ฒŒ ๋งํ•˜๋ฉด ์ฝ๊ธฐ ์บ์‹œ๋กœ์„œ, ์ˆœ์œ„๊ฐ€ ๋†’์€ ๋ฐ์ดํ„ฐ๋“ค์„ ARC์— ์˜ฌ๋ฆฌ๊ณ  ๊ทธ ์™ธ์˜ ๋ฐ์ดํ„ฐ๋“ค์„ L2ARC๋กœ ๋„ฃ๊ฒŒ ๋œ๋‹ค. ๋งŒ์ผ ARC์—์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์ง€ ๋ชปํ•˜๋ฉด(ARC์˜ ์˜ˆ์ธก ์‹คํŒจ) L2ARC์—์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ณ , ๋˜ ์‹คํŒจํ•˜๋ฉด(L2ARC์˜ ์˜ˆ์ธก ์‹คํŒจ) ๊ทธ์ œ์„œ์•ผ ๋น„๋กœ์†Œ zpool์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋””์Šคํฌ์— ์ ‘๊ทผํ•ด ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„๊ฐ€๊ฒŒ ๋œ๋‹ค. ๋‹น์—ฐํ•œ ๋ง์ด์ง€๋งŒ L2ARC ๋˜ํ•œ zpool์„ ์ฃผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ํ•˜๋“œ ๋””์Šคํฌ๋ณด๋‹ค ํ›จ์”ฌ ๋น ๋ฅธ SSD ๋“ฑ์„ ์ฃผ๋กœ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค. ๋‹ค๋งŒ SLOG์— ๋น„ํ•ด L2ARC๋กœ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์„ฑ๋Šฅ์˜ ํ–ฅ์ƒ์€ I/O๊ฐ€ ์—„์ฒญ ์žฆ๊ณ  ๋ถ€ํ•˜๊ฐ€ ํฐ ํ™˜๊ฒฝ์ด ์•„๋‹ˆ๋ฉด ์ ์€ ํŽธ์ด๋‹ค. L2ARC๋Š” ์ฃผ๋กœ ์ž„์˜์˜ ์œ„์น˜๋ฅผ ์ฝ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ์—์„œ ์œ ์šฉํ•˜๋ฉฐ, ๊ฐ™์€ ๋ถ€๋ถ„์ด ๋ฐ˜๋ณตํ•ด์„œ ์ฃผ๋กœ ์ฝํžˆ๋Š” ๊ฒฝ์šฐ์— ์“ฐ์ด๊ณ , ์ˆœ์ฐจ์ฝ๊ธฐ ๋“ฑ์—์„œ๋Š” L2ARC๋กœ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์„ฑ๋Šฅ ์ด๋“์ด ์—†๋‹ค. ๋˜ํ•œ ZFS๋Š” L2ARC์˜ ์ฒดํฌ์„ฌ ๊ฐ’ ๋“ฑ์„ ๋ณด๊ด€ํ•  ๊ณต๊ฐ„์„ ๋‹ค์‹œ RAM์— ํ• ๋‹นํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ, RAM์— ๋น„ํ•ด ๋„ˆ๋ฌด L2ARC๊ฐ€ ํด ๊ฒฝ์šฐ RAM ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•ด ์Šค์™‘์ด ๋ฐœ์ƒํ•ด ๋„๋กœ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๋Š” ์—ญํšจ๊ณผ๊ฐ€ ์ผ์–ด๋‚œ๋‹ค. ๋ณดํ†ต ์‹œ์Šคํ…œ RAM ์šฉ๋Ÿ‰์ด 64GB ์ด์ƒ์€ ๋˜์–ด์•ผ L2ARC๋ฅผ ๊ณ ๋ คํ•  ๋งŒํ•˜๋‹ค.
  • log
    log๋Š” SLOG(Seperate intent LOG)๋ฅผ ๋งํ•œ๋‹ค.
    SLOG๋ฅผ ์•Œ๊ธฐ ์ „์— ์•ž์„œ ZIL(ZFS Intent Log)๋ž€ ๊ฒƒ์„ ์•Œ ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ZIL์ด๋ž€ ํ•˜๋“œ ๋””์Šคํฌ์— ์ง์ ‘ ๊ธฐ๋ก๋˜๊ธฐ ์ „์— ์•ž์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๊ธฐ๋ก๋˜๋Š” ์“ฐ๊ธฐ ์บ์‹œ๋กœ์„œ ZIL๋กœ ํ• ๋‹น๋œ ์šฉ๋Ÿ‰์€ zpool์˜ ์ €์žฅ ๊ฐ€๋Šฅ ์šฉ๋Ÿ‰์— ๋ฐ˜์˜๋˜์ง€ ์•Š์œผ๋ฉฐ ์ˆœ์ˆ˜ํžˆ ์บ์‹œ ์šฉ๋„๋กœ๋งŒ ์ด์šฉ๋œ๋‹ค. ZFS๋Š” zpool๋งˆ๋‹ค ๋ฐ˜๋“œ์‹œ ZIL์ด ์žˆ๋‹ค. ๋ณดํ†ต ํ•˜๋“œ์›จ์–ด RAID ์ปจํŠธ๋กค๋Ÿฌ์˜ ๊ฒฝ์šฐ ์ด๋Ÿฐ ์“ฐ๊ธฐ ์บ์‹œ๊ฐ€ ๋ฐ˜๋“œ์‹œ ์ปจํŠธ๋กค๋Ÿฌ ๋‚ด์— ์กด์žฌํ•˜์ง€๋งŒ ZFS ๊ตฌ์„ฑ ํ•˜๋“œ์›จ์–ด์—๋Š” ์ด๋Ÿฌํ•œ ์บ์‹œ๋Š” ์˜ต์…˜ ์‚ฌํ•ญ์œผ๋กœ์จ, ๋ฐ˜๋“œ์‹œ ์ด๋Ÿฌํ•œ ์ „์šฉ ์“ฐ๊ธฐ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ œ๊ณต๋œ๋‹ค๋Š” ๋ณด์žฅ์ด ์—†๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ ZFS๋Š” zpool์˜ ์ผ๋ถ€๋ฅผ ZIL๋กœ ํ• ๋‹นํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ฒฝ์šฐ ๋ณดํ†ต ํ•˜๋“œ ๋””์Šคํฌ๋กœ ๊ตฌ์„ฑ๋˜๋Š” zpool ํŠน์„ฑ์ƒ zpool ์ž์ฒด์˜ ํƒ์ƒ‰ ์†๋„๊ฐ€ ๋А๋ฆด ์ˆ˜ ์žˆ์œผ๋ฉฐ zpool์˜ ์ž…์ถœ๋ ฅ์ด ์žฆ์€ ๊ฒฝ์šฐ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๊ฒŒ ๋œ๋‹ค.
    ๋ณธ๋ž˜ ๋””์Šคํฌ ์“ฐ๊ธฐ ์ž‘์—…์€ ๋‘ ์ข…๋ฅ˜๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค. ๋™๊ธฐ ์“ฐ๊ธฐ์™€ ๋น„๋™๊ธฐ ์“ฐ๊ธฐ์ด๋‹ค. ์ฐธ๊ณ  ํŽ˜์ด์ง€: Solaris ZFS, Synchronous Writes and the ZIL Explained
    ๋จผ์ € ์“ฐ๊ธฐ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜๋ฉด ์šด์˜์ฒด์ œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋จผ์ € RAM ์ƒ์˜ ์บ์‹œ์— ๊ธฐ๋กํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์„œ ๋น„๋™๊ธฐ ์“ฐ๊ธฐ ์ž‘์—…์˜ ๊ฒฝ์šฐ RAM ์บ์‹œ์— ๊ธฐ๋ก๋œ ๊ฒƒ๊นŒ์ง€๋งŒ ํ™•์ธํ•œ ํ›„ ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค์Œ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๋Ÿฌ ๋„˜์–ด๊ฐ„๋‹ค. ์ฆ‰, ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ๋“  ํ•˜๋“œ ๋””์Šคํฌ๋“  ์–ด๋”˜๊ฐ€์— ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ธฐ๋ก๋˜์ง€ ์•Š๊ณ  ๋„˜์–ด๊ฐ„๋‹ค. ์“ฐ๊ธฐ ๋ช…๋ น ์ˆ˜ํ–‰ ์‚ฌํ•ญ๊ณผ ์‹ค์ œ ๋””์Šคํฌ ์ƒ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ผ์น˜(์ฆ‰ ๋™๊ธฐ)ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด ์“ฐ๊ธฐ ์ž‘์—…์„ ๋น„๋™๊ธฐ ์“ฐ๊ธฐ๋ผ๊ณ  ํ•œ๋‹ค. ๋น„๋™๊ธฐ ์“ฐ๊ธฐ๋Š” ๋А๋ฆฌ๋”” ๋А๋ฆฐ ๋””์Šคํฌ๊ฐ€ ์ž‘์—…์„ ์™„๋ฃŒํ•  ๋•Œ๊นŒ์ง€ ํ”„๋กœ๊ทธ๋žจ์ด ๋‹ค์Œ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋Œ€๊ธฐํ•˜์ง€ ์•Š๊ฒŒ ๋˜๋ฏ€๋กœ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ์†๋„๊ฐ€ ๋นจ๋ผ์ง„๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ƒํ™ฉ(๋Œ€ํ‘œ์ ์œผ๋กœ ์ •์ „) ๋“ฑ์ด ๋ฐœ์ƒํ•œ๋‹ค๋ฉด, ๋น„๋™๊ธฐ ์“ฐ๊ธฐ์˜ ๊ฒฝ์šฐ ์•„์ง ๊ทธ ๋‚ด์šฉ์ด ๋””์Šคํฌ์— ๊ธฐ๋ก๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๋‹น์—ฐํžˆ ๊ทธ ๋‚ด์šฉ์€ ์†Œ์‹ค๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋น„๋™๊ธฐ ์“ฐ๊ธฐ์˜ ๊ฒฝ์šฐ ํ”„๋กœ๊ทธ๋žจ ์ƒ์—์„œ ์‹ค์ œ๋กœ ๋””์Šคํฌ์— ๋ฐ์ดํ„ฐ๊ฐ€ ๊ธฐ๋ก๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.
    ๋ฐ˜๋ฉด, ๋™๊ธฐ ์“ฐ๊ธฐ์˜ ๊ฒฝ์šฐ RAM ์บ์‹œ์— ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ๊นŒ์ง€๋Š” ๋™์ผํ•˜์ง€๋งŒ ์ด๋กœ ๋๋‚˜์ง€ ์•Š๊ณ  ์‹ค์ œ๋กœ SSD๋‚˜ ํ•˜๋“œ ๋””์Šคํฌ ๋“ฑ์˜ ๋น„ํœ˜๋ฐœ์„ฑ์˜ ์•ˆ์ •๋œ ์ €์žฅ์žฅ์น˜์— ๋Œ€ํ•ด ๊ธฐ๋ก๋˜๋Š” ์ž‘์—…๊นŒ์ง€ ๊ทธ๋Œ€๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด ์“ฐ๊ธฐ ์ž‘์—…์ด ์™„์ˆ˜๋  ๋•Œ๊นŒ์ง€ ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค์Œ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋Œ€๊ธฐํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๋™๊ธฐ ์“ฐ๊ธฐ์˜ ๊ฒฝ์šฐ ์“ฐ๊ธฐ ๋ช…๋ น์„ ํ–ˆ๋‹ค๋ฉด ๊ทธ ๋ช…๋ น์ด ์™„์ˆ˜๋˜์—ˆ๋‹ค๋ฉด ๊ทธ ๋ฐ์ดํ„ฐ ๋‚ด์šฉ์€ ๋ฐ˜๋“œ์‹œ ๋””์Šคํฌ์— ๊ธฐ๋ก๋˜์—ˆ์Œ์ด ๋ณด์žฅ๋œ๋‹ค. ์ฆ‰, ์“ฐ๊ธฐ ๋ช…๋ น ์ˆ˜ํ–‰์‚ฌํ•ญ๊ณผ ์‹ค์ œ ๋””์Šคํฌ ์ƒ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ผ์น˜(๋™๊ธฐ)ํ•˜๋ฏ€๋กœ ๋™๊ธฐ ์“ฐ๊ธฐ๋ผ๊ณ  ํ•œ๋‹ค. ๋™๊ธฐ ์“ฐ๊ธฐ๋Š” ์ด๋Ÿฐ ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ๋ฐ˜๋Œ€๊ธ‰๋ถ€๋กœ ๋А๋ฆฐ ๋””์Šคํฌ์˜ ๊ธฐ๋ก ์ž‘์—…์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋ฏ€๋กœ ํ”„๋กœ๊ทธ๋žจ์˜ ์ˆ˜ํ–‰ ์†๋„๊ฐ€ ๊ทธ๋งŒํผ ๋Šฆ์–ด์ง€๊ฒŒ ๋œ๋‹ค.
    ์ด์ œ ์—ฌ๊ธฐ์„œ ZFS SLOG๊ฐ€ ๊ทธ ๊ธฐ๋Šฅ์„ ๋ฐœํœ˜ํ•œ๋‹ค. POSIX ๊ทœ๊ฒฉ์— ๋”ฐ๋ฅด๋ฉด ๋™๊ธฐ ์“ฐ๊ธฐ๋Š” ๋น„ํœ˜๋ฐœ์„ฑ์˜ ์•ˆ์ •ํ•œ ๋””์Šคํฌ์— ๊ทธ ๋‚ด์—ญ์ด ๊ธฐ๋ก๋˜๊ธฐ๋งŒ ํ•˜๋ฉด ๊ทธ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ZFS๋Š” SLOG๊ฐ€ ์ œ๊ณต๋˜๋ฉด ๋™๊ธฐ ์“ฐ๊ธฐ๋กœ ์ฃผ์–ด์ง„ ๋‚ด์šฉ์„ ๋จผ์ € SLOG์— ๊ธฐ๋กํ•œ๋‹ค. SLOG๋Š” ๋น„ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ์ด๋ฏ€๋กœ ๋™๊ธฐ ์“ฐ๊ธฐ์˜ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜๊ณ  ๋”ฐ๋ผ์„œ ๋А๋ฆฐ ํ•˜๋“œ ๋””์Šคํฌ๊นŒ์ง€ ๊ธฐ๋ก์„ ์™„๋ฃŒํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค์Œ ๋ช…๋ น์„ ๊ณ„์† ์ˆ˜ํ–‰ํ•˜๊ณ  SLOG์— ๊ธฐ๋ก๋œ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ดํ›„ ํ•˜๋“œ ๋””์Šคํฌ์— ๋ฐ˜์˜๋œ๋‹ค. ์ฆ‰, ๋™๊ธฐ ์“ฐ๊ธฐ๊ฐ€ ๋น„๋™๊ธฐ ์“ฐ๊ธฐ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
    ๋‹น์—ฐํ•œ ๋ง์ด์ง€๋งŒ ์ด ๋•Œ SLOG๋กœ ์“ธ ๋งค์ฒด๋Š” ํ•˜๋“œ ๋””์Šคํฌ๋ณด๋‹ค ๋น ๋ฅธ SSD๊ฐ€ ๊ถŒ์žฅ๋œ๋‹ค. ๋˜ํ•œ ๋ณ„๋„์˜ ๋งค์ฒด๊ฐ€ ์ „์šฉ ์“ฐ๊ธฐ ์บ์‹œ๋กœ ํ• ๋‹น๋˜๋ฏ€๋กœ ์ž…์ถœ๋ ฅ์„ ๋ถ„์‚ฐ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  SLOG๋ฅผ ์“ฐ๊ฒŒ ๋  ๊ฒฝ์šฐ ZFS์˜ ๋””์Šคํฌ ํŒŒํŽธํ™”๋ฅผ ์ค„์ด๋Š” ํšจ๊ณผ๋„ ์žˆ๋‹ค. ๋‹จ, SLOG ์žฅ๋น„๊ฐ€ ๋งŒ์ผ ๊ณ ์žฅ๋‚  ๊ฒฝ์šฐ, v19 ํ˜น์€ ๊ทธ ์ด์ „์˜ zpool์˜ ๊ฒฝ์šฐ ๊ทธ zpool ์ „์ฒด๊ฐ€ ์†Œ์‹ค๋˜๋Š” ๋‹จ์ ์ด ์žˆ์—ˆ๊ณ  SLOG๋กœ ํ• ๋‹นํ•˜๋Š” ์žฅ๋น„๋ฅผ ๋ฏธ๋Ÿฌ๋ง์œผ๋กœ ๋ฌถ์–ด SLOG ์žฅ๋น„์˜ ๊ณ ์žฅ์— ๋Œ€๋น„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ผ๋‹ค. ๊ทธ ์ดํ›„ ๋ฒ„์ „์˜ zpool์—์„œ๋Š” ์ด ๋‹จ์ ์€ ์‚ฌ๋ผ์กŒ๋‹ค. ๋‹จ์ง€ SLOG ์žฅ๋น„๊ฐ€ ์†Œ์‹ค๋˜๋ฉด SLOG ์žฅ๋น„๊ฐ€ ์ œ๊ณตํ•˜๋˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ๋งŒ์ด ์‚ฌ๋ผ์งˆ ๋ฟ์ด๋‹ค. ๊ทธ๋ž˜๋„ ์—ฌ์ „ํžˆ SLOG ์žฅ๋น„ ๋ฏธ๋Ÿฌ๋ง์€ ์„ฑ๋Šฅ ์œ ์ง€๋ฅผ ์œ„ํ•ด ์œ ํšจํ•œ ์ „๋žต์ด๋‹ค.

์—ฌ๊ธฐ์„œ vdev์˜ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๋‹ค๋ฅธ vdev๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด RAID 10์™€ ๊ฐ™์€ ๊ตฌ์„ฑ์„ ์œ„ํ•ด์„œ๋Š” mirror 2๊ฐœ๋กœ ๊ตฌ์„ฑ๋œ stripe๋ฅผ ๋งŒ๋“ค๋ฉด ๋œ๋‹ค.๋˜ํ•œ ZFS๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ ์ž์ฒด์—์„œ RAID๋ฅผ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ช‡ ๊ฐ€์ง€ ํŠน์ง•์„ ๋ณด์ธ๋‹ค.
  • Resilvering ์‹œ๊ฐ„ ๊ฐ์†Œ
    RAID์˜ ๋ฆฌ์‹ค๋ฒ„๋ง(๊ตฌ์„ฑ ๋””์Šคํฌ ๋“ฑ์„ ๊ต์ฒด/ํ˜น์€ ์ผ์‹œ์ ์ธ ๋ถ„๋ฆฌ ํ›„ ์žฌ๊ฒฐํ•ฉ ๋“ฑ์˜ ์ž‘์—… ํ›„, ๋ณ€๋™์‚ฌํ•ญ์ด ์žˆ์—ˆ๋˜ ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ •์ƒ ์ƒํƒœ๋กœ ๋ณต์›์‹œ์ผœ RAID ๊ตฌ์„ฑ์„ ์ •์ƒ ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฌ๋Š” ์ž‘์—…) ๋“ฑ์„ ํ•  ๋•Œ ์›๋ž˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ ๊ฒŒ ๋“ค์–ด ์žˆ์„ ๊ฒฝ์šฐ ์‹œ๊ฐ„์ด ํ›จ์”ฌ ์ค„์–ด๋“ค๊ฒŒ ๋œ๋‹ค. ๊ธฐ์กด์˜ RAID ์†”๋ฃจ์…˜๋“ค์€ ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ธ”๋ก ๋‹จ์œ„๊นŒ์ง€๋งŒ์„ ๊ด€๋ฆฌํ•˜๋ฉฐ ๋”ฐ๋ผ์„œ ๊ทธ ๋ธ”๋ก ๋‚ด์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๊ธฐ๋ก๋˜๋Š”์ง€๋Š” ์ „ํ˜€ ๋ชจ๋ฅด๋ฏ€๋กœ ์–ด๋–ค ๋ธ”๋ก์— ๋ฐ์ดํ„ฐ๊ฐ€ ๊ธฐ๋ก๋˜์–ด ์žˆ๋Š”์ง€ ์•„๋‹Œ์ง€๋ฅผ ์•Œ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ๋ฆฌ์‹ค๋ฒ„๋ง ์ž‘์—…์„ ํ•˜๊ฒŒ ๋˜๋ฉด ๋””์Šคํฌ์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€๋ฅผ ๋ชจ๋‘ ๋‹ค ๊ฒ€์‚ฌํ•˜์—ฌ ๋ณต์›ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋ชน์‹œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ZFS๋Š” ๊ทธ ์ž์ฒด๊ฐ€ ๊ณง ํŒŒ์ผ ์‹œ์Šคํ…œ์ด๋ฏ€๋กœ ์ •ํ™•ํ•˜๊ฒŒ ์–ด๋А ๋ถ€๋ถ„๋งŒ ๋ฆฌ์‹ค๋ฒ„๋ง ์ž‘์—…์ด ํ•„์š”ํ•œ์ง€ ์•Œ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋”ฐ๋ผ์„œ ๋ฆฌ์‹ค๋ฒ„๋ง์˜ ์ž‘์—… ์‹œ๊ฐ„์ด ํš๊ธฐ์ ์œผ๋กœ ์ค„์–ด๋“ ๋‹ค.
    ์˜ˆ๋ฅผ ๋“ค์–ด RAID๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ๋˜ ๋ฐ์ดํ„ฐ ๋””์Šคํฌ ํ•˜๋‚˜๊ฐ€ ์ผ€์ด๋ธ”์˜ ๋ฌธ์ œ๋กœ ์ž ์‹œ ๋ถ„๋ฆฌ๋˜์—ˆ๋‹ค๊ฐ€ ์ •๋น„ ํ›„ ๋‹ค์‹œ ์—ฐ๊ฒฐ๋œ ๊ฒฝ์šฐ, ๊ทธ ์ž ๊น์˜ ๋ถ„๋ฆฌ ์ž‘์—…๊ฐ„์— ๋ฐœ์ƒํ•œ ๋ณ€๋™ ์‚ฌํ•ญ์— ๋Œ€ํ•ด์„œ๋งŒ ๋ฆฌ์‹ค๋ฒ„๋ง์„ ํ•  ์ˆ˜ ์žˆ์–ด ๋‹จ ๋ช‡ ๋ถ„๋งŒ์— ๋ฆฌ์‹ค๋ฒ„๋ง์ด ๋๋‚œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ RAID์˜ ๊ฒฝ์šฐ ์ด ๋•Œ ๋””์Šคํฌ์˜ ์‹œ์ž‘๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ชจ๋‘ ํ›‘์–ด๋‚ด๋ฆฌ๋Š” ์ˆ˜ ๋ฐ–์— ์—†์–ด ์—„์ฒญ๋‚œ ์‹œ๊ฐ„์ด ์†Œ์š”๋œ๋‹ค.
    ๋˜ํ•œ ์šฉ๋Ÿ‰์ด 10% ์ •๋„๋งŒ ์ฐจ ์žˆ๋Š” RAID์˜ ๊ฒฝ์šฐ ๊ธฐ์กด์˜ RAID ์†”๋ฃจ์…˜์€ ์—ญ์‹œ ๋””์Šคํฌ์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ญ‰ ๊ตฌ๋ณ„์—†์ด ๋ชจ๋“  ๋ธ”๋ก์„ ์ž‘์—…ํ•ด์•ผ ํ•˜์ง€๋งŒ, ZFS์˜ ๊ฒฝ์šฐ ๊ธฐ๋ก๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ธฐ๋ก๋œ 10%์˜ ๋ธ”๋ก์— ๋Œ€ํ•ด์„œ๋งŒ ์ž‘์—…์„ ํ•˜๋ฏ€๋กœ ์ž‘์—… ์‹œ๊ฐ„์ด 1/10๋กœ ์ค„์–ด๋“ ๋‹ค.

4. zpool[ํŽธ์ง‘]

zpool์€ ๊ธฐ์กด์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ์ปจ์…‰ ์ž์ฒด๊ฐ€ ๊ฝค ๋‹ค๋ฅด๋ฉฐ NTFS๋‚˜ HFS ๋“ฑ์˜ ๊ธฐ์กด ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ํŒŒํ‹ฐ์…˜๊ณผ ๋ณผ๋ฅจ ์‚ฌ์ด์— ๋†“์ธ ๋ ˆ์ด์–ด ๊ณ„์ธต์ด๋‹ค. ๋‹ค๋งŒ ZFS ๋ณผ๋ฅจ์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” zpool๋กœ ํ†ต์ผํ•ด์„œ ์–ธ๊ธ‰ํ•œ๋‹ค. ๋จผ์ € ZFS๋Š” ๊ฐ ํ•˜๋“œ ๋””์Šคํฌ์—์„œ ์‚ฌ์šฉํ•  GPT ํŒŒํ‹ฐ์…˜๋“ค์„ ๊ตฌ์„ฑ์›์œผ๋กœ ๊ฐ€์ƒ ํ•˜๋“œ์›จ์–ด์ธ vdev๋“ค์„ ๋งŒ๋“ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด vdev๋“ค์„ ์›ํ•˜๋Š” ๊ฒƒ๋ผ๋ฆฌ ๋‹ค์‹œ ๋ฌถ์€ ๊ฒƒ์ด zpool์ด๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ZFS๋Š” ๋ณ„๋„์˜ RAID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์—†์ด๋„ ์†Œํ”„ํŠธ์›จ์–ด RAID๋ฅผ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ž์ฒด์—์„œ ์ง์ ‘ ์•ˆ์ •์ ์œผ๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•˜๋‚˜์˜ zpool์€ HDD 6๊ฐœ๊ฐ€ ๋ฌถ์ธ vdev์ธ raidz2 + SLOG ์žฅ๋น„๋กœ SSD 2๊ฐœ๊ฐ€ ๋ฏธ๋Ÿฌ๋ง์œผ๋กœ ๋ฌถ์ธ mirror๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑ๋œ zpool์€ ๊ฐ ๊ตฌ์„ฑ ๋””์Šคํฌ๊ฐ€ ๊ฝ‚ํžŒ ํฌํŠธ๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ์ •์ƒ์ ์œผ๋กœ ๊ฐ ๋””์Šคํฌ๋ฅผ ์‹๋ณ„ํ•ด zpool์„ ์œ ์ง€ํ•˜๋ฉฐ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋กœ๋„ ์†์‰ฝ๊ฒŒ zpool์„ ์˜ฎ๊ธธ ์ˆ˜ ์žˆ๋‹ค.

RAID ๋ชจ๋“œ๋กœ๋Š” stripe, mirror, raidz, raidz2 ๋“ฑ์„ ์ง€์›ํ•˜๋Š”๋ฐ RAID๋กœ ๋”ฐ์ง€์ž๋ฉด, ๊ฐ๊ฐ raid0, raid1, raid5, raid6์™€ ๋™์ผํ•˜๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ zpool์˜ ๊ตฌ์„ฑ์›์œผ๋กœ ๋””์Šคํฌ๋ฅผ SLOG(ํ”ํžˆ ZIL๋กœ๋„ ๋ถˆ๋ฆผ), L2ARC๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

5. dataset[ํŽธ์ง‘]

์ด dataset์ด ๋ฐ”๋กœ ์ผ๋ฐ˜์ ์ธ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋ณผ๋ฅจ์— ๋Œ€์‘๋˜๋Š” ๋ถ€๋ถ„์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ dataset์€ ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์•„๋Š” ๋ณผ๋ฅจ๊ณผ๋Š” ํ™•์—ฐํžˆ ๋‹ค๋ฅด๋‹ค. ๋จผ์ € dataset์€ ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์•„๋Š” ํŒŒํ‹ฐ์…˜๊ณผ ๋‹ฌ๋ฆฌ ๋ฌผ๋ฆฌ์ ์ธ ํŠน์ •ํ•œ ๊ณต๊ฐ„์— ๊ณ ์ •๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด๋‹ค. ๋จผ์ €, ์ปดํ“จํ„ฐ์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ํ•˜๋“œ ๋””์Šคํฌ๊ฐ€ ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€(ํ”Œ๋ž˜ํ„ฐ๊ฐ€ ๋ช‡ ์žฅ์ธ์ง€, ๋ชจํ„ฐ๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ๋“ฑ๋“ฑ...)๋Š” ๋ชจ๋ฅด๋ฉฐ, ๋‹จ์ง€ ์ฒซ๋ฒˆ์งธ ๋ธ”๋ก๋ถ€ํ„ฐ n ๋ธ”๋ก์ด ์ผ๋ ฌ๋กœ ๋Š˜์–ด์„œ ๊ตฌ์„ฑ๋œ, 1์ฐจ์›์ ์ธ ๊ณต๊ฐ„์œผ๋กœ ์ธ์‹ํ•œ๋‹ค๋Š” ์ ๋ถ€ํ„ฐ ์•Œ์•„์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•˜๋“œ ๋””์Šคํฌ์˜ ํŒŒํ‹ฐ์…˜์€ ์ •ํ™•ํ•˜๊ฒŒ a๋ฒˆ์งธ ๋ธ”๋ก~b๋ฒˆ์งธ ๋ธ”๋ก๊นŒ์ง€์˜ ํ•˜๋‚˜์˜ ๊ตฌ๊ฐ„์ด๋ž€ ํ˜•ํƒœ๋กœ ์ง€์ •ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ด ํŒŒํ‹ฐ์…˜๋“ค์€ ์ด 1์ฐจ์›์ ์ธ ๊ณต๊ฐ„์—์„œ์˜ ํŠน์ • ๊ตฌ๊ฐ„์— ์ •ํ™•ํ•˜๊ฒŒ 1:1 ๋Œ€์‘๋˜๋Š” ๊ตฌ์กฐ์ด๋ฉฐ, ๋˜ํ•œ ๊ฐ NTFS, FAT, exFAT ๋“ฑ์˜ ๋ณผ๋ฅจ์€ ๊ฐ ํŒŒํ‹ฐ์…˜์— ์ •ํ™•ํ•˜๊ฒŒ 1:1 ๋Œ€์‘ํ•œ๋‹ค. ์ด๋กœ ์ธํ•ด ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์“ฐ๋Š” Microsoft Windows ๋“ฑ์˜ OS์—์„œ๋Š” ๋””์Šคํฌ ๋ณผ๋ฅจ์„ ํ™•์žฅํ•ด์•ผ ํ•  ์ผ์ด ์žˆ์„ ๋•Œ ๋งŒ์ผ ๊ทธ ๋ณผ๋ฅจ์ด ์œ„์น˜ํ•œ ํŒŒํ‹ฐ์…˜์˜ ์—ฌ์œ  ๊ณต๊ฐ„์ด ๋งŒ์ผ ์—†๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ๋จผ์ € ์–ด๋–ค ํŒŒํ‹ฐ์…˜์ด ๋๋‚˜๋Š” ์ง€์ ์œผ๋กœ๋ถ€ํ„ฐ ๋Š˜๋ ค์•ผ ํ•  ๊ณต๊ฐ„๋งŒํผ์˜ ๊ตฌ๊ฐ„์ด ํ…… ๋น„์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ๋น„์ง€ ์•Š์•˜๋‹ค๋ฉด ๊ทธ ๊ณณ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋”ด ๊ณณ์œผ๋กœ ์ด๋™์‹œํ‚ค๋Š” ์ž‘์—…์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ„์˜ 1:1 ๋Œ€์‘๋˜๋Š” ๊ตฌ์กฐ๋กœ ์ธํ•ด ํŒŒํ‹ฐ์…˜์˜ ๊ตฌ๊ฐ„์„ ๊ทธ ์‹œ์ž‘ ์ง€์ ์—์„œ๋ถ€ํ„ฐ ์•ž์œผ๋กœ ํ™•์žฅ์‹œํ‚ค๋Š” ๊ฒƒ์€ ์™ธ๋ถ€ ํ”„๋กœ๊ทธ๋žจ์„ ๋™์›ํ•˜์ง€ ์•Š๋Š” ์ด์ƒ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ZFS๋Š” ์ „ํ˜€ ๊ตฌ์กฐ๊ฐ€ ๋‹ค๋ฅธ๋ฐ, zpool ์•ˆ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ dataset์ด ์กด์žฌํ•˜๊ฒŒ ๋œ๋‹ค. dataset์€ ๋งˆ์น˜ ํŒŒ์ผ ๋””๋ ‰ํ† ๋ฆฌ์™€ ๋น„์Šทํ•˜๊ฒŒ ๋˜ ๋‹ค๋ฅธ dataset ์•ˆ์— ์œ„์น˜ํ•  ์ˆ˜๋„, ๊ทธ๋ ‡์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค. ๊ธฐ์กด์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด๋ผ๋ฉด ์ „ํ˜€ ๊ฟˆ๋„ ๊ฟ€ ์ˆ˜ ์—†๋Š” ๊ตฌ์กฐ์ธ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ„์—์„œ ๋งํ•œ๋Œ€๋กœ ๋ฌผ๋ฆฌ์ ์ธ ์œ„์น˜์— ๋ถ™๋ฐ•ํžˆ์ง€ ์•Š์€ ํŠน์ง• ๋•Œ๋ฌธ์— ํฌ๊ธฐ์˜ ์กฐ์ ˆ์ด ๋งค์šฐ ์ž์œ ๋กญ๋‹ค. dataset์˜ ์šฉ๋Ÿ‰์„ ๋Š˜์ด๋Š” ๊ฒƒ๋„ ์ค„์ด๋Š” ๊ฒƒ๋„(๋ฌผ๋ก  dataset ๋‚ด์˜ ์—ฌ์œ  ์šฉ๋Ÿ‰๋งŒํผ๋งŒ) ๋ช…๋ น์„ ์ฃผ๋Š” ๊ฑฐ์˜ ์ฆ‰์‹œ ๋ฐ”๋กœ ์™„๋ฃŒ๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  dataset์€ ์Šค๋ƒ…์ƒท ๊ธฐ๋Šฅ์„ ์ง€์›ํ•œ๋‹ค. ์Šค๋ƒ…์ƒท์ด๋ž€ ์–ด๋–ค dataset์˜ ์–ด๋–ค ์‹œ์ ์—์„œ์˜ ์ •์  ์ƒํƒœ๋ฅผ ๊ธฐ์–ตํ•ด๋‘๋Š” ๊ธฐ๋Šฅ์œผ๋กœ, ์›ํ•œ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ ๊ทธ ์Šค๋ƒ…์ƒท์˜ ์ƒํƒœ๋กœ ํŠน์ • dataset์„ ๋ณต์›์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ธฐ๋Šฅ์€ ๋ชน์‹œ ๋น ๋ฅด๊ฒŒ ๊ฐ€๋ณ๊ฒŒ ๋™์ž‘ํ•˜์—ฌ ์Šค๋ƒ…์ƒท์„ ์ €์žฅํ•  ๋•Œ๋‚˜ ํŠน์ • ์Šค๋ƒ…์ƒท์œผ๋กœ ๋ณต์›ํ•  ๋•Œ๋‚˜ ๊ฑฐ์˜ ๋ช…๋ น์„ ๋‚ด๋ฆฌ๋Š” ์ˆœ๊ฐ„ ์ž‘์—…์ด ์™„๋ฃŒ๋œ๋‹ค. ๊ฑฐ๊ธฐ๋‹ค๊ฐ€ dataset ์ „์ฒด์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ–ˆ๋Š”๋ฐ๋„ ์Šค๋ƒ…์ƒท ์งํ›„์—๋Š” ์šฉ๋Ÿ‰๋„ ๋ช‡๋ฐฑ ๋ฐ”์ดํŠธ ์ •๋„๋ฐ–์— ๋จน์ง€ ์•Š๋Š”๋‹ค. ์ด๋Š” ZFS๊ฐ€ dataset์—์„œ Copy-on-Write๋ผ๋Š” ๊ธฐ๋ก ๋ฐฉ๋ฒ•์„ ์“ฐ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•œ ์ผ์ด๋‹ค. ํŠน์ • dataset์˜ ์Šค๋ƒ…์ƒท์„ ์ €์žฅํ•  ๊ฒฝ์šฐ ๊ทธ dataset์˜ ๊ทธ ์Šค๋ƒ…์ƒท ์ดํ›„์— ์ผ์–ด๋‚˜๋Š” ํŒŒ์ผ์˜ ์‚ญ์ œ, ๋ณ€๊ฒฝ ๋“ฑ์˜ ์ˆ˜์ • ์ž‘์—…์œผ๋กœ ๋ฐœ์ƒํ•œ ๋ณ€๊ฒฝ ๋ถ€๋ถ„์€ ๊ทธ ๋ฐ์ดํ„ฐ์˜ ์›๋ณธ์— ๋ฎ์–ด์จ์ง€์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ๊ณณ์— ๊ธฐ๋ก๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ˜„์žฌ ์‹œ์ ์˜ ๊ทธ dataset์„ ์ฝ์„ ๋•Œ๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ๋ถ€๋ถ„์€ ์›๋ณธ ๋ถ€๋ถ„์„ ๊ทธ๋Œ€๋กœ ์ฝ์–ด๋‚ด๊ณ , ๊ทธ ๋ณ€๊ฒฝ ์ง€์ ์„ ์ฝ์„ ๋•Œ๋งŒํผ์€ ๊ทธ ๋‹ค๋ฅธ ๊ณณ์— ๊ธฐ๋ก๋œ ์‚ฌ๋ณธ์„ ์ฐธ์กฐํ•˜๋Š” ์‹์ด๋‹ค. ์ด๋ ‡๊ฒŒ ํ•œ๋‹ค๋ฉด ์Šค๋ƒ…์ƒท์„ ์ €์žฅํ•œ ์ดํ›„ ์ถ”๊ฐ€๋กœ ๋ฐœ์ƒํ•˜๋Š” ์šฉ๋Ÿ‰ ์†Œ๋ชจ๋Š” ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„์˜ ์šฉ๋Ÿ‰๋งŒํผ๋งŒ ๋  ๋ฟ, ์ผ์ผ์ด dataset ์ „์ฒด์˜ ํฌ๊ธฐ๋งŒํผ์˜ ์‚ฌ๋ณธ์ด ์ƒ์„ฑ๋  ํ•„์š”๊ฐ€ ์—†์–ด์ง„๋‹ค. ๋ฌผ๋ก  ๋ณต์›ํ•  ๋•Œ๋„ ๊ฐ„๋‹จํ•˜๋‹ค. ํŠน์ • ์‹œ์ ์œผ๋กœ ๋ณต์›ํ•  ๋•Œ, ๊ทธ ํŠน์ • ์‹œ์  ์ดํ›„์— ๋ฐœ์ƒํ•œ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ถ€๋ถ„๋งŒ ์‚ญ์ œํ•ด ๋ฒ„๋ฆฌ๋ฉด ๋ฐ”๋กœ ์›๋ณธ์œผ๋กœ ๋ณต์›๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์Šค๋ƒ…์ƒท ๊ธฐ๋Šฅ์€ ์ผ์ • ์ฃผ๊ธฐ์— ๋งž์ถฐ ์ž๋™์œผ๋กœ ์Šค๋ƒ…์ƒท์„ ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ๋„ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์ด์šฉํ•˜๋ฉด ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ฐ dataset์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•œ ๋’ค ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ๋ฐ”๋กœ ๋ณต์›ํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ค‘์š”ํ•œ ์ž๋ฃŒ๊ฐ€ ๋‹ด๊ธด documents๋ž€ ์ด๋ฆ„์˜ dataset์„ 5๋ถ„ ๋‹จ์œ„๋กœ ์Šค๋ƒ…์ƒท์„ ์ฐ๊ฒŒ ํ•œ ๋’ค ์ž์‹ ์ด ์‹ค์ˆ˜๋กœ ๋ฌธ์„œ๋ฅผ ์‚ญ์ œํ•ด๋ฒ„๋ฆฌ๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•ด๋„ ๋‹จ 5๋ถ„์˜ ์ž‘์—…๋Ÿ‰๋งŒํผ์˜ ์†์‹ค์„ ๋ณด๋Š” ๊ฒƒ์œผ๋กœ ๋๋‚ด๋ฒ„๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค. ๋˜๋Š” ๋„คํŠธ์›Œํฌ ์ƒ์œผ๋กœ ๊ณต์œ ํ•ด๋’€๋˜ ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ CryptoLocker ๋“ฑ์˜ ๋žœ์„ฌ์›จ์–ด์— ๋‹นํ–ˆ๋”๋ผ๋„ ์ด ์Šค๋ƒ…์ƒท ๊ธฐ๋Šฅ์„ ์ด์šฉํ•œ๋‹ค๋ฉด ๋žœ์„ฌ์›จ์–ด์˜ ์กฐ์ž‘์ด ๊ฐ€ํ•ด์ง€๊ธฐ ๋ฐ”๋กœ ์ด์ „์˜ ์Šค๋ƒ…์ƒท ์‹œ์ ์œผ๋กœ ๋ฐ”๋กœ ๋ณต์›ํ•ด ์•„๋ฌด ์ผ๋„ ์—†์—ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ๋งŒ๋“œ๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

๊ทธ ์™ธ์—๋„ dataset์—์„œ๋Š” ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์••์ถ• ๊ธฐ๋ฒ•๋„ ์ œ๊ณต๋œ๋‹ค. ๋จผ์ € ํ”ํžˆ ์šฐ๋ฆฌ๊ฐ€ ์•„๋Š” ๊ทธ ํŒŒ์ผ ์••์ถ• ๊ธฐ๋ฒ•์ด ์žˆ๋‹ค. ์••์ถ• ๋ฐฉ๋ฒ•์œผ๋ก  gzip, lz4 ๋“ฑ์ด ์žˆ๋‹ค. ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•  ๋•Œ ์••์ถ•์„ ํ•œ ์ฐจ๋ก€ ๊ฑฐ์นœ ํ›„ ๊ธฐ๋กํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด ๊ฒƒ ๋ง๊ณ ๋„ ZFS์—์„œ ์ง€์›ํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์••์ถ• ๊ธฐ๋ฒ•์œผ๋กœ deduplication์ด๋ž€ ๊ธฐ๋ฒ•์ด ์žˆ๋‹ค. ์ด deduplication์ด๋ž€, ๋งŒ์ผ ๋™์ผํ•œ ๋‚ด์šฉ์„ ๊ฐ€์ง„ ๋ธ”๋ก์ด ์—ฌ๋Ÿฟ ์กด์žฌํ•œ๋‹ค๋ฉด ์‹ค์ œ๋กœ๋Š” ๊ทธ ๋ธ”๋ก๋“ค ์ค‘ ํ•˜๋‚˜๋งŒ์„ ๋‚จ๊ธฐ๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋‹ค ์ง€์šด ๋’ค, ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ๋•Œ๋Š” ๋ชจ๋‘ ๊ทธ ๋ธ”๋ก์„ ์ฐธ์กฐํ•˜๋„๋ก ๊ธฐ๋กํ•ด๋‘๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ์ด ๋•Œ ๋ธ”๋ก์˜ ๋™์ผ์„ฑ ์—ฌ๋ถ€๋ฅผ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•ด ์•”ํ˜ธํ•™์ ์œผ๋กœ ์•ˆ์ „ํ•œ ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ทธ ์ฒดํฌ์„ฌ์„ ๋น„๊ตํ•˜๋Š” ๋ฐฉ์‹์„ ์“ฐ๋ฉฐ ๋งŒ์ผ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•œ๋‹ค๋ฉด ํ›จ์”ฌ ๊ฐ„๋‹จํ•˜๊ณ  ๋น ๋ฅด์ง€๋งŒ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ 1์ฐจ ๋Œ€์กฐ๋ฅผ ํ•œ ๋’ค ์ฒดํฌ์„ฌ์ด ๊ฐ™๋‹ค๋ฉด ๊ทธ ๊ฐ™์€ ๋ธ”๋ก๊ฐ„ 1:1 ๋น„๊ต๋ฅผ ํ•ด๋ณด๋Š” ์˜ต์…˜๋„ ์ œ๊ณตํ•œ๋‹ค. ๋‹ค๋งŒ ์ด deduplication์€ ์ถฉ๋ถ„ํ•œ ํ•˜๋“œ์›จ์–ด ์‚ฌ์–‘์ด ๋ณด์žฅ๋˜์–ด์•ผ๋งŒ ์„ฑ๋Šฅ์˜ ํฐ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์กฐ์‹ฌ์Šค๋ ˆ ์“ฐ๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋œ๋‹ค.

6. zvol[ํŽธ์ง‘]

ZFS๋Š” dataset ๋ง๊ณ ๋„ zvol์ด๋ผ๋Š” ์˜์—ญ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. dataset์ด ZFS๊ฐ€ ํŒŒ์ผ ๋ ˆ๋ฒจ๊นŒ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ์˜์—ญ์ด๋ผ๋ฉด, zvol์€ ๊ทธ์™€ ๋‹ฌ๋ฆฌ ZFS๊ฐ€ ๋ธ”๋ก ๋‹จ์œ„๊นŒ์ง€๋งŒ ๊ด€๋ฆฌํ•˜๋Š” ์˜์—ญ์ด๋‹ค. ์ด๊ฒƒ์ด ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋Š” ๊ณง ์ด ์˜์—ญ์˜ ๋ธ”๋ก ๋‚ด์šฉ์ด ์–ด๋–ค ํ˜•์‹์œผ๋กœ ์งœ์ด๋“  ์ƒ๊ด€์—†๋‹ค๋Š” ๋œป์œผ๋กœ zvol ์˜์—ญ์€ NTFS์ด๋‚˜ HFS+ ๋ณผ๋ฅจ ๋“ฑ์œผ๋กœ ํฌ๋งทํ•ด์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ก  ZFS ์ž์ฒด๋Š” ์ „ํ˜€ NTFS ๋ณผ๋ฅจ์„ ์ „ํ˜€ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉฐ, ๋”ฐ๋ผ์„œ ๋ณดํ†ต ์ด ์˜์—ญ์€ iSCSI๋ฅผ ํ†ตํ•ด ์›๊ฒฉ์œผ๋กœ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— ์—ฐ๊ฒฐ, ํƒ‘์žฌ๋˜์–ด ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ํ•˜๋“œ ๋””์Šคํฌ์ฒ˜๋Ÿผ ์‚ฌ์šฉ๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฌํ•œ ํŠน์„ฑ์œผ๋กœ ์ธํ•ด zvol์€ dataset๊ณผ๋Š” ๋‹ฌ๋ฆฌ ZFS์˜ ๊ฐ•์  ์ค‘ ํ•˜๋‚˜์ธ ์Šค๋ƒ…์ƒท ๊ธฐ๋Šฅ์ด ์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ ์™ธ์—” zvol์€ dataset์˜ ํŠน์ง•์„ ๋ชจ๋‘ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด zvol ๋˜ํ•œ ์ •ํ™•ํ•˜๊ฒŒ ๋””์Šคํฌ์˜ ํŠน์ • ๊ตฌ๊ฐ„์— 1:1 ๋Œ€์‘๋˜๋Š” ์˜์—ญ์ด ์•„๋‹ˆ๋ฏ€๋กœ, zvol ๋‚ด์˜ ๋ฐ์ดํ„ฐ๋‚˜ zpool์˜ ์šฉ๋Ÿ‰์ด ํ—ˆ์šฉํ•˜๋Š” ํ•œ ํฌ๊ธฐ์˜ ๋ณ€ํ™”๊ฐ€ ์ž์œ ์ž์žฌ๋กœ ์ด๋ฃจ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

7. scrub[ํŽธ์ง‘]

ZFS์˜ ๊ฐ•์  ์ค‘ ํ•˜๋‚˜๋Š” Silent Corruption์„ ๋ฐฉ์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค๋Š” ์ ์ด๋‹ค. ๋””์Šคํฌ์— ๊ธฐ๋ก๋œ ๋ฐ์ดํ„ฐ๋Š” ์ ˆ๋Œ€ ์˜์›๋ถˆ๋ฉธํ•˜์ง€ ์•Š์œผ๋ฉฐ ๊ฐ€๋งŒํžˆ ๋‘๋”๋ผ๋„ ์ž์—ฐ ๋ฐฉ์‚ฌ๋Šฅ ๋“ฑ์˜ ์˜ํ–ฅ์œผ๋กœ ์ธํ•ด ๋น„ํŠธ๊ฐ€ ๋’ค์ง‘ํžˆ๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ๋ฐ์ดํ„ฐ ๋ณ€์งˆ์€ ๊ทธ ๋ฐœ์ƒ ์—ฌ๋ถ€๋ฅผ ๋ฐ”๋กœ ๊ฒ€์ถœํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ ์—์„œ ์œ„ํ—˜ํ•˜๋‹ค. ๋˜ํ•œ ํ•˜๋“œ ๋””์Šคํฌ์˜ ๋น„ํŠธ ๋‹น ๋ณ€์งˆ ๋ฐœ์ƒ๋ฅ ์€ ๊ฑฐ์˜ ๊ทธ๋Œ€๋กœ์ธ ๋ฐ˜๋ฉด, ํ•˜๋“œ ๋””์Šคํฌ์˜ ์šฉ๋Ÿ‰์€ ๊ณ„์† ์ปค์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๋ณ€์งˆ์˜ ๋ฐœ์ƒ๋ฅ ์€ ๋”์šฑ ๋†’์•„์ง€๊ณ  ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ์˜ ์šฉ๋Ÿ‰์ด ํฌ๋ฉด ํด ์ˆ˜๋ก ์ด๋Ÿฐ ์œ„ํ—˜์„ฑ์ด ๋†’์€๋ฐ, CERN์˜ ์—ฐ๊ตฌ ๊ฒฐ๊ณผ์— ๋”ฐ๋ฅด๋ฉด 6๊ฐœ์›” ๋„˜๊ฒŒ 97PB์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ–ˆ์„ ๋•Œ ๊ทธ ์ค‘ ์•ฝ 128MB์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์™„์ „ํžˆ ๋ณ€์งˆ๋˜์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค.

ZFS์—์„œ๋Š” scrub ๋ช…๋ น์„ ์ œ๊ณตํ•˜๋Š”๋ฐ, ์ด ๋ช…๋ น์€ ๋””์Šคํฌ์˜ ๋ชจ๋“  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์™€ ๋ฐ์ดํ„ฐ์˜ ์ฒดํฌ์„ฌ์„ ๊ฒ€์‚ฌํ•ด ํ˜น์‹œ๋‚˜ ๋ฐœ์ƒํ–ˆ์„ ๋ณ€์งˆ์„ ๊ฐ์ง€ํ•œ๋‹ค. raidz, raidz2, mirror ๋“ฑ redundancy๋ฅผ ์ œ๊ณตํ•˜๋Š” vdev์—์„œ๋Š” scrub์œผ๋กœ Silent Corruption์ด ๊ฐ์ง€๋˜๋ฉด ๋‹จ์ˆœ ๊ฐ์ง€๋กœ ๋๋‚˜์ง€ ์•Š๊ณ  ์ž์ฒด์ ์œผ๋กœ ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ •์ •ํ•œ๋‹ค. scrub์€ ์—ฌํƒ€ ๋””์Šคํฌ ๊ฒ€์‚ฌ ๋„๊ตฌ์™€ ๋‹ฌ๋ฆฌ ๊ฒ€์‚ฌ ๋Œ€์ƒ์ธ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์˜คํ”„๋ผ์ธ์œผ๋กœ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†์ด ๋™์ž‘ ์ค‘์ธ ์ƒํƒœ ๊ทธ๋Œ€๋กœ ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋งŒ ์ด scrub ๋ช…๋ น์€ ๋ง ๊ทธ๋Œ€๋กœ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ ๊ฒ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฝค ๋งŽ์€ ์‹œ๊ฐ„์„ ์žก์•„๋จน๋Š”๋‹ค. ์˜ค๋ผํด์—์„œ๋Š” ๊ธฐ์—…์šฉ ๋“œ๋ผ์ด๋ธŒ์˜ ๊ฒฝ์šฐ ์ตœ์†Œ 1๋‹ฌ์— ํ•œ ๋ฒˆ, ์ผ๋ฐ˜ ๋“œ๋ผ์ด๋ธŒ์˜ ๊ฒฝ์šฐ ์ตœ์†Œ 1์ฃผ์— ํ•œ ๋ฒˆ์”ฉ scrub์„ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.

scrub ๋ช…๋ น์€ ๋น ๋ฅธ 256๋น„ํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ fletcher4๋ฅผ ์จ์„œ ์ฒดํฌ์„ฌ์„ ๊ฒ€์‚ฌํ•œ๋‹ค. ๋ฌผ๋ก  SHA-256 ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์“ฐ๋„๋ก ์ง€์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, fletcher4๋ณด๋‹จ ์†๋„๊ฐ€ ๋А๋ฆผ์„ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค. ๋ฌผ๋ก  ํ•ด์‹œ ํ•จ์ˆ˜์˜ ํŠน์„ฑ ์ƒ ์ฒดํฌ์„ฌ ๊ฒ€์‚ฌ๊ฐ€ ํ‹€๋ฆด ํ™•๋ฅ ์€ ์žˆ๋‹ค. ๋‹จ, 2^256ํšŒ์˜ ๊ฒ€์‚ฌ์ค‘ ํ•œ ๋ฒˆ. ์ด๋ฅผ ์†Œ์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋ฉด 0.00000000000000000000000000000000000000000000000000000000000000000000000000001%์ด๋‹ค. ์ฐธ๊ณ ๋กœ ์‹œ์žฅ์—์„œ ๊ฐ€์žฅ ์‹ ๋ขฐ์„ฑ ๋†’์€ Non-ECC RAM ๊ธฐ์ค€์œผ๋กœ, ๋ฉ”๋ชจ๋ฆฌ ์—๋Ÿฌ ๋ฐœ์ƒ๋ฅ ์€ ์ €๊ฒƒ๋ณด๋‹ค 50๋ฐฐ ๋” ๋นˆ๋„๊ฐ€ ๋†’๋‹ค. ๊ทธ ์ •๋„๋กœ ๋ชน์‹œ ๋‚ฎ์€ ํ™•๋ฅ ์ด๋ฏ€๋กœ ์•ˆ์‹ฌํ•˜์ž.

8. ๋‹จ์ [ํŽธ์ง‘]

ZFS๋Š” ์œ„์—์„œ ๋ณด์•˜๋“ฏ ํ˜„์กดํ•˜๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ตœ์ข… ๋ณด์Šค๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋Š” ์กด์žฌ์ง€๋งŒ, ๊ทธ๋ ‡๋‹ค๊ณ  ํ•ด์„œ ์žฅ์ ๋งŒ์ด ์กด์žฌํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

8.1. ์„œ๋ฒ„์šฉ ์žฅ๋น„ ๊ถŒ์žฅ[ํŽธ์ง‘]

์ด์ „์—” ECC ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ถŒ์žฅํ•œ๋‹ค๋Š” ํ•ญ๋ชฉ์ด ์žˆ์—ˆ์œผ๋‚˜, ์‹ค์ œ๋กœ๋Š” ZFS ์ž์ฒด๋Š” ECC๋ฅผ ๋”ฑํžˆ ํ•„์ˆ˜์ ์œผ๋กœ ์š”๊ตฌํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.
๋ฉ”๋ชจ๋ฆฌ ์ƒ์˜ ๋น„ํŠธ ํ”Œ๋ฆฝ์— ์˜ํ•œ ๋ฐ์ดํ„ฐ ์˜ค์—ผ๊ณผ scrub ์ž‘์—…์—์„œ ์ƒ๊ธฐ๋Š” ๋น„ํŠธ ํ”Œ๋ฆฝ์œผ๋กœ ์ธํ•œ 'scrub of death' ๊ฐ™์€ ๊ฒƒ์ด ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค๊ณ  ๋ช…์‹œ๋˜์–ด ์žˆ์—ˆ๋Š”๋ฐ, ์ด๋Š” ์‚ฌ์‹ค์ด ์•„๋‹Œ ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค.[1] ์•„๋‹Œ๊ฒŒ ์•„๋‹ˆ๋ผ ์ƒ์‹์ ์ธ ์ˆ˜์ค€์—์„œ๋„ 'scrub of death' ์‹œ๋‚˜๋ฆฌ์˜ค ์ด์™ธ์˜ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ๋Š” ZFS๋“  ์•„๋‹ˆ๋“  ECC ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋ฉด ๋ชจ๋‘ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ, ZFS๋ฅผ ์“ฐ๋Š” ๋ชฉ์ ์ด ๋ณดํ†ต์€ ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ(data integrity) ์œ ์ง€์ž„์„ ์ƒ๊ฐํ•˜๋ฉด, ZFS๊ฐ€ ECC๋ฅผ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์‚ฌ์šฉ ๋ชฉ์ ์ƒ ์„œ๋ฒ„์— ECC๊ฐ€ ์š”๊ตฌ๋˜๋Š” ๊ฒƒ์€ ๋งž๋‹ค.

๋˜ํ•œ ZFS์˜ ํŠน์„ฑ์ƒ Raidz์˜ ์—ฐ์‚ฐ์ด๋‚˜ ZFS์˜ ์—ฌ๋Ÿฌ ๊ธฐ์ œ๋“ค์ด ์ „์šฉ ์นฉ์ด ์•„๋‹Œ CPU์— ์˜์กดํ•˜๊ณ  ์žˆ์–ด์„œ ํผํฌ๋จผ์Šค๋ฅผ ์˜ฌ๋ฆฌ๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์€๋ฐ, ์ด๊ฑธ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๊ฐ•๋ ฅํ•œ CPU์™€ ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ, SSD ๋”ฐ์œ„๋ฅผ ์ถ”๊ฐ€๋กœ ํ•„์š”๋กœ ํ•œ๋‹ค. ์ด๋Š” ์—ฌ๋ถ„์˜ ์žฅ๋น„๋กœ NAS๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค. ์—ฌ๋ถ„์˜ ์žฅ๋น„๋ฅผ ์ด์šฉํ•ด ์‹ผ ๊ฐ’์œผ๋กœ NAS๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ ์ž ํ•˜๋Š”๋ฐ, ๊ฐ•๋ ฅํ•˜๊ณ  ์ƒˆ๋กœ์šด CPU๋‚˜ ECC ๋ฉ”๋ชจ๋ฆฌ, ECC ์ง€์› ๋ณด๋“œ๋ฅผ ์‚ฌ์•ผ ํ•œ๋‹ค๋ฉด ์›๋ž˜ ์ทจ์ง€์— ์™„์ „ํžˆ ๋ฐ˜ํ•˜๋Š” ์ผ์ด ๋˜๊ณ  ๋งˆ๋Š” ๊ฒƒ์ด๋‹ค. ๋ฌผ๋ก  ์ด๋Ÿฐ ์žฅ๋น„๋ฅผ ์—ฌ๋ถ„์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด ์ด์•ผ๊ธฐ๊ฐ€ ์ข€ ๋‹ค๋ฅด์ง€๋งŒ, ๊ทธ๋Ÿฐ ์‚ฌ๋žŒ๋“ค์ด ํ”ํ•  ๋ฆฌ๊ฐ€ ์žˆ๋‚˜. ์ด๋Ÿฐ ์กฐ๊ฑด์€ ZFS๋ฅผ ์ œ๋Œ€๋กœ ์จ๋จน์–ด๋ณด๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ๋ง‰๋Š” ์ง„์ž… ์žฅ๋ฒฝ์ด ๋œ๋‹ค.

8.1.1. ๋ฐ˜๋ก [ํŽธ์ง‘]

์ƒ์ˆ ํ–ˆ๋“ฏ ZFS๋Š” ์ œ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์กฐ๊ฑด์ด ๊ฐ–์ถฐ์ ธ ์žˆ์–ด์•ผ ํ•˜๋Š”๋ฐ
์‚ฌ์‹ค ์ด๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ™˜๊ฒฝ์„ ๊ธฐ์ค€ํ–ˆ์„๋•Œ์˜ ์ด์•ผ๊ธฐ๊ณ  ์–ด๋А์ •๋„ ํƒ€ํ˜‘๋ณธ๋‹ค๋ฉด ZFS๋Š” ํŠน์ •ํ•œ ํ•˜๋“œ์›จ์–ด๋ฅผ ์š”๊ตฌํ•˜๋Š” ํŒŒ์ผ์‹œ์Šคํ…œ์ด ์•„๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ๋“ค๋ฉด ๊ฐ•๋ ฅํ•œ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์Šคํ† ๋ฆฌ์ง€๋Š”
  • ๋‹ค์ˆ˜์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ 10k~15k SAS ๋””์Šคํฌ
  • ๋ฉ”๋ชจ๋ฆฌ์™€ ๋ฐฐํ„ฐ๋ฆฌ, ์ „์šฉ ์—ฐ์‚ฐ์นฉ์„ ๊ฐ€์ง„ SAS Raid Controller ํ˜น์€ ์ตœ์†Œํ•œ ๋””์Šคํฌ ์—”ํด๋กœ์ €๋ฅผ ์—ฐ๊ฒฐํ•  HBA
  • ํ‹ฐ์–ด1๊ธ‰์˜ NVMe

์ •๋„๊ฐ€ ๊ธฐ๋ณธ์— ์ถ”๊ฐ€๋กœ ๋‹ค์ˆ˜์˜ ์‚ฌ์šฉ์ž์™€ ํ”„๋กœํ† ์ฝœ[2]์„ ์ฒ˜๋ฆฌํ•  ๊ฐ•๋ ฅํ•œ ๋ฉ€ํ‹ฐ์ฝ”์–ด CPU์™€ ECC๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์ˆ˜์ ์ธ๋ฐ ZFS๋Š” ์ €๋Ÿฐ ๋น„์‹ผ ์žฅ๋น„๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  ์˜ค๋กœ์ง€ CPU, ๋ฉ”๋ชจ๋ฆฌ ๋‘๊ฐ€์ง€์— ์˜์กด์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ๋น„์šฉ์ ˆ๊ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์ฆ‰, ZFS๋Š”
  • ๋ณดํ†ต ์ˆ˜์‹ญ๋งŒ์›์”ฉ ํ•˜๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ 10k~15k SAS๋””์Šคํฌ ๋Œ€์‹  ํ”ํžˆ ๋ณด์ด๋Š” 7.2k SATA ๋””์Šคํฌ
  • ๋ณดํ†ต ์ˆ˜์‹ญ์—์„œ ๋ฐฑ๋งŒ์›๋Œ€๊นŒ์ง€ ์ฐ๋Š” SAS Raid Controller ๋Œ€์‹  ํ”ํ•˜๋”” ํ”ํ•œ ๋งˆ๋”๋ณด๋“œ์˜ ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ์™€ CPU
  • ๋ณดํ†ต ์ˆ˜์‹ญ์—์„œ ์ˆ˜๋ฐฑ๋งŒ์›๋Œ€๊นŒ์ง€ ์ฐ๋Š” ํ‹ฐ์–ด1๊ธ‰ NVMe ๋Œ€์‹  ์ฃผ๋ฉ”๋ชจ๋ฆฌ์™€ SATA SSD

ํ˜•ํƒœ๋กœ ์••๋„์ ์ธ ๋น„์šฉ์ ˆ๊ฐ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ด๋Ÿฐ์‹์œผ๋กœ ์ ˆ์•ฝ๋˜๋Š” ์ž๊ธˆ์„ ์šฉ๋Ÿ‰์ฆ๋Œ€ ํ˜น์€ ํผํฌ๋จผ์Šค ํ–ฅ์ƒ์„ ์œ„ํ•œ ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ์™€ SSD ๊ทธ๋ฆฌ๊ณ  ๋” ๊ฐ•๋ ฅํ•œ CPU ๊ตฌ์ž…์— ์žฌํˆฌ์ž ํ•˜๊ฑฐ๋‚˜ ๊ทธ๋ฆฌ ๋ถ€ํ•˜๊ฐ€ ํฌ์ง€ ์•Š๊ณ , ์„ฑ๋Šฅ๋„ ์ด๋Ÿฐ ์ €๋Ÿฐ ์ด์œ ๋กœ ๋งŽ์ด ์š”๊ตฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด[3] ZFS๋ฐ•์Šค๋„ ๊ฑฐ๊ธฐ์— ๋งž์ถฐ ์ถฉ๋ถ„ํ•œ ์„ฑ๋Šฅ์ด ๋‚˜์˜ค๋ฉด์„œ ์ €๋ ดํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ง€๊ณ  ๋ค์œผ๋กœ ๋‹ค๋ฅธ ํŒŒ์ผ ์‹œ์Šคํ…œ๋ณด๋‹ค ๋‚˜์€ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ์ฑ™๊ธธ ์ˆ˜ ์žˆ๋‹จ ์†Œ๋ฆฌ๋‹ค.
์ด๋Ÿฐ ์‚ฌ์‹ค์„ ๋‘๊ณ  ๋ณด๋ฉด ZFS๋Š” ๊ฒฐ์ฝ” ํ•˜๋“œ์›จ์–ด์ ์ธ ๋ฉด์—์„œ ์„œ๋ฒ„๊ธ‰์˜ ์žฅ๋น„๋ฅผ ํ•„์ˆ˜์ ์œผ๋กœ ์š”๊ตฌํ•˜๋Š” ํŒŒ์ผ์‹œ์Šคํ…œ์ด ์•„๋‹ˆ๋‹ค.

๋˜ํ•œ ์›Œํฌ์Šคํ…Œ์ด์…˜/์„œ๋ฒ„์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์“ฐ์ด๋Š” ๋ณ„๋„์˜ ํ•˜๋“œ์›จ์–ด Raid ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•ด Raid๋ฅผ ๊ตฌ์„ฑํ•˜๋Š”๊ฑด ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š”๋ฐ, ์ด๋Š” ZFS๊ฐ€ ๊ฐ€์ง„ ์˜ค๋ฅ˜ ๊ฒ€์ถœ/์ •์ • ๊ธฐ๋Šฅ๊ณผ ํ•˜๋“œ์›จ์–ด Raid ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์˜ค๋ฅ˜๊ฒ€์ถœ/์ •์ •์ด ์„œ๋กœ ์ถฉ๋Œ์„ ์ผ์œผํ‚ฌ ์šฐ๋ ค๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.[4] ๋ฌผ๋ก  ์ด๋Ÿฐ ๊ถŒ์žฅ์‚ฌํ•ญ์€ ์œ ์‚ฌํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ฐ€์ง„ Btrfs์™€ Refs๋„ ๋™์ผํ•˜๋‹ค.

8.2. ๋†’์€ RAM ์ ์œ ์œจ[ํŽธ์ง‘]

์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ARC๋Š” ๋ถ„๋ช… ZFS์˜ ๊ฐ•๋ ฅํ•œ ์žฅ์ ์ด์ง€๋งŒ ์—ญ์œผ๋กœ ZFS์˜ ์•ฝ์ ์œผ๋กœ๋„ ์ž‘์šฉํ•˜๋Š” ์–‘๋‚ ์˜ ๊ฒ€์ด๋‹ค. ARC๋Š” RAM์„ ์ ์œ ํ•˜๋ฉฐ ARC์˜ ํฌ๊ธฐ๋Š” ๋ณดํ†ต ZFS์— ํ• ๋‹น๋œ ํ•˜๋“œ ๋””์Šคํฌ ์šฉ๋Ÿ‰์˜ 1/1000 ์ •๋„ ํ˜น์€ ๊ทธ ์ดํ•˜๊ฐ€ ๋œ๋‹ค. FreeNAS์˜ ๊ฐœ๋ฐœ ์ฃผ์ฒด์ธ IX systems๋‚˜ ZFS์˜ ์› ๊ฐœ๋ฐœ์‚ฌ์ธ ์˜ค๋ผํด ๋“ฑ์—์„œ๋Š” ZFS๋Š” ๊ตณ์ด ๊ทธ ๋น„์œจ์„ ๋งž์ถ”์ง€ ์•Š์•„๋„ ์ž๋™์œผ๋กœ ARC์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•œ๋‹ค๊ณ  ๋งํ•˜๊ณ  ์žˆ๋‹ค. ๋‹ค๋งŒ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋“ฑ์ง€์—์„œ์˜ ์†์„ค ์ƒ์œผ๋กœ๋Š” ์ตœ์ ์˜ ์„ฑ๋Šฅ ๋ณด์žฅ์„ ์œ„ํ•ด์„œ๋Š” 1TB๋‹น ๋ฌด๋ ค ์ตœ์†Œ 1GB์˜ RAM์˜ ๋น„์œจ์„ ๋งž์ถœ ๊ฒƒ์„ ์š”๊ตฌํ•œ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งํ•ด ZFS์— ํ• ๋‹น๋œ ํ•˜๋“œ ๋””์Šคํฌ ์šฉ๋Ÿ‰์ด ์ด 24TB ์ •๋„๊ฐ€ ๋œ๋‹ค๋ฉด ZFS ์ „์šฉ์œผ๋กœ ์ตœ์†Œ 24GB์˜ RAM์„ ๊ฐ–์ถœ ๊ฒƒ์„ ๊ถŒํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค. ๋ฌผ๋ก  RAM์ด ์ถฉ๋ถ„ํžˆ ์ปค์„œ ARC๊ฐ€ ํฌ๋ฉด ํด์ˆ˜๋ก ์ข‹๋‹ค. ์บ์‹œ๊ฐ€ ์ปค์ง€๋ฉด ์ปค์งˆ์ˆ˜๋ก ์บ์‹œ ์ ์ค‘๋ฅ ์ด ์˜ค๋ฅด๊ณ , ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๊ฐ€์žฅ ๋น ๋ฅธ ๋งค์ฒด์ธ RAM ๋‹จ๊ณ„์—์„œ ๋ฐ์ดํ„ฐ์˜ ์ ‘๊ทผ์ด ๋๋‚˜๊ณ  ๊ฐ€์žฅ ๋А๋ฆฐ ํ•˜๋“œ ๋””์Šคํฌ๊นŒ์ง€ ์ง์ ‘ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋‹จ, ์ด๊ฒƒ์€ ์–ด๋””๊นŒ์ง€๋‚˜ ZFS์˜ ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ๋ฝ‘์•„๋‚ด๊ธฐ ์œ„ํ•ด์„œ ํ•„์š”ํ•œ ๊ถŒ์žฅ์‚ฌํ•ญ์ด๋‹ค. ๊ธฐ๊ฐ€๋น„ํŠธ ๋žœ ๋“ฑ์„ ํ†ตํ•ด์„œ ์ ‘์†ํ•˜๋Š” ํŒŒ์ผ ์„œ๋ฒ„์—์„œ ZFS๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒฝ์šฐ, ๊ธฐ๊ฐ€๋น„ํŠธ ์ „์†ก ๋Šฅ๋ ฅ๋งŒ ๋ฐœํœ˜ํ•˜๋ฉด ์ถฉ๋ถ„ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์œ„์˜ ๋žจ RAM ๊ถŒ์žฅ์‚ฌํ•ญ์„ ๋”ฐ๋ฅด์ง€ ์•Š๋”๋ผ๋„ 8GB ์ •๋„์˜ ๊ธฐ๋ณธ์ ์ธ RAM ๋งŒ ๊ฐ–์ถ”๋ฉด ์‚ฌ์šฉ์ž 5์ธ ์ดํ•˜ ์ˆ˜์ค€์˜ ํŒŒ์ผ์„œ๋ฒ„ ์šฉ๋„๋กœ๋Š” ์ถฉ๋ถ„ํ•˜๋‹ค. ํ™ˆ์„œ๋ฒ„ ๋“ฑ์˜ ์ œ์ž‘์„ ๊ณ ๋ คํ•˜๋Š” ์œ„ํ‚ค๋Ÿฌ๋Š” ์ฐธ๊ณ ํ•˜์ž.

๊ทธ๋ฆฌ๊ณ  ZFS์˜ ์žฅ์  ์ค‘ ํ•˜๋‚˜์ธ ๋žจ๋””์Šคํฌ ์บ์‹ฑ์„ ํ†ตํ•œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋“ค์˜ ์ ‘๊ทผ์†๋„ ํ–ฅ์ƒ์„ ํฌ๊ธฐํ•ด๋„ ๋˜๋Š” ํ™˜๊ฒฝ์ด๋ผ๋ฉด(ex: ์–ด์ฐจํ”ผ ๋žจ๋””์Šคํฌ ์บ์‹ฑ์ด ์˜๋ฏธ์—†๋Š” ๋Œ€์šฉ๋Ÿ‰ ์˜ํ™” ํŒŒ์ผ๋“ค์„ ๋ญ‰์ณ๋†“์€ ๊ฐœ์ธ ์„œ๋ฒ„๋ผ๋˜์ง€.), ๊ทน๋‹จ์ ์ผ ๊ฒฝ์šฐ ARC๋ฅผ ์•„์˜ˆ ์•ˆ์žก์•„๋ฒ„๋ฆฌ๋Š”, ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ, ์บ์‹ฑ ๊ธฐ๋Šฅ์„ ๊ฐ•์ œ๋กœ ๊บผ๋ฒ„๋ฆฌ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ RAM์„ ๋‹จ 1KB๋„ ์•ˆ ์žก์•„ ๋จน๋Š”๋‹ค. ๋Œ€์‹  ์„ฑ๋Šฅ์€ exFAT์ด๋‚˜ NTFS์™€ ๊ฐ™์€ ์ผ๋ฐ˜์ ์ธ ํŒŒ์ผ์‹œ์Šคํ…œ๊ณผ ๋น„์Šทํ•ด์ง„๋‹ค. ๋ฌผ๋ก  ์ด๋Ÿฌ๋ฉด ๊ตณ์ด ZFS๋ฅผ ์“ธ ๋‹น์œ„์„ฑ์€ ์ค„์–ด๋“ค์ง€๋งŒ, zpool ๊ฐœ๋…์ด๋ผ๋“ ์ง€ ๋“ฑ์—์„œ ๋น„๋กฏ๋˜๋Š” ๋‹ค๋ฅธ ์žฅ์ ๋„ ์žˆ์œผ๋‹ˆ, ์ด๋ถ€๋ถ„์€ ์–ด๋””๊นŒ์ง€๋‚˜ ๊ฐœ์ธ์˜ ๋‹ˆ์ฆˆ์— ๋งž๊ฒŒ ์„ค์ •ํ•˜๊ธฐ ๋‚˜๋ฆ„์ด๋‹ค.

8.3. ๋””์Šคํฌ ๋‹จํŽธํ™”๋กœ ์ธํ•œ ํผํฌ๋จผ์Šค ์ถ”๋ฝ [ํŽธ์ง‘]

๊ฝค ์˜ค๋ž˜๋œ ์ด์Šˆ์ค‘ ํ•˜๋‚˜๋กœ DBMS๋ฅผ ZFS์œ„์— ์‚ฌ์šฉํ•œ๋‹ค๊ฑฐ๋‚˜ ํ•˜๋Š” ๊ฒฝ์šฐ ๋‹จํŽธํ™”๋กœ ์ธํ•œ ํผํฌ๋จผ์Šค์˜ ๊ธ‰๋ฝ์ด ๋ณด๊ณ ๋˜์–ด ์žˆ๋‹ค.
๋ฌธ์ œ๋Š” ์ด๊ฑธ ํ•ด๊ฒฐํ•  ๋ณ„๋„์˜ ์กฐ๊ฐ๋ชจ์Œ ์†”๋ฃจ์…˜์ด๋ผ๋˜์ง€, DBMS๋งŒ์„ ์œ„ํ•œ ํŠน๋ณ„๋‚œ ๋™์ž‘ ๋ชจ๋“œ๋ผ๋˜์ง€ ์ด๋Ÿฐ๊ฒŒ ์ „ํ˜€ ์—†๋‹ค.
์›Œํฌ์–ด๋ผ์šด๋“œ๋กœ ์ „์ฒด ์šฉ๋Ÿ‰์˜ 1~2ํ• ์ •๋„๋Š” ํ•ญ์ƒ ๋‚จ๊ฒจ๋‘๋ž€ ๊ถŒ๊ณ  ์ •๋„๊ฐ€ ์ „๋ถ€์ธ ์ƒํ™ฉ.

์ผ๋ฐ˜์ ์ธ ํŒŒ์ผ์‹œ์Šคํ…œ์—์„œ์•ผ ๋ณ„ ์ƒ๊ด€์—†์ง€๋งŒ ์• ์ดˆ๋ถ€ํ„ฐ ๋ฏธ์…˜ ํฌ๋ฆฌํ‹ฐ์ปฌ์„ ๋ชฉํ‘œํ•˜๋Š”๊ฒŒ ์ด๋Ÿฐ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์‹œ์žฅ์ด๊ณ  ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์‹œ์žฅ์„ ํƒ€๊ฒŸ์œผ๋กœ ํŒ”๋ฆฌ๊ณ  ๊ฐœ๋ฐœ๋˜๋Š”๊ฒŒ ์†”๋ผ๋ฆฌ์Šค์™€ ZFS์ธ๋ฐ ์ด๋Ÿฐ ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ํƒ“์— DBMS๋ฅผ ์˜ฌ๋ฆฌ๋Š” ์šฉ๋„๋ก  ๊ถŒ์žฅํ•˜๊ธฐ ์–ด๋ ค์šด ์ƒํ™ฉ.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ ์—์„œ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค.

9. ํ˜„์žฌ ํฌํŒ…๋œ ์‹œ์Šคํ…œ[ํŽธ์ง‘]

9.1. ์†”๋ผ๋ฆฌ์Šค ๊ณ„์—ด[ํŽธ์ง‘]

10. FreeBSD ๊ณ„์—ด[ํŽธ์ง‘]

10.1. ๋ฆฌ๋ˆ…์Šค[ํŽธ์ง‘]

๋ผ์ด์„ผ์Šค ๋ฌธ์ œ๋กœ ์ธํ•˜์—ฌ[5] ZFS ์ง€์›์ด ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์†Œ์Šค์— ํฌํ•จ๋œ ์ ์€ ์—†๋‹ค. ํ•˜์ง€๋งŒ ์ปค๋„ ๋ชจ๋“ˆ ๋ฐ FUSE ๋“œ๋ผ์ด๋ฒ„ ํ˜•ํƒœ๋กœ๋Š” ํฌํŒ…์ด ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ๋ˆ…์Šค์—์„œ๋„ ZFS ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋˜ํ•œ, ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ๋ชฉํ‘œ๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ๋Š” Btrfs๊ฐ€ ์žˆ์–ด์„œ ๋ฏธ๋ž˜์˜ ZFS ๋Œ€ํ•ญ๋งˆ๋กœ ์ฃผ๋ชฉ๋˜๊ณ  ์žˆ๋‹ค.

10.1.1. ZFS-on-Linux[ํŽธ์ง‘]

ํ™ˆ ํŽ˜์ด์ง€
๋ฆฌ๋ˆ…์Šค ZFS ์ง€์›์šฉ ์ปค๋„ ๋ชจ๋“ˆ์ด๋‹ค. ์˜ค๋žซ๋™์•ˆ ์•ˆ์ •ํ™” ๋“ฑ์— ๊ฐœ๋ฐœ ์—ญ๋Ÿ‰์„ ์ง‘์ค‘ํ•˜๊ณ  ์žˆ์—ˆ์œผ๋‚˜, ๋ฌธ์ œ๊ฐ€ ์–ด๋А ์ •๋„ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€ zpool ๋ฒ„์ „์„ v5000 ์œผ๋กœ ์˜ฌ๋ฆฌ๋Š” ๋“ฑ ๊ธฐ๋Šฅ ํ™•์žฅ์—๋„ ์‹ ๊ฒฝ์“ฐ๊ณ  ์žˆ๋‹ค.

10.1.2. ์šฐ๋ถ„ํˆฌ[ํŽธ์ง‘]

16.04 LTS ๋ฒ„์ „๋ถ€ํ„ฐ ZFS ๊ฐ€ ์„ค์น˜ ์‹œ์ ๋ถ€ํ„ฐ ์ง€์›๋œ๋‹ค. ๋‹จ, ์ปค๋„์— ์ง์ ‘ ZFS ์ง€์›์„ ์ง‘์–ด๋„ฃ์€ ๊ฒƒ์€ ์•„๋‹ˆ๊ณ , ์ปค๋„ ๋ชจ๋“ˆ์„ ๊ธฐ๋ณธ ์„ค์น˜ ์˜ต์…˜์— ํฌํ•จ์‹œํ‚จ ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค. ๋‹ค๋งŒ ์ด๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ์ง€์›ํ•˜๋Š” ๊ฒƒ์ด ๋ผ์ด์„ผ์Šค ์œ„๋ฐ˜์ธ์ง€ ์•„๋‹Œ์ง€์— ๋Œ€ํ•ด์„œ ์ด๊ฒฌ์ด ์กด์žฌํ•˜๋Š” ์ƒํ™ฉ์ด๋‹ค.
์šฐ๋ถ„ํˆฌ ZFS ์ง€์› ๋ฐœํ‘œ ๋งํฌ
๋ผ์ด์„ผ์Šค ์ด์Šˆ ๊ด€๋ จ ๋งํฌ

11. ZFS๋ฅผ ์‚ฌ์šฉ ํ•˜๋Š” ์†”๋ฃจ์…˜[ํŽธ์ง‘]

11.1. FreeNAS[ํŽธ์ง‘]

ํ™ˆ ํŒŒ์ผ์„œ๋ฒ„๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๊ณต๊ฐœํ˜• NAS ์šด์˜์ฒด์ œ.
FreeBSD ๊ธฐ๋ฐ˜์ด๋‹ค.
๋‹ค์–‘ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•˜์—ฌ ๋ณตํ•ฉ ํ™ˆ ์„œ๋ฒ„ OS๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž ์žฌ๋ ฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ๋‹ค.

๊ณผ๊ฑฐ์—๋Š” ZFS ๋ฒ„์ „์ด v5000 ์ด๋ผ๋Š” ๋…์ž ๋ฒ„์ „์„ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— FreeNAS ์—์„œ ๋งŒ๋“  zpool ์„ ๋‹ค๋ฅธ ๊ณณ์—์„œ ๋งˆ์šดํŠธํ•˜๋Š” ๊ฒƒ์ด ๊นŒ๋‹ค๋กœ์› ๋‹ค.
๋‹จ, ๋‹ค๋ฅธ ๊ณณ์—์„œ ๋งŒ๋“  zpool ์„ FreeNAS ์—์„œ ๋งˆ์šดํŠธํ•˜๋Š” ๊ฒƒ์€ ๊ฐ€๋Šฅํ–ˆ๋‹ค.

ํ˜„์žฌ๋Š” FreeBSD, ZFS-on-Linux ๋“ฑ ๋‹ค๋ฅธ ZFS๋„ v5000 ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์–ด์„œ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋Š” ๋งŽ์ด ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค.

11.2. XigmaNAS[ํŽธ์ง‘]

FreeNAS ์˜ ํฌํฌ ๋ฒ„์ „.
ํฌํฌ๋ฒ„์ „์ด๋ผ๊ณ ๋Š” ํ•˜๋‚˜, ํฌํฌ ๋œ ์ง€ ์‹œ๊ฐ„์ด ๋งŽ์ด ํ˜๋Ÿฌ์„œ ํ˜„์žฌ๋Š” ํŠน์ƒ‰์ด ๋งŽ์ด ๋‹ฌ๋ผ์ง„ ์ƒํƒœ์ด๋‹ค.
FreeNAS ์™€ ๋น„๊ตํ•˜๋ฉด ํŒŒ์ผ ์„œ๋ฒ„๋กœ์„œ์˜ ๊ธฐ๋Šฅ์— ์ฃผ๋กœ ์ง‘์ค‘ํ•œ๋‹ค.

11.3. Nexenta[ํŽธ์ง‘]

๋ฏธ๊ตญ ์บ˜๋ฆฌํฌ๋‹ˆ์•„์˜ Nexenta๋ผ๋Š” ์Šคํƒ€ํŠธ์—…์—์„œ ์ œ๊ณตํ•˜๋Š” ZFS์„œ๋น„์Šค๋กœ, NexentaStor๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ํ†ตํ•ด ZFS์— ๋Œ€ํ•œ ๊ด€๋ฆฌ๋ฅผ Web GUI๋ฅผ ํ†ตํ•ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. ๋ผ์ด์„ผ์Šค๋Š” ๋Œ€๋ถ€๋ถ„ ๊ธฐ์—…์šฉ์œผ๋กœ ์ œ๊ณต๋˜์ง€๋งŒ, ํ•™์ƒ์˜ ๊ฒฝ์šฐ ํ•™๊ต ์ด๋ฉ”์ผ์„ ํ†ตํ•ด 30์ผ ๋ฌด๋ฃŒ Trial์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ  ์ด๋ฅผ Ubuntu๋“ฑ ๊ธฐํƒ€ VM์— ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ZFS์˜ zpool์ด๋‚˜ ์บ์‹œ, ๋กœ๊ทธ, hot spare๋“ฑ์˜ ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ZFS๋ฅผ ๋ณด๋‹ค ๋” ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ์—๋Š” ๊ฝค๋‚˜ ์ œ๊ฒฉ์ธ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

12. ์ฐธ๊ณ  ๋งํฌ[ํŽธ์ง‘]

[2] ๊ฐ€์ •์—์„œ ๋งŽ์ด ์“ฐ์ด๋Š” ์œˆ๋„ ํด๋”๊ณต์œ /์‚ฌ๋‚ด์—์„œ AD๋ฅผ ํ†ตํ•ด ํ”ํ•˜๊ฒŒ ์“ฐ์ด๋Š” CIFS์˜ ๊ฒฝ์šฐ ์ƒ๋‹นํžˆ ๊ฐ•๋ ฅํ•œ CPU๋ฅผ ์š”๊ตฌํ•œ๋‹ค
[3] ์ผ๋ฐ˜์ ์ธ ๊ฐ€์ •๋‚ด ํ™˜๊ฒฝ์—์„  ์Šค์œ„์น˜/๋ผ์šฐํ„ฐ/ap ์„ฑ๋Šฅ ํ•œ๊ณ„์ƒ ๋‚ด๋ถ€๋ง์ž์ฒด๊ฐ€ 1๊ธฐ๊ฐ€๋น— ํ˜น์€ ์ˆ˜๋ฐฑ ๋ฉ”๊ฐ€๋น— ํ™˜๊ฒฝ์ด๋ฉฐ, ์™ธ๋ถ€๋ง์€ ๋‹น์—ฐํžˆ ์ž˜๋‚˜๋ด์•ผ 1๊ธฐ๊ฐ€๋น— ํ™˜๊ฒฝ์ด๋‹ค. ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ™˜๊ฒฝ์ฒ˜๋Ÿผ ์ˆ˜์‹ญ ๊ธฐ๊ฐ€๋น— FC๋ง์ด๊ฑฐ๋‚˜ lacp๋กœ ํšŒ์„  ๋ฌถ์–ด์“ฐ๋Š” ํ™˜๊ฒฝ์ด ์•„๋‹ˆ๋‹ค
[5] ์›๋ž˜ ๊ณต๊ฐœ๋˜์—ˆ๋˜ OpenZFS ์˜ ๋ผ์ด์„ผ์Šค๋Š” CDDL v1.0 ์ด๋ฉฐ, ์ด๋Š” ๋ฆฌ๋ˆ…์Šค ์ปค๋„์˜ ๋ผ์ด์„ผ์Šค์ธ GPL v2์™€ ์ƒํ˜ธํ˜ธํ™˜๋˜์ง€ ์•Š๋Š”๋‹ค. ์ฆ‰ ํ˜„์žฌ๋กœ์„œ๋Š” ๋ฆฌ๋ˆ…์Šค ์ปค๋„์— ZFS ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•œ ๊ฒฐ๊ณผ๋ฌผ์„ ํ•ฉ๋ฒ•์ ์œผ๋กœ ๋ฐฐํฌํ•  ๋ฐฉ๋ฒ•์ด ์—†๋‹ค.