๋ฌด๋ฃŒ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ฒœ ๋Œ€์˜ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์œ„ํ•œ ๋ฐฑ์—… ์Šคํ† ๋ฆฌ์ง€

๋ฌด๋ฃŒ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ฒœ ๋Œ€์˜ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์œ„ํ•œ ๋ฐฑ์—… ์Šคํ† ๋ฆฌ์ง€

์•ˆ๋…•ํ•˜์„ธ์š”. ์ €๋Š” ์ตœ๊ทผ์— ํฅ๋ฏธ๋กœ์šด ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค: ๋‹ค์ˆ˜์˜ ๋ธ”๋ก ์žฅ์น˜๋ฅผ ๋ฐฑ์—…ํ•˜๊ธฐ ์œ„ํ•œ ์Šคํ† ๋ฆฌ์ง€ ์„ค์ •์ž…๋‹ˆ๋‹ค.

๋งค์ฃผ ์šฐ๋ฆฌ๋Š” ํด๋ผ์šฐ๋“œ์˜ ๋ชจ๋“  ๊ฐ€์ƒ ๋จธ์‹ ์„ ๋ฐฑ์—…ํ•˜๋ฏ€๋กœ ์ˆ˜์ฒœ ๊ฐœ์˜ ๋ฐฑ์—…์„ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๊ณ  ๊ฐ€๋Šฅํ•œ ํ•œ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ถˆํ–‰ํžˆ๋„ ํ‘œ์ค€ ๊ตฌ์„ฑ RAID5, RAID6 ์ด ๊ฒฝ์šฐ์—๋Š” ๊ทธ๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์šฐ๋ฆฌ์™€ ๊ฐ™์€ ๋Œ€ํ˜• ๋””์Šคํฌ์˜ ๋ณต๊ตฌ ํ”„๋กœ์„ธ์Šค๋Š” ๊ณ ํ†ต์Šค๋Ÿฌ์šธ ๋งŒํผ ๊ธธ๊ณ  ๊ฒฐ์ฝ” ๋๋‚˜์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์–ด๋–ค ๋Œ€์•ˆ์ด ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๋ ˆ์ด์ € ์ฝ”๋”ฉ โ€” RAID5, RAID6๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ ํŒจ๋ฆฌํ‹ฐ ์ˆ˜์ค€์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์˜ˆ์•ฝ์€ ๋ธ”๋ก๋ณ„๋กœ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๊ณ , ๊ฐ์ฒด๋ณ„๋กœ ๋ณ„๋„๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์‚ญ์ œ ์ฝ”๋”ฉ์„ ์‹œ๋„ํ•˜๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ ํ™•์žฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฏธ๋‹ˆ ์˜ค.

๋“œ๋ ˆ์ด๋“œ ํ˜„์žฌ ์ถœ์‹œ๋˜์ง€ ์•Š์€ ZFS ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. RAIDZ์™€ ๋‹ฌ๋ฆฌ DRAID์—๋Š” ๋ถ„์‚ฐ ํŒจ๋ฆฌํ‹ฐ ๋ธ”๋ก์ด ์žˆ์œผ๋ฉฐ ๋ณต๊ตฌ ์ค‘์— ์–ด๋ ˆ์ด์˜ ๋ชจ๋“  ๋””์Šคํฌ๋ฅผ ํ•œ ๋ฒˆ์— ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋””์Šคํฌ ์˜ค๋ฅ˜๋ฅผ ๋” ์ž˜ ๊ฒฌ๋””๊ณ  ์˜ค๋ฅ˜ ํ›„ ๋” ๋น ๋ฅด๊ฒŒ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌด๋ฃŒ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ฒœ ๋Œ€์˜ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์œ„ํ•œ ๋ฐฑ์—… ์Šคํ† ๋ฆฌ์ง€

๋ฌด๋ฃŒ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ฒœ ๋Œ€์˜ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์œ„ํ•œ ๋ฐฑ์—… ์Šคํ† ๋ฆฌ์ง€

