๋ณธ๋ฌธ์œผ๋กœ ์ด๋™

NILFS

์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „.
NILFS
๊ฐœ๋ฐœ์‚ฌ์ผ๋ณธ์ „์‹ ์ „ํ™” ์‚ฌ์ด๋ฒ„ ๊ณต๊ฐ„ ์—ฐ๊ตฌ์†Œ
์ •์‹ ๋ช…์นญNew Implementation of a Log-structured File System
๋„์ž…2005๋…„(21๋…„ ์ „)(2005) - ๋ฆฌ๋ˆ…์Šค ์ปค๋„ 2.6.13
๊ตฌ์กฐ
ํŒŒ์ผ ํ• ๋‹นB ํŠธ๋ฆฌ
์ œ์•ฝ์‚ฌํ•ญ
์ตœ๋Œ€ ๋ณผ๋ฅจ ํฌ๊ธฐ8 EiB
์ตœ๋Œ€ ํŒŒ์ผ ํฌ๊ธฐ8 EiB
์ตœ๋Œ€ ํŒŒ์ผ ์ด๋ฆ„ ๊ธธ์ด255 bytes
๊ธฐ๋Šฅ
๋‚ ์งœ ์‚ฌ์šฉ ๊ถŒํ•œatime (์˜ˆ์ •)
๋‚ ์งœ ์ •๋ฐ€๋„64๋น„ํŠธ ์˜จ๋””์Šคํฌ ํƒ€์ž„์Šคํƒฌํ”„
ํŠน์„ฑPOSIX, ํ™•์žฅ ์†์„ฑ ๊ณ„ํš ์žˆ์Œ
ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ถŒํ•œPOSIX, ACL ๊ณ„ํš ์žˆ์Œ[1]
ํˆฌ๋ช…ํ•œ ์••์ถ•์•„๋‹ˆ์š”
ํˆฌ๋ช…ํ•œ ์•”ํ˜ธํ™”์•„๋‹ˆ์š”
์นดํ”ผ ์˜จ ๋ผ์ดํŠธ์˜ˆ
๊ธฐํƒ€
์ง€์› ์šด์˜ ์ฒด์ œ๋ฆฌ๋ˆ…์Šค ์ปค๋„, (NetBSD๋Š” ์ฝ๊ธฐ ์ „์šฉ)

NILFS ๋˜๋Š” NILFS2(New Implementation of a Log-structured File System)๋Š” ๋ฆฌ๋ˆ…์Šค ์ปค๋„์šฉ ๋กœ๊ทธ ๊ตฌ์กฐํ™” ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ตฌํ˜„์ด๋‹ค. ์ผ๋ณธ์ „์‹ ์ „ํ™” (NTT) ์‚ฌ์ด๋ฒ„์ŠคํŽ˜์ด์Šค ์—ฐ๊ตฌ์†Œ์™€ ์ „ ์„ธ๊ณ„ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ๊ฐœ๋ฐœํ–ˆ๋‹ค. NILFS๋Š” GNU ์ผ๋ฐ˜ ๊ณต์ค‘ ์‚ฌ์šฉ ํ—ˆ๊ฐ€์„œ (GPL) ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ถœ์‹œ๋˜์—ˆ๋‹ค.

์„ค๊ณ„

[ํŽธ์ง‘]

