Cisco, Linux ์ปค๋„์šฉ PuzzleFS ํŒŒ์ผ ์‹œ์Šคํ…œ ์ถœ์‹œ

Cisco๋Š” Rust๋กœ ์ž‘์„ฑ๋œ Linux ์ปค๋„์šฉ ๋ชจ๋“ˆ๋กœ ๊ตฌํ˜„๋œ ์ƒˆ๋กœ์šด ํŒŒ์ผ ์‹œ์Šคํ…œ์ธ PuzzleFS๋ฅผ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค. FS๋Š” ๊ฒฉ๋ฆฌ๋œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ Atomfs FS์—์„œ ์ œ์•ˆ๋œ ์•„์ด๋””์–ด๋ฅผ ๊ณ„์† ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ๊ตฌํ˜„์€ ์•„์ง ํ”„๋กœํ† ํƒ€์ž… ๋‹จ๊ณ„์— ์žˆ์œผ๋ฉฐ, Rust-next Linux ์ปค๋„ ๋ธŒ๋žœ์น˜๋ฅผ ์‚ฌ์šฉํ•œ ๋นŒ๋“œ๋ฅผ ์ง€์›ํ•˜๊ณ , Apache 2.0 ๋ฐ MIT ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๊ณต๊ฐœ๋ฉ๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ๋Š” OCI(Open Container Initiative) ํ˜•์‹์˜ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ œํ•œ ์‚ฌํ•ญ์„ ์šฐํšŒํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. PuzzleFS๋Š” ์ค‘๋ณต ๋ฐ์ดํ„ฐ์˜ ํšจ์œจ์ ์ธ ์ €์žฅ, ์ง์ ‘ ๋งˆ์šดํŠธ ๊ธฐ๋Šฅ, ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ์ด๋ฏธ์ง€ ๊ตฌ์ถ• ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์„œ๋กœ ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋ฐ˜๋ณต๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต ์ œ๊ฑฐ๋ฅผ ์œ„ํ•ด FastCDC(Fast Content-Defined Chunking) ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž„์˜ ํฌ๊ธฐ์˜ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ์ฒ˜๋ฆฌ๋œ ์กฐ๊ฐ์˜ ํ•ด์‹œ๋กœ ์ธ๋ฑ์Šค๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ณต ์กฐ๊ฐ์€ ํ•œ ๋ฒˆ ์ €์žฅ๋˜๊ณ  ๋ชจ๋“  FS ๋ ˆ์ด์–ด์— ๋Œ€ํ•ด ๊ณต๋™์œผ๋กœ ์ธ๋ฑ์‹ฑ๋ฉ๋‹ˆ๋‹ค. ์ค‘๋ณต ์ œ๊ฑฐ๋Š” ๋‹ค์–‘ํ•œ ๋งˆ์šดํŠธ ์ง€์ ์„ ํฌ๊ด„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ธฐ์กด ๋ ˆ์ด์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ FS ๋ ˆ์ด์–ด๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์ค‘๋ณต ์ œ๊ฑฐ ์ค‘์— ๊ทธ ์•ˆ์˜ ๋ฐ์ดํ„ฐ ์กฐ๊ฐ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ).

์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ์กฐํ•ฉ์€ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ํ˜•์‹์˜ ํ‘œ์ค€ ํ‘œํ˜„ ์ •์˜๋ฅผ ํ†ตํ•ด ๋‹ฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ง์ ‘ ๋งˆ์šดํŠธ(์ง์ ‘ ๋งˆ์šดํŠธ)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ ๋งค๋‹ˆํŽ˜์ŠคํŠธ์˜ ์ฝ˜ํ…์ธ  ํ•ด์‹œ๋ฅผ ์‹๋ณ„์ž๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋จผ์ € ์••์ถ•์„ ํ’€์ง€ ์•Š๊ณ ๋„ ์ „์—ญ ๊ณต์œ  ์Šคํ† ๋ฆฌ์ง€์—์„œ OCI ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๋งˆ์šดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. fs-verity ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ํŒŒ์ผ์— ์•ก์„ธ์Šคํ•  ๋•Œ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ธ๋ฑ์Šค์— ์ง€์ •๋œ ํ•ด์‹œ๊ฐ€ ์‹ค์ œ ์ฝ˜ํ…์ธ ์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ณต์œ  ์ €์žฅ์†Œ ์‚ฌ์šฉ ์กฐ๊ฑด์—์„œ ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ํ™•์ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Rust ์–ธ์–ด๋Š” ๊ฒฐ๊ณผ ์ฝ”๋“œ์˜ ๊ณ ์„ฑ๋Šฅ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „ ๊ธฐ๋Šฅ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์„ ํƒ๋˜์—ˆ์œผ๋ฉฐ, ์ด๋Š” ํ•ด์ œ ํ›„ ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค ๋ฐ ๋ฒ„ํผ ์˜ค๋ฒ„๋Ÿฐ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ์ทจ์•ฝ์ ์˜ ์œ„ํ—˜์„ ์ค„์ž…๋‹ˆ๋‹ค. ์ปค๋„ ๋ชจ๋“ˆ์— Rust๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ปค๋„ ๋ฐ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๊ตฌ์„ฑ ์š”์†Œ์—์„œ ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•˜์—ฌ ๋‹จ์ผ ๋ณด์•ˆ ๊ตฌํ˜„์„ ๋งŒ๋“œ๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ์˜ ๋‹ค๋ฅธ ๋ชฉํ‘œ์—๋Š” ๋งค์šฐ ๋น ๋ฅธ ์ด๋ฏธ์ง€ ๋นŒ๋“œ ๋ฐ ๋งˆ์šดํŠธ, ์ด๋ฏธ์ง€ ์ •๊ทœํ™”๋ฅผ ์œ„ํ•œ ์„ ํƒ์  ์ค‘๊ฐ„ ๋‹จ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ, ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์„ ํƒ์  mtree ์Šคํƒ€์ผ FS ํŠธ๋ฆฌ ํƒ์ƒ‰, casync ์Šคํƒ€์ผ ๋ณ€๊ฒฝ ๋ฐ ์‰ฌ์šด ์ž‘์—…์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. - ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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