Raid์™€ Erasure Coding

์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์— ์žˆ์–ด์„œ ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ๋Š” ํ•œ ๊ธฐ์—…์˜ ์ •๋ณด ์ž์‚ฐ์— ํ•ด๋‹นํ•˜๋Š” ๋งŒํผ ์ •๋ง ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด๋‹ค.

IT ๊ด€๋ฆฌ์ž๋“ค์€ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ์— ์•ž์„œ ์ธํ”„๋ผ์™€ ์‚ฌ์šฉ๋ชฉ์ ์„ ํŒŒ์•…ํ•˜๊ณ , ๊ทธ์— ๋งž๋Š” ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ ์†”๋ฃจ์…˜์„ ๊ฐ•๊ตฌํ•ด์•ผ ํ•œ๋‹ค.

์Šคํ† ๋ฆฌ์ง€์˜ ๋ฐ์ดํ„ฐ ์†์‹ค์„ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํ™•์‹คํ•œ ๋ฐฉ๋ฒ•์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฑ์—…ํ•ด ๋‘๊ณ , ๋ฌธ์ œ ๋ฐœ์ƒ์‹œ ๋ฐฑ์—…๋ณธ์œผ๋กœ ๋ณต๊ตฌ๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

๋˜๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ์˜ค๋Š˜ ์„ค๋ช…ํ•  RAID์™€ Erasure Coding๊ณผ ๊ฐ™์ด ์‹œ์Šคํ…œ ๋ฒ”์œ„ ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

RAID

RAID๋Š” ์Šคํ† ๋ฆฌ์ง€ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์˜ ์ผ์ข…์œผ๋กœ, ํ•œ ๋””์Šคํฌ๊ฐ€ ์ฐจ๋ฉด ๋‹ค์Œ ๋””์Šคํฌ์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ JBOD ๋ฐฉ์‹์—์„œ ์„ฑ๋Šฅ๊ณผ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด ์กŒ๋‹ค.

RAID(Redundant Array of Independent Disks)๋Š” ํ•œ ๋ญ‰ํ……์ด์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ๊ฐ์˜ ๋””์Šคํฌ์— ๋‚˜๋ˆ  ์ €์žฅํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋‚˜๋ˆ  ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์€ ์•„๋ž˜ ๋‘๊ฐ€์ง€๋กœ ๋‚˜๋ˆ ์ง„๋‹ค.

striping

๋ฐ์ดํ„ฐ๋ฅผ ์กฐ๊ฐ๋‚ด์–ด ๊ฐ ๋””์Šคํฌ์— ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

raid0

  • ์žฅ์ 

    A๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ๋””์Šคํฌ์—์„œ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒƒ๋ณด๋‹ค ๊ฐ ๋””์Šคํฌ์— ์ €์žฅ๋œ A์˜ ์กฐ๊ฐ๋“ค์„ ๋™์‹œ์— ๋ถˆ๋Ÿฌ์™€์„œ ๋ชจ์œผ๋Š” ํŽธ์ด ๋น ๋ฅด๊ณ  ๋””์Šคํฌ๋ณ„ ๋ถ€ํ•˜๋„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

  • ๋‹จ์ 

    ๋””์Šคํฌ ํ•˜๋‚˜๊ฐ€ ๋ง๊ฐ€์ง€๋ฉด ํ•ด๋‹น ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ ์กฐ๊ฐ์€ ์—†์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์— ๋ฌธ์ œ ๋ฐœ์ƒ

mirroring

๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ ๋””์Šคํฌ์— ๋ณต์ œํ•˜์—ฌ ๋™์‹œ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

