Restic 0.15 ๋ฐฑ์—… ์‹œ์Šคํ…œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

๋ฒ„์ „์ด ์ง€์ •๋œ ์ €์žฅ์†Œ์— ์•”ํ˜ธํ™”๋œ ํ˜•์‹์œผ๋กœ ๋ฐฑ์—… ๋ณต์‚ฌ๋ณธ์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” Restic 0.15 ๋ฐฑ์—… ์‹œ์Šคํ…œ์˜ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์€ ์ฒ˜์Œ์— ๋ฐฑ์—… ๋ณต์‚ฌ๋ณธ์ด ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ํ™˜๊ฒฝ์— ์ €์žฅ๋˜๊ณ , ๋ฐฑ์—… ๋ณต์‚ฌ๋ณธ์ด ์ž˜๋ชป๋œ ์‚ฌ๋žŒ์˜ ์†์— ๋“ค์–ด๊ฐ€๋”๋ผ๋„ ์‹œ์Šคํ…œ์ด ์†์ƒ๋˜์ง€ ์•Š๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—…์„ ์ƒ์„ฑํ•  ๋•Œ ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ํฌํ•จํ•˜๊ฑฐ๋‚˜ ์ œ์™ธํ•˜๋Š” ์œ ์—ฐํ•œ ๊ทœ์น™์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ทœ์น™ ํ˜•์‹์€ rsync ๋˜๋Š” gitignore์™€ ์œ ์‚ฌํ•จ). Linux, macOS, Windows, FreeBSD ๋ฐ OpenBSD์—์„œ์˜ ์ž‘์—…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” Go๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ BSD ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—…์€ ๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ, SFTP/SSH ๋˜๋Š” HTTP REST๋ฅผ ํ†ตํ•ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์™ธ๋ถ€ ์„œ๋ฒ„, Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage ๋ฐ Google Cloud Storage ํด๋ผ์šฐ๋“œ๋Š” ๋ฌผ๋ก  ๋ชจ๋“  ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” rclone. ํŠน๋ณ„ํ•œ ๋‚˜๋จธ์ง€ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค๋ฅธ ๋ฐฑ์—”๋“œ์— ๋น„ํ•ด ๋” ๋†’์€ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์ถ”๊ฐ€ ์ „์šฉ ๋ชจ๋“œ์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“œ์—์„œ๋Š” ์†Œ์Šค ์„œ๋ฒ„์™€ ์•”ํ˜ธํ™” ํ‚ค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ๋ฐฑ์—…์„ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํƒ€ํ˜‘.

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

์‹œ์Šคํ…œ์€ ์ „์ฒด ํŒŒ์ผ์„ ์กฐ์ž‘ํ•˜์ง€ ์•Š๊ณ  Rabin ์„œ๋ช…์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ ํƒํ•œ ๋ถ€๋™ ํฌ๊ธฐ ๋ธ”๋ก์„ ์กฐ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ •๋ณด๋Š” ํŒŒ์ผ ์ด๋ฆ„์ด ์•„๋‹Œ ์ฝ˜ํ…์ธ ์™€ ๊ด€๋ จํ•˜์—ฌ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค(๋ฐ์ดํ„ฐ ๊ด€๋ จ ์ด๋ฆ„ ๋ฐ ๊ฐœ์ฒด๋Š” ๋ธ”๋ก ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ˆ˜์ค€์—์„œ ์ •์˜๋จ). ์ฝ˜ํ…์ธ ์˜ SHA-256 ํ•ด์‹œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ค‘๋ณต ์ œ๊ฑฐ๊ฐ€ ์ˆ˜ํ–‰๋˜๊ณ  ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ๋ณต์‚ฌ๊ฐ€ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€ ์„œ๋ฒ„์—์„œ๋Š” ์ •๋ณด๊ฐ€ ์•”ํ˜ธํ™”๋œ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค(์ฒดํฌ์„ฌ์—๋Š” SHA-256, ์•”ํ˜ธํ™”์—๋Š” AES-256-CTR, ๋ฌด๊ฒฐ์„ฑ ๋ณด์žฅ์—๋Š” Poly1305-AES ๊ธฐ๋ฐ˜ ์ธ์ฆ ์ฝ”๋“œ๊ฐ€ ์‚ฌ์šฉ๋จ). ํŒŒ์ผ์˜ ๋ฌด๊ฒฐ์„ฑ์ด ์†์ƒ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ฒดํฌ์„ฌ ๋ฐ ์ธ์ฆ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—… ๋ณต์‚ฌ๋ณธ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฒ„์ „์—์„œ:

  • ์›๋ž˜ ๋ฐฑ์—…์šฉ์ด ์•„๋‹Œ ํŒŒ์ผ(์˜ˆ: ๊ธฐ๋ฐ€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ ๋˜๋Š” ๊ฐ€์น˜๊ฐ€ ์—†๋Š” ๋งค์šฐ ํฐ ๋กœ๊ทธ)์ด ์‹ค์ˆ˜๋กœ ๋ฐฑ์—… ๋ณต์‚ฌ๋ณธ์— ํฌํ•จ๋œ ๊ฒฝ์šฐ ์Šค๋ƒ…์ƒท์—์„œ ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ๋‹ค์‹œ ์“ฐ๊ธฐ ๋ช…๋ น์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. .
  • ํŒŒ์ผ์„ ์ฝ์„ ๋•Œ ๋ณ‘๋ ฌํ™” ์ˆ˜์ค€์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด "--read-concurrency" ์˜ต์…˜์ด ๋ฐฑ์—… ๋ช…๋ น์— ์ถ”๊ฐ€๋˜์–ด NVMe์™€ ๊ฐ™์€ ๋น ๋ฅธ ๋“œ๋ผ์ด๋ธŒ์—์„œ ๋ณต์‚ฌ ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํŒŒ์ผ ํŠธ๋ฆฌ ๊ฒ€์‚ฌ ๋‹จ๊ณ„๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด "--no-scan" ์˜ต์…˜์ด ๋ฐฑ์—… ๋ช…๋ น์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ •๋ฆฌ ๋ช…๋ น์€ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๋ฅผ ํฌ๊ฒŒ ์ค„์˜€์Šต๋‹ˆ๋‹ค(์ตœ๋Œ€ 30%).
  • ํฐ ๋นˆ ์˜์—ญ์ด ์žˆ๋Š” ํŒŒ์ผ์„ ํšจ์œจ์ ์œผ๋กœ ๋ณต์›ํ•˜๊ธฐ ์œ„ํ•ด ๋ณต์› ๋ช…๋ น์— "--sparse" ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Windows ํ”Œ๋žซํผ์˜ ๊ฒฝ์šฐ ๊ธฐํ˜ธ ๋งํฌ ๋ณต์› ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • macOS์—๋Š” macFUSE๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—…์ด ํฌํ•จ๋œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋งˆ์šดํŠธํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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