์„œ๋ฒ„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ›„์ง€์ฏ” ํ”„๋ผ์ด๋จธ์ง€ RX300 S7 ํ”„๋กœ์„ธ์„œ ํฌํ•จ ์ธํ…” ์ œ์˜จ CPU E5-2650L 0 @ 1.80GHz, RAM XNUMX๊ฐœ ์‚ผ์„ฑ DDR3-1333 8Gb PC3L-10600R ECC ๋“ฑ๋ก๋จ(M393B1K70DH0-YH9), ๋””์Šคํฌ ์„ ๋ฐ˜ ์Šˆํผ๋งˆ์ดํฌ๋กœ ์Šˆํผ์„€์‹œ 847E26-RJBOD1, ๋‹ค์Œ์„ ํ†ตํ•ด ์—ฐ๊ฒฐ๋จ ๋“€์–ผ LSI SAS2X36 ํ™•์žฅ๊ธฐ ๋””์Šคํฌ 45๊ฐœ ์”จ๊ฒŒ์ด์ง€ ST6000NM0115-1YZ110 ์— 6TB ๋ชจ๋‘๋“ค.

๋ฌด์—‡์ด๋“  ๊ฒฐ์ •ํ•˜๊ธฐ ์ „์— ๋จผ์ € ๋ชจ๋“  ๊ฒƒ์„ ์ ์ ˆํ•˜๊ฒŒ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๊ตฌ์„ฑ์„ ์ค€๋น„ํ•˜๊ณ  ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด S3 ๋ฐฑ์—”๋“œ ์—ญํ• ์„ ํ•˜๋Š” minio๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋Œ€์ƒ ์ˆ˜๋ฅผ ๊ฐ€์ง„ ๋‹ค์–‘ํ•œ ๋ชจ๋“œ๋กœ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฏธ๋‹ˆ์˜ค ์ผ€์ด์Šค๋Š” ๋™์ผํ•œ ์ˆ˜์˜ ๋””์Šคํฌ์™€ ๋””์Šคํฌ ํŒจ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ญ์ œ ์ฝ”๋”ฉ๊ณผ ์†Œํ”„ํŠธ์›จ์–ด RAID์—์„œ ํ…Œ์ŠคํŠธ๋˜์—ˆ์œผ๋ฉฐ ์ด๋Š” RAID6, RAIDZ2 ๋ฐ DRAID2์ž…๋‹ˆ๋‹ค.

์ฐธ๊ณ : ํ•˜๋‚˜์˜ ๋Œ€์ƒ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ minio๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด minio๋Š” S3 ๊ฒŒ์ดํŠธ์›จ์ด ๋ชจ๋“œ์—์„œ ์ž‘๋™ํ•˜์—ฌ ๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ S3 ์Šคํ† ๋ฆฌ์ง€ ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋Œ€์ƒ์„ ์ง€์ •ํ•˜์—ฌ minio๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด Erasure Coding ๋ชจ๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ์ผœ์ ธ ๋‚ด๊ฒฐํ•จ์„ฑ์„ ์ œ๊ณตํ•˜๋ฉด์„œ ๋Œ€์ƒ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ minio๋Š” ๋Œ€์ƒ์„ ๊ทธ๋ฃน๋‹น 16๊ฐœ์˜ ํŒจ๋ฆฌํ‹ฐ๊ฐ€ ์žˆ๋Š” 2๊ฐœ์˜ ๋””์Šคํฌ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. ์ €๊ฒƒ๋“ค. ๋ฐ์ดํ„ฐ ์†์‹ค ์—†์ด ๋‘ ๊ฐœ์˜ ๋””์Šคํฌ์— ๋™์‹œ์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ฑ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ๊ฐ 16TB์˜ ๋””์Šคํฌ 6๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ทธ ์œ„์— 1MB ํฌ๊ธฐ์˜ ์ž‘์€ ๊ฐœ์ฒด๋ฅผ ์ผ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋“  ์ตœ์‹  ๋ฐฑ์—… ๋„๊ตฌ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜ ๋ฉ”๊ฐ€๋ฐ”์ดํŠธ์˜ ๋ธ”๋ก์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ์“ฐ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์ด ๋ฏธ๋ž˜์˜ ๋ถ€ํ•˜๋ฅผ ๊ฐ€์žฅ ์ •ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ฒค์น˜๋งˆํฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” s3bench ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›๊ฒฉ ์„œ๋ฒ„์—์„œ ์‹คํ–‰ํ•˜๊ณ  ์ˆ˜๋ฐฑ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋กœ ์ˆ˜๋งŒ ๊ฐœ์˜ ๊ฐœ์ฒด๋ฅผ minio์— ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ํ›„ ๋‚˜๋Š” ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋‹ค์‹œ ์š”์ฒญํ•˜๋ ค๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ ํ‘œ์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌด๋ฃŒ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ฒœ ๋Œ€์˜ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์œ„ํ•œ ๋ฐฑ์—… ์Šคํ† ๋ฆฌ์ง€