raid1

  • ์žฅ์ 

    ๋””์Šคํฌ ํ•˜๋‚˜๊ฐ€ ๋ง๊ฐ€์ ธ๋„ ๋‹ค๋ฅธ ๋””์Šคํฌ์— ๊ฐ™์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๋ฐ์ดํ„ฐ ๋ณด์กด ๊ฐ€๋Šฅ

  • ๋‹จ์ 

    ๊ทธ ๋ฐ์ดํ„ฐ๋งŒํผ ์ถ”๊ฐ€ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๊ฐ„ ํšจ์œจ ์ธก๋ฉด์—์„œ๋Š” ์ข‹์ง€ ๋ชปํ•˜๋‹ค.


๋งˆ์ง€๋ง‰์œผ๋กœ RAID๋Š” ํŒจ๋ฆฌํ‹ฐ(parity)๋ผ๋Š” ๋ฐ์ดํ„ฐ ๋ณต๊ตฌ ์ˆ˜๋‹จ์„ ๋‘๊ณ  ์žˆ๋‹ค.

Parity

ํŒจ๋ฆฌํ‹ฐ๋Š” ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•ด ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

์•„๋ž˜ RAID5 ๊ตฌ์„ฑ์˜ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ณ„ ํŒจ๋ฆฌํ‹ฐ๋ฅผ 1๊ฐœ์”ฉ ์ƒ์„ฑํ•˜๋ฉฐ, XOR ๋น„ํŠธ ์—ฐ์‚ฐ์ด๋ผ๋Š” ๊ณ„์‚ฐ๋ฒ•์„ ํ™œ์šฉํ•œ๋‹ค.

๋ฐ์ดํ„ฐ A, B, C, D๊ฐ€ ๋””์Šคํฌ 4๊ฐœ์— 3๊ฐœ์˜ ์กฐ๊ฐ ๋ฐ์ดํ„ฐ + ํŒจ๋ฆฌํ‹ฐ๋กœ ์ €์žฅ๋œ๋‹ค. ๋งŒ์ผ ํ•œ ๋””์Šคํฌ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๊ฒฝ์šฐ, ๋‚˜๋จธ์ง€ 2๊ฐœ์˜ ์กฐ๊ฐ ๋ฐ์ดํ„ฐ์™€ ํŒจ๋ฆฌํ‹ฐ๋ฅผ XOR ์—ฐ์‚ฐ์œผ๋กœ ๊ณ„์‚ฐํ•ด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ ์กฐ๊ฐ์„ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

raid5

ํ•˜์ง€๋งŒ ๋งŒ์ผ 2๊ฐœ์˜ ๋””์Šคํฌ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๊ฒฝ์šฐ, 1๊ฐœ์˜ ํŒจ๋ฆฌํ‹ฐ๋งŒ์œผ๋กœ๋Š” ์ „์ฒด ๋ฐ์ดํ„ฐ์˜ ๋ณต๊ตฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด RAID6์ด๋‹ค.

RAID6๋Š” ์ŠคํŠธ๋ผ์ดํ•‘์œผ๋กœ ์ €์žฅํ•˜๋Š” ์ ์—์„œ RAID5์™€ ๊ฐ™์ง€๋งŒ, ํŒจ๋ฆฌํ‹ฐ๊ฐ€ 1๊ฐœ๊ฐ€ ์•„๋‹Œ 2๊ฐœ์”ฉ ๊ตฌ์„ฑ๋œ๋‹ค. ๋˜ํ•œ XOR ์—ฐ์‚ฐ์ด ์•„๋‹ˆ๋ผ Reed-Solomon ๋ถ€ํ˜ธ๋กœ ํŒจ๋ฆฌํ‹ฐ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

ํ•˜์ง€๋งŒ, ํŒจ๋ฆฌํ‹ฐ๋ฅผ ๋Š˜๋ฆฌ๊ฒŒ ๋˜๋ฉด ํŒจ๋ฆฌํ‹ฐ ์ƒ์„ฑ์„ ์œ„ํ•œ ์ถ”๊ฐ€ ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๊ณ , ํŒจ๋ฆฌํ‹ฐ ์ƒ์„ฑ ๋ฐ ๋ณต๊ตฌ๋กœ ์ธํ•œ CPU ๋ถ€ํ•˜์˜ ์ฆ๊ฐ€๋ฅผ ์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ๋‹ค.

