์‚ฌ์–‘

์‚ฌ์–‘

FSR(File Sync Replicator)์˜ ์›ํ™œํ•œ ๋™์ž‘์„ ์œ„ํ•ด ์š”๊ตฌ๋˜๋Š” ํ”Œ๋žซํผ, ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค, ๊ทธ๋ฆฌ๊ณ  ๋ณต์ œ ์ง€์› ๋ฒ”์œ„์— ๋Œ€ํ•œ ์ƒ์„ธ ์‚ฌ์–‘์„ ๊ธฐ์ˆ ํ•ฉ๋‹ˆ๋‹ค. ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค ์šด์˜์„ ์œ„ํ•ด ์•„๋ž˜ ๊ถŒ์žฅ ์‚ฌ์–‘์„ ์ค€์ˆ˜ํ•˜์—ฌ ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜์‹ญ์‹œ์˜ค.

ํ”Œ๋žซํผ ๋ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ

FSR์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ™˜๊ฒฝ์˜ ์ฃผ์š” ์šด์˜์ฒด์ œ์™€ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

ย 

์ง€์› ์šด์˜์ฒด์ œ (OS)

  • Windows: Windows Server 2012 x64 ์ด์ƒ

  • Linux:

    • CentOS 7.x ์ด์ƒ

    • Ubuntu 18.04 LTS x64 ์ด์ƒ

    • (๊ธฐํƒ€ x86/x64 ํ˜ธํ™˜ ์ฃผ์š” ๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ)

ย 

์ง€์› ํŒŒ์ผ ์‹œ์Šคํ…œ

  • Windows: NTFS, ReFS

  • Linux: ext ๊ณ„์—ด (ext3, ext4), xfs

  • ๋ฏธ์ง€์›: FAT/FAT32 ๋“ฑ ๊ตฌํ˜• ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


ย 

ํ•˜๋“œ์›จ์–ด ์š”๊ตฌ ์‚ฌํ•ญ

์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ๊ณผ I/O ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์†Œ ๋ฐ ๊ถŒ์žฅ ํ•˜๋“œ์›จ์–ด ์‚ฌ์–‘์ž…๋‹ˆ๋‹ค.

ย 

CPU

  • ์•„ํ‚คํ…์ฒ˜: x86/x64 ํ˜ธํ™˜ ํ”„๋กœ์„ธ์„œ

  • ์‚ฌ์–‘: ์ตœ์†Œ 2GHz ํด๋Ÿญ, 4 Core ์ด์ƒ ๊ถŒ์žฅ

  • ์„œ๋น„์Šค ์˜ํ–ฅ๋„ (CPU Usage):

    • ์ผ๋ฐ˜ ๋ณต์ œ ์‹œ: ์‹ค์‹œ๊ฐ„ ํŒŒ์ผ ์ด๋ฒคํŠธ ๊ฐ์ง€ ๋ฐ ์ „์†ก ์‹œ ํ‰๊ท  5% ์ด๋‚ด์˜ CPU ์ ์œ ์œจ์„ ์œ ์ง€ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์šด์˜ ์„œ๋ฒ„์˜ ๋ฉ”์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ์ตœ์ ํ™”๋œ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค.

    • ๋™๊ธฐํ™” ์‹œ: ์ดˆ๊ธฐ ๊ตฌ์ถ•์ด๋‚˜ ์žฅ์•  ํ›„ ์žฌ์—ฐ๊ฒฐ ์‹œ ์ง„ํ–‰๋˜๋Š” ์ „์ฒด ๋น„๊ต ๋™๊ธฐํ™”(Full Sync) ๋‹จ๊ณ„์—์„œ๋Š” 10% ๋‚ด์™ธ์˜ CPU ์ž์›์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์ˆ˜์˜ ํŒŒ์ผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ต ๋ถ„์„ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ผ์‹œ์ ์œผ๋กœ ์‚ฌ์šฉ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, ์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ์„ ํ•ด์น˜์ง€ ์•Š๋Š” ๋ฒ”์œ„ ๋‚ด์—์„œ ์Šค์ผ€์ค„๋ง๋ฉ๋‹ˆ๋‹ค.

    • ์ตœ์ ํ™” ๊ธฐ๋Šฅ: CPU ๋ถ€ํ•˜๊ฐ€ ์šฐ๋ ค๋˜๋Š” ์ €์‚ฌ์–‘ ํ™˜๊ฒฝ์—์„œ๋Š” ์—”์ง„ ์„ค์ •์„ ํ†ตํ•ด ๋™๊ธฐํ™” ์†๋„๋ฅผ ์กฐ์ ˆํ•˜๊ฑฐ๋‚˜, ํŠน์ • ์‹œ๊ฐ„๋Œ€์—๋งŒ ๊ฐ€๋™ํ•˜๋„๋ก ์„ค์ •ํ•˜์—ฌ ์ž์› ์ ์œ ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ย 