๋ณด์‹œ๋‹ค์‹œํ”ผ ์ž์ฒด ์‚ญ์ œ ์ฝ”๋”ฉ ๋ชจ๋“œ์˜ minio๋Š” ๋™์ผํ•œ ๊ตฌ์„ฑ์˜ ์†Œํ”„ํŠธ์›จ์–ด RAID6, RAIDZ2 ๋ฐ DRAID2์—์„œ ์‹คํ–‰๋˜๋Š” minio๋ณด๋‹ค ์“ฐ๊ธฐ ์„ฑ๋Šฅ์ด ํ›จ์”ฌ ๋‚˜์ฉ๋‹ˆ๋‹ค.

๋‚˜ ๋”ฐ๋กœ ~๊ฐ€ ๋ฌผ์—ˆ๋‹ค. ext4์™€ XFS์—์„œ minio๋ฅผ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. ๋†€๋ž๊ฒŒ๋„ ๋‚ด ์ž‘์—… ์œ ํ˜•์—์„œ๋Š” XFS๊ฐ€ ext4๋ณด๋‹ค ํ›จ์”ฌ ๋Š๋ฆฐ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋ฐฐ์น˜ ํ…Œ์ŠคํŠธ์—์„œ Mdadm์€ ZFS๋ณด๋‹ค ์šฐ์›”ํ•œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์ง€๋งŒ ๋‚˜์ค‘์—๋Š” ๊ทธ๋ฉœ๋ฆฌ์ฝ”ํ”„ ์ž๊ทน ๋ฐ›๋‹ค๋‹ค์Œ ์˜ต์…˜์„ ์„ค์ •ํ•˜์—ฌ ZFS ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

xattr=sa atime=off recordsize=1M

๊ทธ ํ›„ ZFS๋ฅผ ์‚ฌ์šฉํ•œ ํ…Œ์ŠคํŠธ๋Š” ํ›จ์”ฌ ๋” ์ข‹์•„์กŒ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ DRAID๋Š” RAIDZ์— ๋น„ํ•ด ๋งŽ์€ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์ง€๋งŒ ์ด๋ก ์ ์œผ๋กœ๋Š” ํ›จ์”ฌ ๋” ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