"NILFS๋Š” ์ €์žฅ ๋งค์ฒด๋ฅผ ์›ํ˜• ๋ฒ„ํผ์ฒ˜๋Ÿผ ์ทจ๊ธ‰ํ•˜๊ณ  ์ƒˆ ๋ธ”๋ก์€ ํ•ญ์ƒ ๋์— ๊ธฐ๋ก๋˜๋Š” ๋กœ๊ทธ ๊ตฌ์กฐํ™” ํŒŒ์ผ ์‹œ์Šคํ…œ์ด๋‹ค. [...] ๋กœ๊ทธ ๊ตฌ์กฐํ™” ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์›จ์–ด ๋ ˆ๋ฒจ๋ง์„ ์ˆ˜ํ–‰ํ•˜๋ฏ€๋กœ ํ”Œ๋ž˜์‹œ ๋ฏธ๋””์–ด์— ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค. [...] NILFS๋Š” ์Šค๋ƒ…์ƒท์„ ๊ฐ•์กฐํ•œ๋‹ค. ๋กœ๊ทธ ๊ตฌ์กฐํ™” ๋ฐฉ์‹์€ ํŠน์ • ํ˜•ํƒœ์˜ ์นดํ”ผ ์˜จ ๋ผ์ดํŠธ ๋™์ž‘์ด๋ฏ€๋กœ ํŒŒ์ผ ์‹œ์Šคํ…œ ์Šค๋ƒ…์ƒท ์ƒ์„ฑ์— ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ ํ•ฉํ•˜๋‹ค. NILFS ๊ฐœ๋ฐœ์ž๋Š” ์‚ฌ์šฉ์ž ์‹œ์ž‘ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ฌธ์ œ์—์„œ ๋ณต๊ตฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” "์—ฐ์† ์Šค๋ƒ…์ƒท" ์ƒ์„ฑ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•œ๋‹ค. [...]"[2]

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

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

NILFS๊ฐ€ ์ง€์†์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” "์ฆ‰๊ฐ์ ์ธ ์ƒํƒœ"๋Š” ์‹ค์ œ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์ฝ๊ธฐ-์“ฐ๊ธฐ ๋ฐฉ์‹์œผ๋กœ ๋งˆ์šดํŠธ๋œ ๊ฒƒ๊ณผ ๋™์‹œ์— ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ๋งˆ์šดํŠธ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ํ•˜๋“œ์›จ์–ด ์˜ค๋ฅ˜ ๋ฐ ๊ธฐํƒ€ ์‹œ์Šคํ…œ ์ถฉ๋Œ ํ›„ ๋ฐ์ดํ„ฐ ๋ณต๊ตฌ์— ์œ ์šฉํ•˜๋‹ค. ๋Œ€ํ™”ํ˜• NILFS "๊ฒ€์‚ฌ" ์œ ํ‹ธ๋ฆฌํ‹ฐ์˜ "lscp"(์ฒดํฌํฌ์ธํŠธ ๋‚˜์—ด) ๋ช…๋ น์€ ๋จผ์ € ์ฒดํฌํฌ์ธํŠธ ์ฃผ์†Œ(์ด ๊ฒฝ์šฐ "2048")๋ฅผ ์ฐพ๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

# inspect /dev/sda2
...
nilfs> listcp
   1     6 Tue Jul 12 14:55:57 2005 MajorCP|LogiBegin|LogiEnd
2048  2352 Tue Jul 12 14:55:58 2005 MajorCP|LogiEnd
...
nilfs> quit

์ฒดํฌํฌ์ธํŠธ ์ฃผ์†Œ๋Š” ์ฒดํฌํฌ์ธํŠธ๋ฅผ ๋งˆ์šดํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

# mount -t nilfs -r -o cp=2048 /dev/sda2 /nilfs-cp
# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2             70332412   8044540  62283776  12% /nilfs
/dev/sda2             70332412   8044540  62283776  12% /nilfs-cp

๊ธฐ๋Šฅ

[ํŽธ์ง‘]

NILFS๋Š” ์—ฐ์† ์Šค๋ƒ…์ƒท ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์ „์ฒด ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋ฒ„์ „ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ์™ธ์—๋„ ์‚ฌ์šฉ์ž๋Š” ์‹ค์ˆ˜๋กœ ๋ฎ์–ด์“ฐ๊ฑฐ๋‚˜ ์‚ญ์ œํ•œ ํŒŒ์ผ์„ ์–ธ์ œ๋“ ์ง€ ์ตœ๊ทผ ์‹œ์ ์œผ๋กœ ๋ณต์›ํ•  ์ˆ˜ ์žˆ๋‹ค. NILFS๋Š” ๊ธฐ์กด LFS์ฒ˜๋Ÿผ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‹œ์Šคํ…œ ์ถฉ๋Œ ํ›„ ๋น ๋ฅธ ๋ณต๊ตฌ๋ฅผ ๋‹ฌ์„ฑํ•œ๋‹ค.