๋ฉ”๋ชจ๋ฆฌ (RAM)

๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์„ฑ์€ ์‹œ์Šคํ…œ ์šด์˜ ์˜์—ญ๊ณผ ๋ณต์ œ ๋ฒ„ํผ ์˜์—ญ์œผ๋กœ ๋‚˜๋‰˜๋ฉฐ, ๊ฐ ์šฉ๋„์— ๋งž๋Š” ์ถฉ๋ถ„ํ•œ ๋ฆฌ์†Œ์Šค ํ™•๋ณด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  1. ์‹œ์Šคํ…œ ๊ถŒ์žฅ ๋ฉ”๋ชจ๋ฆฌ

  • ๊ธฐ๋ณธ ์šฉ๋Ÿ‰: ์ตœ์†Œ 4GB ์ด์ƒ

  • ๊ฐ€์šฉ ์šฉ๋Ÿ‰: ์ „์ฒด ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ 30% ์ด์ƒ ์—ฌ์œ  ๊ณต๊ฐ„ ํ™•๋ณด ๊ถŒ์žฅ

์ฃผ์˜: ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ์— ๋”ฐ๋ฅธ I/O ์„ฑ๋Šฅ ์ €ํ•˜ ์šด์˜์ฒด์ œ๋Š” ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•ด์งˆ ๊ฒฝ์šฐ, ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ ํ™•๋ณด๋ฅผ ์œ„ํ•ด ๋””์Šคํฌ๋ฅผ ํ™œ์šฉํ•˜๋Š” ํŽ˜์ด์ง•(Paging/Swapping) ๊ธฐ๋ฒ•์„ ๊ฐ€๋™ํ•ฉ๋‹ˆ๋‹ค.

ํŽ˜์ด์ง•์ด ๋ฐœ์ƒํ•˜๋ฉด ๋””์Šคํฌ ์ฝ๊ธฐ/์“ฐ๊ธฐ ์ž‘์—…์ด ๊ธ‰์ฆํ•˜์—ฌ I/O ๋ณ‘๋ชฉ ํ˜„์ƒ(Disk Thrashing)์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋””์Šคํฌ ์ž์›์„ ํ•„์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” FSR์˜ ๋ณต์ œ ์„ฑ๋Šฅ์— ์‹ฌ๊ฐํ•œ ์ง€์—ฐ์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด ํŽ˜์ด์ง•์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ์ถฉ๋ถ„ํ•œ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ์—ฌ์œ  ๊ณต๊ฐ„์„ ์ƒ์‹œ ํ™•๋ณดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋ณต์ œ์šฉ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ (Memory Buffer)

๋กœ์ปฌ I/O ๋ถ€ํ•˜๋ฅผ ์™„์ถฉํ•˜๊ณ  ์ „์†ก ํšจ์œจ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ ๋ฒ„ํผ ํฌ๊ธฐ ์‚ฐ์ • ๊ณต์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Buffer Size = Max Bandwidth(/sec) * Timeout(sec)

  • ์‚ฐ์ • ์˜ˆ์‹œ (1Gbps ๋Œ€์—ญํญ ๊ธฐ์ค€):

    • ๋Œ€์—ญํญ: 100MB/s (์•ฝ 1Gbps)

    • ํƒ€์ž„์•„์›ƒ: 5s

    • ๊ณ„์‚ฐ: 100MB/s * 5s = 500MB

    • ๊ถŒ์žฅ ์„ค์ •: ๊ณ„์‚ฐ๊ฐ’์˜ ์—ฌ์œ ๋ฅผ ๋‘์–ด 500MB ~ 1GB๋กœ ์„ค์ •

  1. WAN ๊ตฌ๊ฐ„ (DR) ๊ตฌ์„ฑ ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ

  • DRX ๋ฒ„ํผ๋ง: WAN ๊ตฌ๊ฐ„์˜ ๋„คํŠธ์›Œํฌ ๋ณ€๋™์„ฑ์— ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด DRX ์—ฐ๋™ ๊ธฐ๋Šฅ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฒ„ํผ ํ™•์žฅ: DRX ๋ฏธ์‚ฌ์šฉ ์‹œ, ์œ„ ์‚ฐ์ • ๊ณต์‹์˜ 2~3๋ฐฐ๋กœ ๋ฒ„ํผ๋ฅผ ํ™•์žฅํ•˜๊ฑฐ๋‚˜ ํŒŒ์ผ ๋ฒ„ํผ(File Buffer) ์‚ฌ์šฉ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฒ„ํผ ๋ธ”๋กœํŠธ(Bufferbloat) ์ฃผ์˜: WAN ๊ตฌ๊ฐ„ ๋Œ€์—ญํญ ๋Œ€๋น„ ๋ฒ„ํผ ํฌ๊ธฐ๋ฅผ ๊ณผ๋„ํ•˜๊ฒŒ ํฌ๊ฒŒ ์„ค์ •ํ•  ๊ฒฝ์šฐ, ๋ฒ„ํผ์— ์Œ“์ธ ๋ฐ์ดํ„ฐ ์ž์ฒด๊ฐ€ ๋ณ‘๋ชฉ์„ ์œ ๋ฐœํ•˜์—ฌ ์ง€์—ฐ(Latency)์ด ์‹ฌํ™”๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์— ๋งž์ถฐ ์ ์ • ํฌ๊ธฐ๋กœ ํŠœ๋‹ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.