์ง€๋‚œ ๋‘ ๋ฒˆ์˜ ํ…Œ์ŠคํŠธ์—์„œ๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(ํŠน์ˆ˜)์™€ ZIL(๋กœ๊ทธ)๋„ SSD์—์„œ ๋ฏธ๋Ÿฌ๋กœ ์ „์†กํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•ด๋„ ๋…นํ™” ์†๋„๊ฐ€ ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์ง€ ์•Š์•˜๊ณ  ZIL์„ ์ œ๊ฑฐํ•ด๋„ SSDSC2KI128G8 100% ํ™œ์šฉ๋„๋กœ ์ƒํ•œ์„ ์— ๋„๋‹ฌํ–ˆ์œผ๋ฏ€๋กœ ์ด ํ…Œ์ŠคํŠธ๋Š” ์‹คํŒจ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋” ๋น ๋ฅธ SSD ๋“œ๋ผ์ด๋ธŒ๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ํฌ๊ฒŒ ํ–ฅ์ƒ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๋ฐฐ์ œํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์•ˆํƒ€๊น๊ฒŒ๋„ SSD ๋“œ๋ผ์ด๋ธŒ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ตญ ์ €๋Š” DRAID๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๊ณ , ๋ฒ ํƒ€ ๋ฒ„์ „์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ €ํฌ ๊ฒฝ์šฐ์—๋Š” DRAID๊ฐ€ ๊ฐ€์žฅ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ์Šคํ† ๋ฆฌ์ง€ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.

์„ธ ๊ฐœ์˜ ๊ทธ๋ฃน๊ณผ ๋‘ ๊ฐœ์˜ ๋ถ„์‚ฐ ์ŠคํŽ˜์–ด๊ฐ€ ํฌํ•จ๋œ ๊ตฌ์„ฑ์œผ๋กœ ๊ฐ„๋‹จํ•œ DRAID2๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

# zpool status data
  pool: data
 state: ONLINE
  scan: none requested
config:

    NAME                 STATE     READ WRITE CKSUM
    data                 ONLINE       0     0     0
      draid2:3g:2s-0     ONLINE       0     0     0
        sdy              ONLINE       0     0     0
        sdam             ONLINE       0     0     0
        sdf              ONLINE       0     0     0
        sdau             ONLINE       0     0     0
        sdab             ONLINE       0     0     0
        sdo              ONLINE       0     0     0
        sdw              ONLINE       0     0     0
        sdak             ONLINE       0     0     0
        sdd              ONLINE       0     0     0
        sdas             ONLINE       0     0     0
        sdm              ONLINE       0     0     0
        sdu              ONLINE       0     0     0
        sdai             ONLINE       0     0     0
        sdaq             ONLINE       0     0     0
        sdk              ONLINE       0     0     0
        sds              ONLINE       0     0     0
        sdag             ONLINE       0     0     0
        sdi              ONLINE       0     0     0
        sdq              ONLINE       0     0     0
        sdae             ONLINE       0     0     0
        sdz              ONLINE       0     0     0
        sdan             ONLINE       0     0     0
        sdg              ONLINE       0     0     0
        sdac             ONLINE       0     0     0
        sdx              ONLINE       0     0     0
        sdal             ONLINE       0     0     0
        sde              ONLINE       0     0     0
        sdat             ONLINE       0     0     0
        sdaa             ONLINE       0     0     0
        sdn              ONLINE       0     0     0
        sdv              ONLINE       0     0     0
        sdaj             ONLINE       0     0     0
        sdc              ONLINE       0     0     0
        sdar             ONLINE       0     0     0
        sdl              ONLINE       0     0     0
        sdt              ONLINE       0     0     0
        sdah             ONLINE       0     0     0
        sdap             ONLINE       0     0     0
        sdj              ONLINE       0     0     0
        sdr              ONLINE       0     0     0
        sdaf             ONLINE       0     0     0
        sdao             ONLINE       0     0     0
        sdh              ONLINE       0     0     0
        sdp              ONLINE       0     0     0
        sdad             ONLINE       0     0     0
    spares
      s0-draid2:3g:2s-0  AVAIL   
      s1-draid2:3g:2s-0  AVAIL   

errors: No known data errors

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