์—ฐ์† ์Šค๋ƒ…์ƒท ๊ธฐ๋Šฅ์€ ์‹œ์  ์Šค๋ƒ…์ƒท์„ ์ง€์›ํ•˜๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ(์˜ˆ: Btrfs)์„ ํฌํ•จํ•˜์—ฌ ๋Œ€๋ถ€๋ถ„์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ์ œ๊ณต๋˜์ง€ ์•Š๋Š”๋‹ค.

NILFS๋Š” ๋ช‡ ์ดˆ๋งˆ๋‹ค ๋˜๋Š” ๋™๊ธฐ ์“ฐ๊ธฐ ๊ธฐ์ค€์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค(๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์—†๋Š” ๊ฒฝ์šฐ๋Š” ์ œ์™ธ). ์‚ฌ์šฉ์ž๋Š” ์ง€์†์ ์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ์ฒดํฌํฌ์ธํŠธ ์ค‘์—์„œ ์ค‘์š”ํ•œ ๋ฒ„์ „์„ ์„ ํƒํ•˜๊ณ  ์ด๋ฅผ ์Šค๋ƒ…์ƒท์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์Šค๋ƒ…์ƒท์€ ์ฒดํฌํฌ์ธํŠธ๋กœ ๋‹ค์‹œ ๋ณ€๊ฒฝ๋  ๋•Œ๊นŒ์ง€ ๋ณด์กด๋œ๋‹ค.

๋ณผ๋ฅจ์ด ๊ฐ€๋“ ์ฐฐ ๋•Œ๊นŒ์ง€ ์Šค๋ƒ…์ƒท ์ˆ˜์—๋Š” ์ œํ•œ์ด ์—†๋‹ค. ๊ฐ ์Šค๋ƒ…์ƒท์€ ์ฝ๊ธฐ ์ „์šฉ ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ ๋งˆ์šดํŠธํ•  ์ˆ˜ ์žˆ๋‹ค. ์“ฐ๊ธฐ ๊ฐ€๋Šฅํ•œ ๋งˆ์šดํŠธ ๋ฐ ๋‹ค๋ฅธ ์Šค๋ƒ…์ƒท๊ณผ ๋™์‹œ์— ๋งˆ์šดํŠธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๊ธฐ๋Šฅ์€ ์‚ฌ์šฉ ์ค‘์— ์ผ๊ด€๋œ ๋ฐฑ์—…์„ ๋งŒ๋“œ๋Š” ๋ฐ ํŽธ๋ฆฌํ•˜๋‹ค.

NILFS์˜ ๊ฐ€๋Šฅํ•œ ์šฉ๋„๋Š” ๋ฒ„์ „ ๊ด€๋ฆฌ, ๋ณ€์กฐ ๊ฐ์ง€, SOX ๊ทœ์ • ์ค€์ˆ˜ ๋กœ๊น…, ๋ฐ์ดํ„ฐ ์†์‹ค ๋ณต๊ตฌ ๋“ฑ์ด๋‹ค.

ํ˜„์žฌ NILFS์˜ ์ฃผ์š” ๋ฒ„์ „์€ ๋ฒ„์ „ 2์ด๋ฉฐ NILFS2๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค. NILFS2๋Š” ์—ฌ๋Ÿฌ ์Šค๋ƒ…์ƒท์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ํšŒ์ˆ˜ํ•˜๊ธฐ ์œ„ํ•œ ์˜จ๋ผ์ธ ์“ฐ๋ ˆ๊ธฐ ์ˆ˜์ง‘์„ ๊ตฌํ˜„ํ•œ๋‹ค.