ย 

๋””์Šคํฌ ๋ฐ ์Šคํ† ๋ฆฌ์ง€

์„ค์น˜ ๋ฐ ์šด์˜์„ ์œ„ํ•œ ๋””์Šคํฌ ๊ณต๊ฐ„ ์š”๊ตฌ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.

๊ตฌ๋ถ„

ํ•„์š” ์šฉ๋Ÿ‰ / ์„ค๋ช…

๊ธฐ๋ณธ ์„ค์น˜

์•ฝ 2GB (์„ค์น˜ ํŒŒ์ผ, ์—”์ง„, ์„ฑ๋Šฅ ๋กœ๊ทธ ๋“ฑ)

๋””๋ฒ„๊ทธ ๋กœ๊ทธ

๋ฆฌ์†Œ์Šค ๋‹น ์•ฝ 110MB ์ถ”๊ฐ€ ํ•„์š”

ํŒŒ์ผ ๋ฒ„ํผ

๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ ๋ถ€์กฑ ์‹œ ๋””์Šคํฌ๋ฅผ ๋ฒ„ํผ๋กœ ์‚ฌ์šฉ. ์„ค์ •ํ•œ ํฌ๊ธฐ๋งŒํผ ๋””์Šคํฌ ๊ณต๊ฐ„ ์ ์œ .

์Šค๋ƒ…์ƒท (๋ฐฑ์—…)

์™ธ๋ถ€ ๋””์Šคํฌ: ๋ฐ์ดํ„ฐ ๋””์Šคํฌ ์šฉ๋Ÿ‰๋งŒํผ์˜ ๋ณ„๋„ ๋””์Šคํฌ ์ค€๋น„ ํ•„์š”

๋‚ด๋ถ€ ๋””์Šคํฌ: ๋ฐ์ดํ„ฐ ๋””์Šคํฌ ๋‚ด ์ถฉ๋ถ„ํ•œ ์—ฌ์œ  ๊ณต๊ฐ„ ํ™•๋ณด ํ•„์š”

ํŒŒ์ผ ๋ฒ„ํผ (File Buffer) ํŠน์„ฑ

  • ์šฉ๋„: ๋ฉ”๋ชจ๋ฆฌ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ถ€์กฑํ•  ๋•Œ ์ผ๋ฐ˜ ํŒŒ์ผ์„ ๋ฒ„ํผ๋กœ ํ™œ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

  • ์„ฑ๋Šฅ ์˜ํ–ฅ: ๋ฉ”๋ชจ๋ฆฌ ๋Œ€๋น„ I/O ์†๋„๊ฐ€ ๋А๋ฆฌ๋ฏ€๋กœ ์ „์ฒด ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ ค๋ฉด ํŒŒ์ผ ๋ฒ„ํผ ์ „์šฉ ๋””์Šคํฌ ๋ณผ๋ฅจ ๊ตฌ์„ฑ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

  • ํฌ๊ธฐ ์„ค์ •: ํ†ต์ƒ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ ์‚ฐ์ • ํฌ๊ธฐ์˜ 5 ~ 10๋ฐฐ ์ˆ˜์ค€์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.


๋ณต์ œ ์ง€์› ๋ฒ”์œ„

