Restic: ์™œ ๋ณด๊ทธ๋ณด๋‹ค ํœด์‹์„ ์„ ํƒํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2018๋…„ 07์›” 04์ผ  ยท  12์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: restic/restic

์•ˆ๋…•ํ•˜์„ธ์š”,

Linux ์„œ๋ฒ„์šฉ ๋ฐฑ์—… ์‹œ์Šคํ…œ์„ ์„ ํƒํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.
Restic๊ณผ Borg๋Š” ์ •๋ง ๋น„์Šทํ•ด ๋ณด์ด๋ฉฐ ๊ฒฐ์ •์„ ๋„์™€ ์ฃผ์‹ค ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. :)

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

questioproblem

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด๊ฒƒ์€ ํฌ๋Ÿผ์—์„œ ๋” ์ข‹์•˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„๋ฌด๋„ ๋‹ซํžŒ GitHub ๋ฌธ์ œ์— ๋ฌปํžŒ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ Google์€ ๋น„๊ณต๊ฐœ ํฌ๋Ÿผ๋ณด๋‹ค Github ๋ฌธ์ œ๋ฅผ ์„ ํ˜ธํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด ๊ฒŒ์‹œ๋ฌผ์ด ์—ฌ๊ธฐ์— ์žˆ์–ด์•ผํ•˜๊ฑฐ๋‚˜ ์—†์–ด์•ผํ•œ๋‹ค๊ณ  ๋งํ•˜์ง€ ์•Š๊ณ  "์•„๋ฌด๋„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค"๋ถ€๋ถ„์„ ํญ๋กœํ•˜๊ธฐ ๋งŒํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค ... :)

๋ชจ๋“  12 ๋Œ“๊ธ€

๋‚ด ๋งˆ์Œ์— ๋– ์˜ค๋ฅด๋Š” ๊ฐ€์žฅ ๋ถ„๋ช…ํ•œ ์ฐจ์ด์  :

  • restic์€ ์ˆ˜๋งŽ์€ ๋ฐฑ์—”๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค (๋ณด๊ทธ๋Š” SSH ๋งŒ ์ง€์›ํ•จ).
  • Restic์œผ๋กœ ๊ธฐ๋ณธ Windows ์ง€์›
  • borg๋Š” ์••์ถ•์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค (๋‹ค์ค‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜).
  • borg๋Š” ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ๋ฐฑ์—…์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

์•ฝ 1 ๋…„ ์ „์— ๋‹ค๋ฅธ ๋ฐฑ์—… ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ‰๊ฐ€ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ borg๋Š” ํ•˜๋“œ์›จ์–ด์— ๋Œ€ํ•ด ์กฐ๊ธˆ ๋” ๋น ๋ฅด๊ณ  ๋œ ์š”๊ตฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ restic์€ ๋‹น์‹œ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ ์ดํ›„๋กœ ์–ด๋–ค ๋น„๊ต๋„ํ•˜์ง€ ์•Š์•˜๋‹ค.

AFAIK restic์˜ ์•”ํ˜ธํ™”๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํฌ๋Ÿผ ์—์„œ ๋” ์ข‹์•˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ •ํ™•ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€์˜ ๋ฌธ์ œ ์ผ๋ฟ์ž…๋‹ˆ๋‹ค. ๋‘ ํ”„๋กœ๊ทธ๋žจ์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ์Šค์Šค๋กœ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค (๋ฒ„๊ทธ, ๊ธฐ๋Šฅ ์š”์ฒญ ๋ฐ ๊ธฐํƒ€ ๊ธฐ์ˆ ์  ์ธ "๋ฌธ์ œ"์—๋งŒ GitHub๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค). ์ถ”๊ฐ€ ์˜๊ฒฌ์„ ์ž์œ ๋กญ๊ฒŒ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

ArchWiki๋Š” ๋‹ค๋ฅธ ์œ ์‚ฌํ•œ ์†”๋ฃจ์…˜๊ณผ ํ•จ๊ป˜ ์ฐจํŠธ์—์„œ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

https://wiki.archlinux.org/index.php/Synchronization_and_backup_programs#Chunk -based_increments

์•ฝ 1.5 ๋…„ ์ „์˜์ด ๋น„๊ต๋„ ๊ฝค ์ข‹์Šต๋‹ˆ๋‹ค : https://stickleback.dk/borg-or-restic/

ํŒ€์— ๋Œ€ํ•œ ์งˆ๋ฌธ์€ ์–ธ๊ธ‰ ๋œ restic์˜ ๋‹จ์ ์ด ๊ทธ ๋™์•ˆ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํฌ๋Ÿผ์—์„œ ๋” ์ข‹์•˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„๋ฌด๋„ ๋‹ซํžŒ GitHub ๋ฌธ์ œ์— ๋ฌปํžŒ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์งˆ๋ฌธ์„ํ•˜๋Š” ์ƒˆ ํฌ๋Ÿผ ๊ฒŒ์‹œ๋ฌผ์„ ์ž‘์„ฑํ•˜๋ฉด ๊ธฐ์‚ฌ์— ์–ธ๊ธ‰ ๋œ ๋‹จ์ ์„ ์‚ดํŽด๋ณด๊ณ  ๋‹ต๋ณ€ ํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‹น์‹  ๋ง์ด ๋งž์•„์š”. ๋ฏธ์•ˆ ํ•ด์š”. ๋‹ค์Œ์€ ํฌ๋Ÿผ ๊ฒŒ์‹œ๋ฌผ์ž…๋‹ˆ๋‹ค : https://forum.restic.net/t/comparison-with-borg-shortcomings-in-restic/1690 ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