raid6


์œ„ 3๊ฐ€์ง€๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ•˜๋Š”์ง€์— ๋”ฐ๋ผ RAID ์ˆ˜์ค€์ด ๋‹ฌ๋ผ์ง„๋‹ค. ์ด ์ž‘์—…๋“ค์€ ๋ณ„๋„์˜ ํ•˜๋“œ์›จ์–ด ์ปจ๋“œ๋กค๋Ÿฌ์—์„œ ์ง„ํ–‰ํ•˜๋Š” ํ•˜๋“œ์›จ์–ด RAID์™€ ์„œ๋ฒ„์˜ OS ๋‚ด์—์„œ ์ง„ํ–‰ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด RAID๋กœ ๋‚˜๋ˆ ์ง„๋‹ค.

RAID ์„ค๋ช…
ํ•˜๋“œ์›จ์–ด RAID - ๋ณ„๋„์˜ ํ•˜๋“œ์›จ์–ด์ธ RAID ์ปจํŠธ๋กค๋Ÿฌ ์นด๋“œ๋ฅผ ํ†ตํ•ด RAID๋ฅผ ๊ตฌํ˜„
- ์‹œ์Šคํ…œ์— ๋ถ€๋‹ด์—†์ด ์ฝ๊ธฐ/์“ฐ๊ธฐ๋‚˜ ํŒจ๋ฆฌํ‹ฐ ๊ณ„์‚ฐ ๋“ฑ์˜ ์†๋„ ๋น ๋ฆ„
- RAID ์ปจํŠธ๋กค๋Ÿฌ ์นด๋“œ์˜ ๊ฐ€๊ฒฉ ๋น„์Œˆ
์†Œํ”„ํŠธ์›จ์–ด RAID - ๋‹จ์ˆœํžˆ ๋ฉ”์ธ๋ณด๋“œ์—์„œ ์ง์ ‘ RAID ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„
- RAID๋ฅผ ์ ์šฉํ•  ๋””์Šคํฌ๋งŒ ์žˆ์œผ๋ฉด ๋ณ„๋„์˜ ํ•˜๋“œ์›จ์–ด๊ฐ€ ํ•„์š”์—†์–ด ๋น„์šฉ ์•„๋‚„ ์ˆ˜ ์žˆ์Œ
- ๋‹ค๋ฅธ ์ž‘์—…๋“ค๊ณผ CPU ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ „๋ฐ˜์ ์ธ ์ž‘์—… ์†๋„๊ฐ€ ๋Š๋ ค์งˆ ์ˆ˜ ์žˆ๋‹ค.
- ์ด๋•Œ๋ฌธ์— ์†Œํ”„ํŠธ์›จ์–ด RAID์—์„œ๋Š” ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ RAID 0์ด๋‚˜ RAID 1์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.


RAID๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 1~2๊ฐœ์ •๋„์˜ ๋””์Šคํฌ ์˜ค๋ฅ˜์— ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ์„ ์ •๋„๋กœ๋งŒ ์“ฐ์—ฌ์™”๊ณ , ๋””์Šคํฌ ์šฉ๋Ÿ‰๋„ ํฌ์ง€ ์•Š์•„ ๋ณต๊ตฌ ์ž‘์—…์ด ๋ช‡์‹œ๊ฐ„๋งŒ ๊ฑธ๋ ธ๋‹ค. ํ•˜์ง€๋งŒ ๋‹จ์ผ ์ €์žฅ์žฅ์น˜์˜ ์šฉ๋Ÿ‰์ด ์ˆ˜ TB๋กœ ์ปค์ง€๊ฒŒ ๋˜๋ฉด์„œ ๋””์Šคํฌ ๋ณต๊ตฌ ์ž‘์—…์ด ๋ฉฐ์น ์ด๋‚˜ ๊ฑธ๋ฆฌ๊ฒŒ ๋˜๋ฉด์„œ RAID์˜ ์‹ค์šฉ์„ฑ์— ์˜๋ฌธ์ด ์ œ๊ธฐ๋˜๊ณ  ์žˆ๋‹ค.