FSR์ด ์ง€์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์œ ํ˜•๊ณผ ์ œ์™ธ๋˜๋Š” ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์ƒ์„ธ ์ •์˜์ž…๋‹ˆ๋‹ค.\

๋””์Šคํฌ ๊ฒฝ๋กœ

  • ๋กœ์ปฌ ๋””์Šคํฌ(Local Disk) ๊ฒฝ๋กœ

  • NAS(NFS, CIFS) ๋“ฑ์˜ ์›๊ฒฉ ๋งˆ์šดํŠธ ๊ฒฝ๋กœ๋Š” ์‹ค์‹œ๊ฐ„ ๋ณต์ œ๊ฐ€ ์•„๋‹Œ '์ฃผ๊ธฐ์  ๋™๊ธฐํ™”' ๋ฐฉ์‹์„ ํ†ตํ•ด ๋ฐฑ์—…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ย 

ํŒŒ์ผ ์œ ํ˜• ๋ฐ ์†์„ฑ

  1. ์ง€์› ํŒŒ์ผ ์œ ํ˜•

  • ์ผ๋ฐ˜ ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ

  • ๋งํฌ ํŒŒ์ผ (Soft Link, Junction, Reparse Point)

  • ์ŠคํŒŒ์Šค ํŒŒ์ผ (Sparse File), ์••์ถ•/์•”ํ˜ธํ™” ํŒŒ์ผ

  • ํŠน์ˆ˜ ํŒŒ์ผ: NTFS ADS(Alternate Data Stream), NTFS TxF(Transaction File)

  1. ๋ณต์ œ ์ œ์™ธ ๋Œ€์ƒ (์ฃผ์˜)

์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด OS ๊ตฌ๋™๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ์€ ๋ณต์ œ ๋Œ€์ƒ์—์„œ ์ œ์™ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • OS ์‹œ์Šคํ…œ ํŒŒ์ผ, ๋“œ๋ผ์ด๋ฒ„ ํŒŒ์ผ, ์Šค์™‘(Swap/Page) ํŒŒ์ผ

  • OS ์„ค์น˜ ๊ฒฝ๋กœ (์˜ˆ: C:\Windows, /boot, /proc ๋“ฑ)

๊ฒฝ๊ณ : ์‹œ์Šคํ…œ ํŒŒ์ผ์„ ๋ณต์ œ ๋Œ€์ƒ์œผ๋กœ ์ง€์ •ํ•  ๊ฒฝ์šฐ ์‹œ์Šคํ…œ ํ–‰, ํŒจ๋‹‰ ๋“ฑ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๋งํฌ(Link) ํŒŒ์ผ ์ฒ˜๋ฆฌ ์ •์ฑ…

  • ๊ธฐ๋ณธ ๋™์ž‘: FSR์€ ๋งํฌ ํŒŒ์ผ ์ž์ฒด๋งŒ ๋ณต์ œํ•˜๋ฉฐ, ๋งํฌ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์›๋ณธ ๋Œ€์ƒ(Target)์€ ๋ณต์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ์™ธ๋ถ€ ๋งํฌ: ๋งํฌ๊ฐ€ ๋ณต์ œ ์„ค์ • ๊ฒฝ๋กœ ์™ธ๋ถ€๋ฅผ ๊ฐ€๋ฆฌํ‚ฌ ๊ฒฝ์šฐ, ํ•ด๋‹น ๋งํฌ์˜ ์›๋ณธ ๋ฐ์ดํ„ฐ๋Š” ๋ณต์ œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ๊นŒ์ง€ ๋ณต์ œ๋ฅผ ์›ํ•œ๋‹ค๋ฉด ํ•ด๋‹น ๊ฒฝ๋กœ๋ฅผ ๋ณต์ œ ๋Œ€์ƒ์— ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.(๋งํฌ๋กœ ์ง€์ •ํ•˜์ง€ ๋ง๊ณ )

  • ํ•˜๋“œ๋งํฌ(Hard Link) ์ œ์•ฝ: ํ•˜๋“œ๋งํฌ๊ฐ€ ๋ณต์ œ ๊ฒฝ๋กœ ๋‚ด/์™ธ๋ถ€์— ๊ฑธ์ณ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ์™ธ๋ถ€ ํ•˜๋“œ๋งํฌ๋ฅผ ํ†ตํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ FSR์ด ์ถ”์ ํ•  ์ˆ˜ ์—†์–ด ๋ฐ์ดํ„ฐ ๋ถˆ์ผ์น˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ๊ฒฝ๋กœ๋ฅผ ๋ณต์ œ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ํ•˜๋“œ๋งํฌ์˜ ์œ ๋ฌด๋ฅผ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • FSR ์€ ์ด์™€ ๊ฐ™์€ ์ƒํ™ฉ์— ๋Œ€๋น„ํ•˜์—ฌ ๋ณต์ œ ๊ฒฝ๋กœ ๋ถ„์„ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋Œ€์ƒ ๊ฒฝ๋กœ ๋‚ด์˜ ๋งํฌ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์œ ์šฉํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ย 

