Linus Torvalds๋Š” Linux ์ปค๋„์šฉ ZFS ๊ตฌํ˜„๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋ฅผ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

Linux ํ”„๋กœ์ ํŠธ์˜ ZFS์™€ ๊ด€๋ จํ•˜์—ฌ Linus๋Š” CDDL ๋ฐ GPLv2 ๋ผ์ด์„ผ์Šค์˜ ๋น„ํ˜ธํ™˜์„ฑ์œผ๋กœ ์ธํ•ด zfs ๋ชจ๋“ˆ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ƒํ™ฉ์€ Oracle์˜ ๋ผ์ด์„ผ์Šค ์ •์ฑ…์œผ๋กœ ์ธํ•ด ZFS๊ฐ€ ๊ธฐ๋ณธ ์ปค๋„์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์ด ๋งค์šฐ ๋‚ฎ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ปค๋„ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์™ธ๋ถ€ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ผ์ด์„ผ์Šค ๋น„ํ˜ธํ™˜์„ฑ์„ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ์ œ์•ˆ๋œ ๊ณ„์ธต์€ ๋ชจํ˜ธํ•œ ํ•ด๊ฒฐ์ฑ…์ž…๋‹ˆ๋‹ค. ๋ณ€ํ˜ธ์‚ฌ๋“ค์€ ๊ณ„์†ํ•ฉ๋‹ˆ๋‹ค ๋…ผ์Ÿํ•˜๋‹ค ๋ž˜ํผ๋ฅผ ํ†ตํ•ด GPL ์ปค๋„ ๊ธฐ๋Šฅ์„ ๋‹ค์‹œ ๋‚ด๋ณด๋‚ด๋ฉด GPL์— ๋”ฐ๋ผ ๋ฐฐํฌ๋˜์–ด์•ผ ํ•˜๋Š” ํŒŒ์ƒ ์ž‘์—…์ด ์ƒ์„ฑ๋˜๋Š”์ง€ ์—ฌ๋ถ€์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Linus๊ฐ€ ZFS ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ณธ ์ปค๋„์— ์ ์šฉํ•˜๋Š” ๋ฐ ๋™์˜ํ•˜๋Š” ์œ ์ผํ•œ ์˜ต์…˜์€ Oracle๋กœ๋ถ€ํ„ฐ ๊ณต์‹ ํ—ˆ๊ฐ€๋ฅผ ์–ป์–ด ์ฃผ์š” ๋ณ€ํ˜ธ์‚ฌ์˜ ์ธ์ฆ์„ ๋ฐ›๊ฑฐ๋‚˜ Larry Ellison์ด ์ง์ ‘ ์ธ์ฆํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ง€์  ์žฌ์‚ฐ์— ๊ด€ํ•œ Oracle์˜ ๊ณต๊ฒฉ์ ์ธ ์ •์ฑ…์„ ๊ณ ๋ คํ•  ๋•Œ ์ปค๋„๊ณผ ZFS ์ฝ”๋“œ ์‚ฌ์ด์˜ ๊ณ„์ธต๊ณผ ๊ฐ™์€ ์ค‘๊ฐ„ ์†”๋ฃจ์…˜์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(์˜ˆ: ์žฌํŒ Java API์™€ ๊ด€๋ จํ•˜์—ฌ Google๊ณผ ํ˜‘๋ ฅ) ๋˜ํ•œ Linus๋Š” ZFS๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ์š•๊ตฌ๊ฐ€ ๊ธฐ์ˆ ์  ์ด์ ์ด ์•„๋‹Œ ํŒจ์…˜์— ๋Œ€ํ•œ ์ฐฌ์‚ฌ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. Linus๊ฐ€ ์กฐ์‚ฌํ•œ ๋ฒค์น˜๋งˆํฌ๋Š” ZFS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฉฐ ์™„์ „ํ•œ ์ง€์›์ด ๋ถ€์กฑํ•˜์—ฌ ์žฅ๊ธฐ์ ์ธ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ZFS ์ฝ”๋“œ๋Š” GPLv2์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ฌด๋ฃŒ CDDL ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋˜๋ฉฐ, GPLv2 ๋ฐ CDDL ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ์ฝ”๋“œ๋ฅผ ํ˜ผํ•ฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— Linux์˜ ZFS๊ฐ€ Linux ์ปค๋„์˜ ์ฃผ์š” ๋ถ„๊ธฐ์— ํ†ตํ•ฉ๋˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ›์•„ ๋“ค์ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ผ์ด์„ผ์Šค ๋น„ํ˜ธํ™˜์„ฑ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด Linux ํ”„๋กœ์ ํŠธ์˜ ZFS๋Š” ์ปค๋„๊ณผ ๋ณ„๋„๋กœ ์ œ๊ณต๋˜๋Š” ๋ณ„๋„๋กœ ๋กœ๋“œ๋œ ๋ชจ๋“ˆ ํ˜•ํƒœ์˜ CDDL ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ์ „์ฒด ์ œํ’ˆ์„ ๋ฐฐํฌํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์„ฑ ZFS ๋ชจ๋“ˆ์„ ๋ฐฐํฌ ํ‚คํŠธ์˜ ์ผ๋ถ€๋กœ ๋ฐฐํฌํ•  ๊ฐ€๋Šฅ์„ฑ์€ ๋ณ€ํ˜ธ์‚ฌ๋“ค ์‚ฌ์ด์—์„œ ๋…ผ๋ž€์˜ ์—ฌ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. SFC(Software Freedom Conservancy)์˜ ๋ณ€ํ˜ธ์‚ฌ ๊ณ ๋ คํ•˜๋‹ค๋ฐฐํฌํŒ์—์„œ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ปค๋„ ๋ชจ๋“ˆ์„ ์ „๋‹ฌํ•˜๋ฉด ๊ฒฐ๊ณผ ์ž‘์—…์ด GPL์— ๋”ฐ๋ผ ๋ฐฐํฌ๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ํ•จ๊ป˜ GPL๊ณผ ๊ฒฐํ•ฉ๋œ ์ œํ’ˆ์ด ํ˜•์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ •์‹ ๋ณ€ํ˜ธ์‚ฌ ๋™์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์ปค๋„ ํŒจํ‚ค์ง€์™€ ๋ณ„๋„๋กœ ๋…๋ฆฝํ˜• ๋ชจ๋“ˆ๋กœ ์ œ๊ณต๋˜๋Š” ๊ฒฝ์šฐ zfs ๋ชจ๋“ˆ์˜ ์ „๋‹ฌ์ด ํ—ˆ์šฉ๋œ๋‹ค๋Š” ์ ์„ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค. Canonical์€ ๋ฐฐํฌํŒ์ด NVIDIA ๋“œ๋ผ์ด๋ฒ„์™€ ๊ฐ™์€ ๋…์  ๋“œ๋ผ์ด๋ฒ„๋ฅผ ๊ณต๊ธ‰ํ•˜๊ธฐ ์œ„ํ•ด ์˜ค๋žซ๋™์•ˆ ์œ ์‚ฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด ์™”๋‹ค๊ณ  ์ง€์ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์ชฝ์—์„œ๋Š” ๋…์  ๋“œ๋ผ์ด๋ฒ„์˜ ์ปค๋„ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ GPL ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋œ ์ž‘์€ ๋ ˆ์ด์–ด๋ฅผ ์ œ๊ณตํ•จ์œผ๋กœ์จ ํ•ด๊ฒฐ๋œ๋‹ค๊ณ  ๋ฐ˜๋ฐ•ํ•ฉ๋‹ˆ๋‹ค(GPL ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ฅธ ๋ชจ๋“ˆ์€ ์ด๋ฏธ ๋…์  ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋กœ๋“œํ•˜๋Š” ์ปค๋„์— ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค). ZFS์˜ ๊ฒฝ์šฐ Oracle์—์„œ ๋ผ์ด์„ผ์Šค ์˜ˆ์™ธ๊ฐ€ ์ œ๊ณต๋˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์ด๋Ÿฌํ•œ ๊ณ„์ธต์„ ์ค€๋น„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Oracle Linux์—์„œ GPL๊ณผ์˜ ๋น„ํ˜ธํ™˜์„ฑ์€ Oracle์ด CDDL์— ๋”ฐ๋ผ ๊ฒฐํ•ฉ๋œ ์ž‘์—…์— ๋Œ€ํ•œ ๋ผ์ด์„ผ์Šค ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ œ๊ฑฐํ•˜๋Š” ๋ผ์ด์„ผ์Šค ์˜ˆ์™ธ๋ฅผ ์ œ๊ณตํ•จ์œผ๋กœ์จ ํ•ด๊ฒฐ๋˜์ง€๋งŒ ์ด ์˜ˆ์™ธ๋Š” ๋‹ค๋ฅธ ๋ฐฐํฌํŒ์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฐฐํฌํŒ์— ๋ชจ๋“ˆ์˜ ์†Œ์Šค ์ฝ”๋“œ๋งŒ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋ฒˆ๋“ค๋ง์œผ๋กœ ์ด์–ด์ง€์ง€ ์•Š๊ณ  ๋‘ ๊ฐœ์˜ ๋ณ„๋„ ์ œํ’ˆ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ๋ฐ๋น„์•ˆ์—์„œ๋Š” ์ด๋ฅผ ์œ„ํ•ด DKMS(Dynamic Kernel Module Support) ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ๋ชจ๋“ˆ์€ ์†Œ์Šค์ฝ”๋“œ๋กœ ์ œ๊ณต๋˜์–ด ํŒจํ‚ค์ง€ ์„ค์น˜ ์งํ›„ ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ์— ์กฐ๋ฆฝ๋œ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€