๋ฒค์ง€ ๋ฐฑ์—… - ํฌํฌ ๋ฐฑํ‚ค2๋ธ”๋ก ์žฅ์น˜ ๋ฐฑ์—…์„ ์œ„ํ•œ ์ „๋ฌธ ์†”๋ฃจ์…˜์ธ ๋Š” Ceph์™€ ๊ธด๋ฐ€ํ•˜๊ฒŒ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค. ์Šค๋ƒ…์ƒท ๊ฐ„์˜ ์ฐจ์ด์ ์„ ํ™•์ธํ•˜๊ณ  ์Šค๋ƒ…์ƒท์—์„œ ์ฆ๋ถ„ ๋ฐฑ์—…์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋ฐ S3๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜์—ฌ ๋‹ค์ˆ˜์˜ ์Šคํ† ๋ฆฌ์ง€ ๋ฐฑ์—”๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ค‘๋ณต ์ œ๊ฑฐ ํ•ด์‹œ ํ…Œ์ด๋ธ”์„ ์ €์žฅํ•˜๋ ค๋ฉด ๋ณ„๋„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ : Python์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ์•ฝ๊ฐ„ ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” cli๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

Borg ๋ฐฑ์—… - ํฌํฌ ๋‹ค๋ฝ๋ฐฉ์˜ค๋žซ๋™์•ˆ ์•Œ๋ ค์ง€๊ณ  ๊ฒ€์ฆ๋œ ๋ฐฑ์—… ๋„๊ตฌ์ธ ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๋ฐฑ์—…ํ•˜๊ณ  ์ค‘๋ณต ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. scp๋ฅผ ํ†ตํ•ด ๋กœ์ปฌ ๋ฐ ์›๊ฒฉ ์„œ๋ฒ„์— ๋ฐฑ์—…์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ํ•˜๋ฉด ๋ธ”๋ก ์žฅ์น˜๋ฅผ ๋ฐฑ์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. --special, ๋‹จ์  ์ค‘ ํ•˜๋‚˜: ๋ฐฑ์—…์„ ์ƒ์„ฑํ•  ๋•Œ ์ €์žฅ์†Œ๊ฐ€ ์™„์ „ํžˆ ์ฐจ๋‹จ๋˜๋ฏ€๋กœ ๊ฐ ๊ฐ€์ƒ ๋จธ์‹ ์— ๋Œ€ํ•ด ๋ณ„๋„์˜ ์ €์žฅ์†Œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์›์น™์ ์œผ๋กœ ์ด๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์œผ๋ฉฐ ๋‹คํ–‰ํžˆ ๋งค์šฐ ์‰ฝ๊ฒŒ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

๋ ˆ์Šค์Šคํ‹ฑ ํ™œ๋ฐœํ•˜๊ฒŒ ๊ฐœ๋ฐœ ์ค‘์ธ ํ”„๋กœ์ ํŠธ๋กœ go๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๋งค์šฐ ๋น ๋ฅด๋ฉฐ ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€, scp, S3 ๋“ฑ์„ ํฌํ•จํ•œ ์ˆ˜๋งŽ์€ ์Šคํ† ๋ฆฌ์ง€ ๋ฐฑ์—”๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด์™€ ๋ณ„๋„๋กœ ํŠน๋ณ„ํžˆ ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์ด ์žˆ๋‹ค๋Š” ์ ์— ์ฃผ๋ชฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ์„œ๋ฒ„ Restic์˜ ๊ฒฝ์šฐ ์›๊ฒฉ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๋น ๋ฅด๊ฒŒ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ๊ฒƒ ์ค‘์—์„œ ๊ฐ€์žฅ ๋งˆ์Œ์— ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. stdin์—์„œ ๋ฐฑ์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆˆ์— ๋„๋Š” ๋‹จ์ ์€ ๊ฑฐ์˜ ์—†์ง€๋งŒ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

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

    ์–ด๋–ค ๊ฒฝ์šฐ๋“  ์ค‘๋ณต ์ œ๊ฑฐ๋Š” ์ด์ „ ๋ฒ„์ „์˜ ๋ฐฑ์—…๊ณผ ๊ด€๋ จํ•ด์„œ๋งŒ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฐฑ์—…์€ ์ง€์ •๋œ ๋ฐฑ์—…์˜ ๊ฒฝ๋กœ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋˜๋ฏ€๋กœ stdin์—์„œ ๊ณตํ†ต ์ €์žฅ์†Œ๋กœ ๋‹ค์–‘ํ•œ ๊ฐœ์ฒด๋ฅผ ๋ฐฑ์—…ํ•˜๋Š” ๊ฒฝ์šฐ ์˜ต์…˜ --stdin-filename, ๋˜๋Š” ๋งค๋ฒˆ ์˜ต์…˜์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ • --parent.

  • ๋‘˜์งธ, stdout์œผ๋กœ์˜ ๋ณต๊ตฌ๋Š” ๋ณ‘๋ ฌ ํŠน์„ฑ์œผ๋กœ ์ธํ•ด ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ์˜ ๋ณต๊ตฌ๋ณด๋‹ค ํ›จ์”ฌ ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” ๋ธ”๋ก ์žฅ์น˜์— ๋Œ€ํ•œ ๋ฐฑ์—… ์ง€์›์„ ๋”์šฑ ๊ธด๋ฐ€ํ•˜๊ฒŒ ์ถ”๊ฐ€ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

  • ์…‹์งธ, ํ˜„์žฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ์˜ ๋ฒ„์ „, ์™œ๋ƒํ•˜๋ฉด ๋ฒ„์ „ 0.9.6์—๋Š” ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์˜ ๋ณต๊ตฌ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋ฌด๋ฃŒ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ฒœ ๋Œ€์˜ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์œ„ํ•œ ๋ฐฑ์—… ์Šคํ† ๋ฆฌ์ง€