๋‹ค๋ฅธ NILFS ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • B ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ํŒŒ์ผ ๋ฐ ์•„์ด๋…ธ๋“œ ๊ด€๋ฆฌ.
  • ์‹œ์Šคํ…œ ์ถฉ๋Œ ํ›„ ์ฆ‰์‹œ ๋ณต๊ตฌ.
  • 64๋น„ํŠธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ; ๋งŽ์€ ํŒŒ์ผ, ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ๋ฐ ๋””์Šคํฌ ์ง€์›.
  • 2038๋…„ ๋ฌธ์ œ๋กœ๋ถ€ํ„ฐ ์ž์œ ๋กœ์šด 64๋น„ํŠธ ์˜จ๋””์Šคํฌ ํƒ€์ž„์Šคํƒฌํ”„.

ํ˜„์žฌ ์ƒํƒœ

[ํŽธ์ง‘]

๋ฌธ์ œ์ 

[ํŽธ์ง‘]

2023๋…„ ํ˜„์žฌ NILFS๋Š” ์ „์šฉ ์ผ๊ด€์„ฑ ๊ฒ€์‚ฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ(fsck)๊ฐ€ ์—†์–ด ์œ ํšจํ•œ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ์ฐพ์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜๋กœ๋ถ€ํ„ฐ ๋ณต๊ตฌํ•  ์ˆ˜ ์—†๋‹ค.[4][5]

์ง€์› ๊ธฐ๋Šฅ

[ํŽธ์ง‘]
  • ๊ธฐ๋ณธ POSIX ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ธฐ๋Šฅ
  • ์Šค๋ƒ…์ƒท
    • ์ž๋™์œผ๋กœ ์ง€์†์ ์œผ๋กœ ์ƒ์„ฑ๋จ
    • ๋ณผ๋ฅจ์ด ๊ฐ€๋“ ์ฐฐ ๋•Œ๊นŒ์ง€ ์Šค๋ƒ…์ƒท ์ˆ˜์— ์ œํ•œ ์—†์Œ
    • ์ฝ๊ธฐ ์ „์šฉ ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ ๋งˆ์šดํŠธ ๊ฐ€๋Šฅ
    • ์“ฐ๊ธฐ ๊ฐ€๋Šฅํ•œ ๋งˆ์šดํŠธ์™€ ๋™์‹œ์— ๋งˆ์šดํŠธ ๊ฐ€๋Šฅ (์‚ฌ์šฉ ์ค‘ ์ผ๊ด€๋œ ๋ฐฑ์—… ์ƒ์„ฑ์— ํŽธ๋ฆฌํ•จ)
    • ๋น ๋ฅธ ๋ชฉ๋ก ์ƒ์„ฑ
  • ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์“ฐ๋ ˆ๊ธฐ ์ˆ˜์ง‘ (GC)
    • ์—ฌ๋Ÿฌ ์Šค๋ƒ…์ƒท ์œ ์ง€ ๊ฐ€๋Šฅ
    • ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๋ฐ๋ชฌ์— ์˜ํ•ด ์ œ๊ณต๋˜๋Š” GC ์ •์ฑ… ์„ ํƒ ๊ฐ€๋Šฅ
  • ๋งˆ์šดํŠธ ์‹œ ๋น ๋ฅธ ์ถฉ๋Œ ๋ณต๊ตฌ
  • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํŒŒ์ผ ๋ฐ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ฏธ๋ฆฌ ์ฝ๊ธฐ
  • ํŽ˜์ด์ง€ ํฌ๊ธฐ๋ณด๋‹ค ์ž‘์€ ๋ธ”๋ก ํฌ๊ธฐ (์˜ˆ: 1ย KB ๋˜๋Š” 2ย KB)
  • ์˜จ๋ผ์ธ ํฌ๊ธฐ ์กฐ์ • (Linux-3.x ๋ฐ nilfs-utils 2.1๋ถ€ํ„ฐ)
  • ๊ด€๋ จ ์œ ํ‹ธ๋ฆฌํ‹ฐ (์„ธํ‚ค๋ฐ” ์ง€๋กœ ๊ธฐ์—ฌ)
    • grub2
    • Util-linux (blkid, libblkid, uuid ๋งˆ์šดํŠธ)
    • udisks, palimpsest
    • ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ ˆ์ด๋ธ” (nilfs-tune)