์ด๋•Œ๋ฌธ์— ์ด๋ฅผ ๋ณด์™„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ๋กœ์„œ, hadoop 3 ๋ฒ„์ „์—๋„ ์ถ”๊ฐ€๋œ ๊ธฐ์ˆ ์ธ, Erasure Coding์ด ๋‚˜์™”๋‹ค.

Erasure Coding

์ด๋ ˆ์ด์ € ์ฝ”๋”ฉ(erasure coding)์€ RAID์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฐ์ดํ„ฐ ์†์‹ค ์‹œ ๋ฏธ๋ฆฌ ์ค€๋น„๋œ ํŒจ๋ฆฌํ‹ฐ๋กœ ๋ณต๊ตฌํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ์ฐจ์ด์ ์€ ํŒจ๋ฆฌํ‹ฐ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

์ด๋ ˆ์ด์ € ์ฝ”๋”ฉ์—์„œ๋„ RAID 6 ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ  Reed-Solomon์™€ ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ํŒจ๋ฆฌํ‹ฐ๋“ค์„ ์ƒ์„ฑํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ RAID์™€ ์ฐจ์ด์ ์€ ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ ์ˆ˜์ค€์„ ์œ ์—ฐํ•˜๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด๋‹ค.

์•„๋ž˜ ๊ทธ๋ฆผ์„ ๋ณด์ž.

n๊ฐœ์˜ ์กฐ๊ฐ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์‚ฐ์„ ํ†ตํ•ด k๊ฐœ์˜ ํŒจ๋ฆฌํ‹ฐ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์ด n+k๊ฐœ ์ค‘ ์ตœ๋Œ€ k๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋˜์–ด๋„ n๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋งŒ ์‚ด์•„์žˆ์œผ๋ฉด ์›๋ณธ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณต๊ตฌ ๊ฐ€๋Šฅํ•œ ๋ฐฉ์‹์ด๋‹ค.

erasure-coding


Erasure Coding์ด RAID์™€ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์„ ๋ณด์ด๋Š” ๋ถ€๋ถ„์€ ๋””์Šคํฌ ๋‹จ์œ„๊ฐ€ ์•„๋‹Œ ์˜์—ญ ๋‹จ์œ„๋กœ ๋ณต๊ตฌ๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค๋Š” ๊ฒƒ์ด๋ฉฐ, ์ด๋ ˆ์ด์ € ์ฝ”๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ 2๊ฐœ ์ด์ƒ์˜ ๋™์‹œ ์˜ค๋ฅ˜๋ฅผ ์ง€์›ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

ํ•˜์ง€๋งŒ ๋‹จ์ ๋„ ์กด์žฌํ•œ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด RAID์ฒ˜๋Ÿผ ๋ชจ๋“  ์ž‘์—…์ด ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์ฒ˜๋ฆฌ๋˜๊ณ  ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋งŒํผ, ํŒจ๋ฆฌํ‹ฐ ๊ณ„์‚ฐ์— CPU ์˜ค๋ฒ„ํ—ค๋“œ์™€ ์ง€์—ฐ์‹œ๊ฐ„์ด ๋ฐœ์ƒํ•œ๋‹ค. ์ด ๋•Œ๋ฌธ์— ํ•˜๋‘ก๊ณผ ๊ฐ™์€ ๋ธ”๋ก ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์€ ๋ธ”๋ก๋ณ„ ๊ณ„์‚ฐ์ด ๋งŽ์•„์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ „๋ฐ˜์ ์ธ ์Šคํ† ๋ฆฌ์ง€ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

Leave a comment