ํŒŒ์ผ ์†์„ฑ ๋ฐ ๊ถŒํ•œ

  • ์ง€์› ์†์„ฑ: ์ฝ๊ธฐ ์ „์šฉ, ์ˆจ๊น€, ์‹œ์Šคํ…œ, ์•„์นด์ด๋ธŒ, ์••์ถ•, ์•”ํ˜ธํ™” ๋“ฑ ํ‘œ์ค€ ์†์„ฑ.

  • ์‹œ๊ฐ„ ์†์„ฑ: ์ˆ˜์ • ์‹œ๊ฐ„(mtime)๋งŒ ๋ณต์ œ๋ฉ๋‹ˆ๋‹ค. (์ ‘๊ทผ ์‹œ๊ฐ„ ๋“ฑ์€ ๋ณต์ œ ์ œ์™ธ)

  • ๋ณด์•ˆ ์†์„ฑ (ACL): ์†Œ์Šค ํŒŒ์ผ์˜ ๋ณด์•ˆ ์‹๋ณ„์ž(SID, UID/GID)๋ฅผ ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค.

    • ์ฐธ๊ณ : ์†Œ์Šค์™€ ํƒ€๊นƒ ์„œ๋ฒ„์˜ ๋ณด์•ˆ ๊ณ„์ • ์ฒด๊ณ„๊ฐ€ ๋‹ค๋ฅผ ๊ฒฝ์šฐ, ๋ณต์ œ ํ›„ ํƒ€๊นƒ ์„œ๋ฒ„์—์„œ ๊ถŒํ•œ ์žฌ์„ค์ •(๋งคํ•‘) ์ž‘์—…์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Windows ํŠน์ • ์ œ์™ธ ์†์„ฑ:

    • ์žฅ์น˜/๊ฐ€์ƒ ํŠน์„ฑ (FILE_ATTRIBUTE_DEVICE, VIRTUAL)

    • OneDrive ๊ด€๋ จ ์†์„ฑ (RECALL_ON_OPEN, PINNED ๋“ฑ)


I/O ์ง€์› ๋ฐ ์šด์˜ ๋ฐฉ์‹

I/O ์ฒ˜๋ฆฌ ์œ ํ˜•

Windows ๋ฐ Linux์˜ ํ‘œ์ค€/ํŠน์ˆ˜ I/O๋ฅผ ํญ๋„“๊ฒŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • ์ผ๋ฐ˜: Buffered I/O, Direct I/O, Memory Mapped I/O

  • Linux ํŠน์ˆ˜: AIO, Writev, Splice I/O, uring I/O

    • Splice I/O ์„ฑ๋Šฅ ์ฐธ๊ณ : Linux Splice I/O๋Š” Zero-copy ๊ธฐ๋ฐ˜์˜ ๊ณ ์† ์ „์†ก ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. FSR์ด ์ด๋ฅผ ์บก์ฒ˜ํ•˜์—ฌ ๋ณต์ œํ•  ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ ์‚ฌ๋ณธ ์ƒ์„ฑ ๊ณผ์ •์œผ๋กœ ์ธํ•ด ๋ถˆ๊ฐ€ํ”ผํ•˜๊ฒŒ ์˜ค๋ฆฌ์ง€๋„ Splice I/O ๋Œ€๋น„ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ย 

์šด์˜ ๋ชจ๋“œ

  • ๊ตฌ์„ฑ ๋ฐฉ์‹: Active-Passive (๋‹จ๋ฐฉํ–ฅ ๋ณต์ œ)

  • ๋ณต์ œ ๋ฐฉ์‹: ๋น„๋™๊ธฐ(Asynchronous) ๋ฐฉ์‹ ์ง€์›

  • ๋ฏธ์ง€์›: ๋™๊ธฐ(Synchronous) ๋ฐฉ์‹, ํ™˜ํ˜•(Ring) ๋ฏธ๋Ÿฌ๋ง, Active-Active(์ด์ค‘ ํ”„๋ผ์ด๋จธ๋ฆฌ) ๋ชจ๋“œ