์ถ”๊ฐ€ ๊ธฐ๋Šฅ

[ํŽธ์ง‘]
  • ๋น ๋ฅธ ์“ฐ๊ธฐ ๋ฐ ๋ณต๊ตฌ ์‹œ๊ฐ„
  • ํ•˜๋“œ์›จ์–ด ์˜ค๋ฅ˜ ์‹œ ํŒŒ์ผ ๋ฐ์ดํ„ฐ ๋ฐ ์‹œ์Šคํ…œ ์ผ๊ด€์„ฑ์— ๋Œ€ํ•œ ์ตœ์†Œํ•œ์˜ ์†์ƒ
  • ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋Š” 64๋น„ํŠธ ์›Œ๋“œ ํฌ๊ธฐ๋กœ ์ฒ˜๋ฆฌ๋จ
  • ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ์ €์žฅ ๊ฐ€๋Šฅ (8 EiB)

ํ˜ธํ™˜์„ฑ

[ํŽธ์ง‘]

NILFS๋Š” ์•„์น˜ ๋ฆฌ๋ˆ…์Šค,[8] ๋ฐ๋น„์•ˆ[9] (๋ฒ„์ „ 5.0๋ถ€ํ„ฐ), ํŽ˜๋„๋ผ, ์  ํˆฌ,[10] ๋ฆฌ๋ˆ…์Šค ๋ฏผํŠธ, NixOS, ์šฐ๋ถ„ํˆฌ (๋ฒ„์ „ 9.10๋ถ€ํ„ฐ) ๋“ฑ ๋‹ค์–‘ํ•œ GNU/๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ nilfs-utils ๋˜๋Š” nilfs-tools ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค. NILFS๊ฐ€ ํฌํ•จ๋œ ๋ถ€ํŒ… CD๋Š” PrRescue์—์„œ๋„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ GParted์™€ ๊ฐ™์€ ํŒŒํ‹ฐ์…˜ ํŽธ์ง‘ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋„ ์ง€์›๋œ๋‹ค.[11]

๋ณ„๋„์˜ BSD ๋ผ์ด์„ ์Šค ๊ตฌํ˜„์€ ํ˜„์žฌ '์ฝ๊ธฐ ์ „์šฉ' ์ง€์›๊ณผ ํ•จ๊ป˜ NetBSD์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.[12]

์ƒ๋Œ€์  ์„ฑ๋Šฅ

[ํŽธ์ง‘]

2015๋…„ 1์›” Linux.conf.au์—์„œ ๋ฐœํ‘œ๋œ SD ์นด๋“œ ๋ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์–ธ๊ธ‰๋˜์—ˆ๋‹ค.[13]

โ€œ ์ง€์—ฐ ์‹œ๊ฐ„์— ๋ฏผ๊ฐํ•œ ์ž‘์—… ๋ถ€ํ•˜๊ฐ€ ์žˆ๋‹ค๋ฉด NILFS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜๋ฆฌ๋Ÿ‰์— ๋ฏผ๊ฐํ•œ ์ž‘์—… ๋ถ€ํ•˜๊ฐ€ ์žˆ๋‹ค๋ฉด F2FS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ€
ย 
โ€” ํ”ผํ„ฐ ์ฒ˜๋ธŒ
โ€œ NILFS2๋Š” F2FS๋‚˜ EXT4๋ณด๋‹ค ๋งŽ์€ ์ž‘์€ ํŒŒ์ผ์˜ ๊ฒฝ์šฐ์— ํ›จ์”ฌ ๋” ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. โ€
ย 
โ€” ํ”ผํ„ฐ ์ฒ˜๋ธŒ

