๋ฒ์ ์ด ์ง์ ๋ ์ ์ฅ์์ ์ํธํ๋ ํ์์ผ๋ก ๋ฐฑ์ ๋ณต์ฌ๋ณธ์ ์ ์ฅํ ์ ์๋ 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