๋ณด์‹œ๋‹ค์‹œํ”ผ Borg Backup์€ ์ดˆ๊ธฐ ๋ฐฑ์—… ํšจ์œจ์„ฑ ๋น„์œจ์ด ๊ฐ€์žฅ ๋†’์ง€๋งŒ ์“ฐ๊ธฐ ๋ฐ ๋ณต์› ์†๋„ ์ธก๋ฉด์—์„œ ์—ด๋“ฑํ•ฉ๋‹ˆ๋‹ค.

Restic์€ Benji Backup๋ณด๋‹ค ๋น ๋ฅธ ๊ฒƒ์œผ๋กœ ๋ฐํ˜€์กŒ์ง€๋งŒ stdout์œผ๋กœ ๋ณต์›ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ณ  ์•ˆํƒ€๊น๊ฒŒ๋„ ์•„์ง ๋ธ”๋ก ์žฅ์น˜์— ์ง์ ‘ ์“ฐ๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.

์žฅ๋‹จ์ ์„ ๋ชจ๋‘ ๋”ฐ์ ธ๋ณธ ํ›„ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค ์†Œ๋ฐ•ํ•œ ั ๋‚˜๋จธ์ง€ ์„œ๋ฒ„ ๊ฐ€์žฅ ํŽธ๋ฆฌํ•˜๊ณ  ์œ ๋งํ•œ ๋ฐฑ์—… ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.

๋ฌด๋ฃŒ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ฒœ ๋Œ€์˜ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์œ„ํ•œ ๋ฐฑ์—… ์Šคํ† ๋ฆฌ์ง€

์ด ์Šคํฌ๋ฆฐ์บ์ŠคํŠธ์—์„œ๋Š” ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ์—ฌ๋Ÿฌ ๋ฐฑ์—… ์ž‘์—… ์ค‘์— 10๊ธฐ๊ฐ€๋น„ํŠธ ์ฑ„๋„์ด ์–ด๋–ป๊ฒŒ ์™„์ „ํžˆ ํ™œ์šฉ๋˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋””์Šคํฌ ์žฌํ™œ์šฉ์ด 30% ์ด์ƒ ์ฆ๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์€ ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ œ๊ฐ€ ๋ฐ›์€ ์†”๋ฃจ์…˜์— ๋งค์šฐ ๋งŒ์กฑํ–ˆ์Šต๋‹ˆ๋‹ค!

์ถœ์ฒ˜ : habr.com

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