๋ผ์ด์„ ์Šค

[ํŽธ์ง‘]

NILFS2 ํŒŒ์ผ ์‹œ์Šคํ…œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” GNU ์ผ๋ฐ˜ ๊ณต์ค‘ ์‚ฌ์šฉ ํ—ˆ๊ฐ€์„œ ๋ฒ„์ „ 2์— ๋”ฐ๋ผ ์ œ๊ณต๋˜๋ฉฐ, lib/nilfs ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ•ด๋‹น ํ—ค๋” ํŒŒ์ผ์€ GNU ์•ฝ์†Œ ์ผ๋ฐ˜ ๊ณต์ค‘ ์‚ฌ์šฉ ํ—ˆ๊ฐ€์„œ ๋ฒ„์ „ 2.1์— ๋”ฐ๋ผ ์ œ๊ณต๋œ๋‹ค.

๊ฐœ๋ฐœ์ž

[ํŽธ์ง‘]

NTT Corporation ์—ฐ๊ตฌ์†Œ์—์„œ ์ผํ–ˆ๊ฑฐ๋‚˜ ํ˜„์žฌ ์ผํ•˜๊ณ  ์žˆ๋Š” nilfs-utils์˜ ์ผ๋ณธ์ธ ์ฃผ์š” ์ €์ž ๋ฐ ์ฃผ์š” ๊ธฐ์—ฌ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ๊ณ ๋‹ˆ์‹œ ๋ฅ˜์Šค์ผ€ (์ฃผ์š” ๊ด€๋ฆฌ์ž, 2008๋…„ 2์›” ~ ํ˜„์žฌ)
  • ์‚ฌํ†  ์ฝ”์ง€
  • ๊ฐ€๋ฏธ๋ฌด๋ผ ๋‚˜๋ฃจํžˆ์ฝ”
  • ๊ธฐํ•˜๋ผ ์„ธ์ด์ง€
  • ์•„๋งˆ๊ฐ€์ด ์š”์‹œ์ง€
  • ํžˆํ›„๋ฏธ ํžˆ์‚ฌ์‹œ ๋ฐ
  • ๋ชจ๋ฆฌ์•„์ด ์‚ฌํ† ์‹œ.

๋‹ค๋ฅธ ์ฃผ์š” ๊ธฐ์—ฌ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ์•ˆ๋“œ๋ ˆ์•„์Šค ๋กœ๋„ˆ[14]
  • ๋Œ„ ๋งฅ๊ธฐ
  • ๋ฐ์ด๋น„๋“œ ์•„๋ ŒํŠธ
  • ๋ฐ์ด๋น„๋“œ ์Šค๋ฏธ๋“œ
  • ๋ฑ์„ผ ๋“œ๋ธŒ๋ฆฌ์Šค
  • ๋“œ๋ฏธํŠธ๋ฆฌ ์Šค๋ฏธ๋ฅด๋…ธํ”„
  • ์—๋ฆญ ์ƒŒ๋”˜
  • ์„ธํ‚ค๋ฐ” ์ง€๋กœ
  • ๋งˆํ…Œ์˜ค ํ”„๋ฆฌ๋„
  • ๋ฏธํƒ€์ผ€ ํžˆํ† ์‹œ
  • ์ด์™€์ด ํƒ€์นด์‹œ
  • ๋ฑŒ์ฒด์Šฌ๋ผํ”„ ๋‘๋ฒ ์ด์ฝ”

๊ฐ™์ด ๋ณด๊ธฐ

[ํŽธ์ง‘]

๊ฐ์ฃผ

[ํŽธ์ง‘]

์™ธ๋ถ€ ๋งํฌ

[ํŽธ์ง‘]