์ด๊ฒƒ์€ ํฌ๋Ÿผ์—์„œ ๋” ์ข‹์•˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„๋ฌด๋„ ๋‹ซํžŒ GitHub ๋ฌธ์ œ์— ๋ฌปํžŒ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ Google์€ ๋น„๊ณต๊ฐœ ํฌ๋Ÿผ๋ณด๋‹ค Github ๋ฌธ์ œ๋ฅผ ์„ ํ˜ธํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด ๊ฒŒ์‹œ๋ฌผ์ด ์—ฌ๊ธฐ์— ์žˆ์–ด์•ผํ•˜๊ฑฐ๋‚˜ ์—†์–ด์•ผํ•œ๋‹ค๊ณ  ๋งํ•˜์ง€ ์•Š๊ณ  "์•„๋ฌด๋„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค"๋ถ€๋ถ„์„ ํญ๋กœํ•˜๊ธฐ ๋งŒํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค ... :)

๋‹ซํžŒ ์Šค๋ ˆ๋“œ์— ์ถ”๊ฐ€ํ•˜์ง€๋งŒ ๋‘˜ ๋‹ค ์‚ฌ์šฉํ•œ ํ›„์—๋Š” ์—ฌ๊ธฐ์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งค์ผ ์•ฝ 20TB์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฑ์—…ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค (์‹œ์žฅ ๋ฐ์ดํ„ฐ).

restic์„ ์‚ฌ์šฉํ•˜๋ฉด ํ›จ์”ฌ ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ณ  ๋ฐฑ์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์„œ๋ฒ„์—์„œ ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ restic์€ ๋ฐฑ์—… ํฌ๊ธฐ์— ๋”ฐ๋ผ 10G ์ด์ƒ์œผ๋กœ ์ปค์งˆ ์ˆ˜์žˆ๋Š” ์บ์‹œ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ ๋””์Šคํฌ ๊ณต๊ฐ„์ด ์ œํ•œ ๋  ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Borg๋Š” ํ›จ์”ฌ ๋” ๋น ๋ฅด๊ฒŒ ์‹คํ–‰๋˜์—ˆ์œผ๋ฉฐ ๊ฑฐ์˜ โ€‹โ€‹๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Restic์˜ ์œ ์ผํ•œ ์žฅ์ ์€ S3 ๋˜๋Š” Backblaze๋ฅผ ๋ฐฑ์—”๋“œ๋กœ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค (Borg๋Š”์ด๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Œ). ์„ฑ๋Šฅ๋ฉด์—์„œ Borg๋Š” ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉฐ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์บ์‹ฑํ•ฉ๋‹ˆ๋‹ค.

์˜ค ๊ทธ๋ฆฌ๊ณ  Borg์˜ ๋˜ ๋‹ค๋ฅธ ํฐ ์žฅ์ ์€ ์ „์ฒด ๋ฐฑ์—…์„ NFS ๊ณต์œ ๋กœ ๋งˆ์šดํŠธ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋งˆ์šดํŠธํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค (์˜ˆ : borg mount / mnt / repo ::/ mnt / restored), ์ผ๋ฐ˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์ฒ˜๋Ÿผ ์ „์ฒด ์ €์žฅ์†Œ๋ฅผ ํƒ์ƒ‰ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๋งค์šฐ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

@ perfecto25 ์ด์ „ ์˜๊ฒฌ์—์„œ ์ฝ์„ ์ˆ˜ ์žˆ๋“ฏ์ด ํฌ๋Ÿผ์— ๋” ์ž˜ ๊ฒŒ์‹œ๋˜์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ๊ฐ์ž๋Š” ๊ฐœ๋ณ„ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์žˆ์Œ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์—๊ฒŒ Borg๋Š” ์ ˆ๋Œ€ ์˜ต์…˜์ด ์•„๋‹ˆ์ง€๋งŒ @ perfecto25์˜ ๊ฒฝ์šฐ ๋ถ„๋ช…ํžˆ ๊ทธ ๋ฐ˜๋Œ€์ž…๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ์œ ํšจํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค. ๋‘ ๋„๊ตฌ๊ฐ€ ๋ชจ๋‘ ์กด์žฌํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์— ๋งŒ์กฑํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค!

์ „์ ์œผ๋กœ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” Restic์„ ๋น„ํŒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ์™„๋ฒฝํ•˜๋ฉฐ ๋‘ ํ”„๋กœ์ ํŠธ์˜ ์ฐจ์ด์ ์„ ์ง€์ ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