Home > Archive > CS_archive > πŸ’Ύ [CS] RAID의 μ •μ˜μ™€ μ’…λ₯˜

πŸ’Ύ [CS] RAID의 μ •μ˜μ™€ μ’…λ₯˜
CS

RAID의 μ •μ˜μ™€ μ’…λ₯˜.

1TB ν•˜λ“œ λ””μŠ€ν¬ λ„€ 개둜 RAIDλ₯Ό κ΅¬μ„±ν•˜λ©΄ 4TB ν•˜λ“œ λ””μŠ€ν¬ ν•œ 개의 μ„±λŠ₯κ³Ό μ•ˆμ „μ„±μ„ λŠ₯κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

RAID의 μ •μ˜.

β€˜λ³΄μ‘°κΈ°μ–΅μž₯μΉ˜μ—λ„ 수λͺ…이 μžˆμŠ΅λ‹ˆλ‹€.’ κ·Έλž˜μ„œ β€˜ν•˜λ“œ λ””μŠ€ν¬μ™€ 같은 보쑰기얡μž₯μΉ˜μ— μ–΄λ–»κ²Œλ“  μ €μž₯만 ν•˜λ©΄ λ©λ‹ˆλ‹€β€™ 와 같은 λ‹¨μˆœν•œ 닡변은 λ‹€μ†Œ λΆ€μ‘±ν•œ ν•΄λ²•μž…λ‹ˆλ‹€.

이럴 λ•Œ μ‚¬μš©ν•  수 μžˆλŠ” 방법 쀑 ν•˜λ‚˜κ°€ RAIDμž…λ‹ˆλ‹€.

RAID(Redundant Array of Independent Disks) λŠ” 주둜 ν•˜λ“œ λ””μŠ€ν¬μ™€ SSDλ₯Ό μ‚¬μš©ν•˜λŠ” 기술둜, 데이트의 μ•ˆμ •μ„  ν˜Ήμ€ 높은 μ„±λŠ₯을 μœ„ν•΄ μ—¬λŸ¬ 개의 물리적 보쑰기얡μž₯치λ₯Ό 마치 ν•˜λ‚˜μ˜ 논리적 보쑰기얡μž₯치처럼 μ‚¬μš©ν•˜λŠ” κΈ°μˆ μ„ μ˜λ―Έν•©λ‹ˆλ‹€.

RAID의 μ’…λ₯˜

RAID ꡬ성 방법을 RAID 레벨 이라고 ν‘œν˜„ν•©λ‹ˆλ‹€.

RAID λ ˆλ²¨μ—λŠ” λŒ€ν‘œμ μœΌλ‘œ RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6 이 있고 κ·Έλ‘œλΆ€ν„° νŒŒμƒλœ RAID 10, RAID 50 등이 μžˆμŠ΅λ‹ˆλ‹€.

RAID 0

RAID 0 은 μ—¬λŸ¬ 개의 보쑰기얡μž₯μΉ˜μ— 데이터λ₯Ό μž”μˆœνžˆ λ‚˜λˆ„μ–΄ μ €μž₯ν•˜λŠ” ꡬ성 λ°©μ‹μž…λ‹ˆλ‹€.

κ°€λ Ή 1TB ν•˜λ“œ λ””μŠ€ν¬ λ„€ 개둜 RAID 0을 κ΅¬μ„±ν–ˆλ‹€κ³  κ°€μ •ν•΄ λ΄…μ‹œλ‹€.

이제 μ–΄λ– ν•œ 데이터λ₯Ό μ €μž₯ν•  λ•Œ 각 ν•˜λ“œ λ””μŠ€ν¬λŠ” μ•„λž˜μ™€ 같이 λ²ˆκ°ˆμ•„ κ°€λ©° 데이터λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€,
즉, μ €μž₯λ˜λŠ” 데이터가 ν•˜λ“œ λ””μŠ€ν¬ 개수만큼 λ‚˜μœ„μ–΄ 자μž₯λ˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

μ΄λ•Œ 마치 μ€„λ¬΄λŠ¬μ²˜λŸΌ λΆ„μ‚°λ˜μ–΄ μ €μž₯된 데이터λ₯Ό μŠ€νŠΈλΌμž…(Stripe) 이라 ν•˜κ³ , λΆ„μ‚°ν•˜μ—¬ μ €μž₯ν•˜λŠ” 것을 μŠ€νŠΈλΌμ΄ν•‘(Striping) 이라고 ν•©λ‹ˆλ‹€.

μœ„μ™€ 같이 데이터가 λΆ„μ‚°λ˜μ–΄ μ €μž₯되면, λ‹€μ‹œ 말해 μŠ€νŠΈλΌμ΄ν•‘λ˜λ©΄ μ €μž₯된 데이터λ₯Ό 읽고 μ“°λŠ” 속도가 λΉ¨λΌμ§‘λ‹ˆλ‹€.

ν•˜λ‚˜μ˜ λŒ€μš©λŸ‰ μ €μž₯ μž₯치λ₯Ό μ΄μš©ν–ˆλ”λΌλ©΄ μ—¬λŸ¬ λ²ˆμ— 걸쳐 일고 썻을 데이터λ₯Ό λ™μ‹œμ— 읽고 μ“Έ 수 있기 λ•Œλ¬Έμž…λ‹ˆλ‹€.

그렇기에 4TB μ €μž₯ μž₯치 ν•œ 개λ₯Ό 읽고 μ“°λŠ” 속도보닀 RAID 0둜 κ΅¬μ„±λœ 1TB μ €μž₯ μž₯치 λ„€ 개의 속도가 이둠상 λ„€ λ°°κ°€λŸ‰ λΉ λ¦…λ‹ˆλ‹€.

RAID 0의 단점

RAID 0μ—λŠ” 단점이 μžˆμŠ΅λ‹ˆλ‹€.

μ €μž₯된 정보가 μ•ˆμ „ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

RAID 0으둜 κ΅¬μ„±λœ ν•˜λ“œ λ””μŠ€ν¬ 쀑 ν•˜λ‚˜μ— λ¬Έμ œκ°€ 생긴닀면 λ‹€λ₯Έ λͺ¨λ“  ν•˜λ“œ λ””μŠ€ν¬μ˜ 정보λ₯Ό μ½λŠ” 데 λ¬Έμ œκ°€ 생길 수 μžˆμŠ΅λ‹ˆλ‹€.

κ·Έλž˜μ„œ λ“±μž₯ν•œ 것이 RAID 1 μž…λ‹ˆλ‹€.

RAID 1

RAID 1 은 볡사본을 λ§Œλ“œλŠ” λ°©μ‹μž…λ‹ˆλ‹€.

마치 거울처럼 μ™„μ „ν•œ 볡사본을 λ§Œλ“œλŠ” ꡬ성이기에 미러링(mirroring) 이라고도 λΆ€λ¦…λ‹ˆλ‹€.

μ•„λž˜ 그림은 λ„€ 개의 ν•˜λ“œ λ””μŠ€ν¬λ₯Ό RAID 1으둜 κ΅¬μ„±ν•œ λͺ¨μŠ΅μž…λ‹ˆλ‹€.

RAID 0처럼 데이터 μŠ€νŠΈλΌμ΄ν•‘μ΄ μ‚¬μš©λ˜κΈ΄ ν–ˆμ§€λ§Œ, 였λ₯Έμͺ½μ˜ 두 ν•˜λ“œ λ””μŠ€ν¬λŠ” 마치 거울처럼 μ™Όμͺ½μ˜ 두 ν•˜λ“œ λ””μŠ€ν¬μ™€ λ™μΌν•œ λ‚΄μš©μ„ μ €μž₯ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

이처럼 RAID 1에 μ–΄λ– ν•œ 데이터λ₯Ό μ“Έ λ•ŒλŠ” 원본과 볡사본 두 ꡰ데에 μ”λ‹ˆλ‹€.

그렇기에 μ“°κΈ° μ†λ„λŠ” RAID 0보닀 λŠλ¦½λ‹ˆλ‹€.

RAID 1 방식은 볡ꡬ가 맀우 κ°„λ‹¨ν•˜λ‹€λŠ” μž₯점이 μžˆμŠ΅λ‹ˆλ‹€.

λ˜‘κ°™μ€ λ””μŠ€ν¬κ°€ 두 개 μžˆλŠ” μ…ˆμ΄λ‹ˆ, ν•˜λ‚˜μ— λ¬Έμ œκ°€ λ°œμƒν•΄λ„ μžƒμ–΄λ²„λ¦° 정보λ₯Ό 금방 λ˜μ°Ύμ„ 수 있기 λ•Œλ¬Έμž…λ‹ˆλ‹€.

RAID 1의 단점

RAID 1은 ν•˜λ“œ λ””μŠ€ν¬ κ°œμˆ˜κ°€ ν•œμ •λ˜μ—ˆμ„ λ•Œ μ‚¬μš© κ°€λŠ₯ν•œ μš©λŸ‰μ΄ μ μ–΄μ§€λŠ” 단점이 μžˆμŠ΅λ‹ˆλ‹€.

μœ„ 그림만 보아도 RAID 0 ꡬ성은 4TB의 정보λ₯Ό μ €μž₯ν•  수 μžˆλŠ” 반면, RAID 1μ—μ„œλŠ” 2TB의 μ •λ³΄λ§Œ μ €μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

즉, RAID 1μ—μ„œλŠ” 볡사본이 λ§Œλ“€μ–΄μ§€λŠ” μš©λŸ‰λ§ŒνΌ μ‚¬μš©μžκ°€ μ‚¬μš©ν•˜μ§€ λͺ»ν•©λ‹ˆλ‹€.

κ²°κ΅­ λ§Žμ€ μ–‘μ˜ ν•˜λ“œ λ””μŠ€ν¬κ°€ ν•„μš”ν•˜κ²Œ 되고, λΉ„μš©μ΄ μ¦κ°€ν•œλ‹€λŠ” λ‹¨μ μœΌλ‘œ μ΄μ–΄μ§‘λ‹ˆλ‹€.

RAID 4

RAID 4λŠ” RAID 1처럼 μ™„μ „ν•œ 볡사본을 λ§Œλ“œλŠ” λŒ€μ‹  였λ₯˜λ₯Ό κ²€μΆœν•˜κ³  λ³΅κ΅¬ν•˜κΈ° μœ„ν•œ 정보λ₯Ό μ €μž₯ν•œ μž₯치λ₯Ό λ‘λŠ” ꡬ성 λ°©μ‹μž…λ‹ˆλ‹€.

μ΄λ•Œ β€˜μ˜€λ₯˜λ₯Ό κ²€μΆœν•˜κ³  λ³΅κ΅¬ν•˜κΈ° μœ„ν•œ 정보’λ₯Ό νŒ¨λ¦¬ν‹° λΉ„νŠΈ(parity bit) 라고 ν•©λ‹ˆλ‹€.

RAID 4μ—μ„œλŠ” νŒ¨λ¦¬ν‹°λ₯Ό μ €μž₯ν•œ μž₯치λ₯Ό μ΄μš©ν•΄ λ‹€λ₯Έ μž₯μΉ˜λ“€μ˜ 였λ₯˜λ₯Ό κ²€μΆœν•˜κ³ , 였λ₯˜κ°€ μžˆλ‹€λ©΄ λ³΅κ΅¬ν•©λ‹ˆλ‹€.

이둜써 RAID 4λŠ” RAID 1보닀 적은 ν•˜λ“œ λ””μŠ€ν¬λ‘œλ„ 데이터λ₯Ό μ•ˆμ „ν•˜κ²Œ 보관할 수 μžˆμŠ΅λ‹ˆλ‹€.

였λ₯˜λ₯Ό κ²€μΆœν•˜λŠ” 패리트 λΉ„νŠΈ

μ›λž˜ 패리트 λΉ„νŠΈλŠ” 였λ₯˜ κ²€μΆœλ§Œ κ°€λŠ₯ν•  뿐 였λ₯˜ λ³΅κ΅¬λŠ” λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.
ν•˜μ§€λ§Œ RAIDμ—μ„œλŠ” 패리트 κ°’μœΌλ‘œ 였λ₯˜ μˆ˜μ •λ„ κ°€λŠ₯ν•©λ‹ˆλ‹€.
λ‹€λ§Œ ꡬ체적인 방법인 νŒ¨λ¦¬ν‹° 계산법은 닀루지 μ•Šμ„ μ˜ˆμ •μž…λ‹ˆλ‹€.
μ—¬κΈ°μ„œ λ‹€μŒ 두 κ°€μ§€λ§Œ κΈ°μ–΅ν•˜λ©΄ λ©λ‹ˆλ‹€.

  1. RAID 4μ—μ„œλŠ” νŒ¨λ¦¬ν‹° 정보λ₯Ό μ €μž₯ν•œ μž₯μΉ˜λ‘œμ„œ λ‚˜λ¨Έμ§€ μž₯μΉ˜λ“€μ˜ 였루λ₯Ό κ²€μΆœ.λ³΅κ΅¬ν•œλ‹€.
  2. νŒ¨λ¦¬ν‹° λΉ„νŠΈλŠ” 본래 였λ₯˜ κ²€μΆœμš© μ •λ³΄μ§€λ§Œ, RAIDμ—μ„œλŠ” 였λ₯˜ 볡ꡬ도 κ°€λŠ₯ν•˜λ‹€.

RAID 5

RAID 4μ—μ„œλŠ” μ–΄λ–€ μƒˆλ‘œμš΄ 데이터가 μ €μž₯될 λ•Œλ§ˆλ‹€ νŒ¨λ¦¬ν‹°λ₯Ό μ €μž₯ν•˜λŠ” λ””μŠ€ν¬μ—λ„ 데이터λ₯Ό μ“°κ²Œ λ˜λ―€λ‘œ νŒ¨λ¦¬ν‹°λ₯Ό μ €μž₯ν•˜λŠ” μž₯μΉ˜μ— 병λͺ© ν˜„μƒμ΄ λ°œμƒν•œλ‹€λŠ” λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

RAID 5λŠ” μ•„λž˜ 그림처럼 νŒ¨λ¦¬ν‹° 정보λ₯Ό λΆ„μ‚°ν•˜μ—¬ μ €μž₯ν•˜λŠ” λ°©μ‹μœΌλ‘œ RAID 4의 문제인 병λͺ© ν˜„μƒμ„ ν•΄μ†Œν•©λ‹ˆλ‹€.

RAID 6

RAID 6 의 ꡬ성은 기본적으둜 RAID 5와 κ°™μœΌλ‚˜, λ‹€μŒ κ·Έλ¦Όκ³Ό 같이 μ„œλ‘œ λ‹€λ₯Έ 두 개의 νŒ¨λ¦¬ν‹°λ₯Ό λ‘λŠ” λ°©μ‹μž…λ‹ˆλ‹€.

μ΄λŠ” 였λ₯˜λ₯Ό κ²€μΆœν•˜κ³  볡ꡬ할 수 μžˆλŠ” μˆ˜λ‹¨μ΄ 두 κ°œκ°€ 생긴 μ…ˆμž…λ‹ˆλ‹€.

λ”°λΌμ„œ RAID 6은 RAID 4λ‚˜ RAID 5보닀 μ•ˆμ „ν•œ ꡬ성이라 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

λ‹€λ§Œ μƒˆλ‘œμš΄ 정보λ₯Ό μ €μž₯ν•  λ•Œλ§ˆλ‹€ ν•¨κ»˜ μ €μž₯ν•  νŒ¨λ¦¬ν‹°κ°€ 두 κ°œμ΄λ―€λ‘œ, μ“°κΈ° μ†λ„λŠ” RAID 5보닀 λŠλ¦½λ‹ˆλ‹€.

λ”°λΌμ„œ RAID 6은 데이터 μ €μž₯ 속도λ₯Ό 쑰금 ν¬μƒν•˜λ”λΌλ„ 데이터λ₯Ό λ”μš± μ•ˆμ „ν•˜κ²Œ λ³΄κ΄€ν•˜κ³  싢을 λ•Œ μ‚¬μš©ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.


정리

이 외에도 RAID 0κ³Ό RAID 1을 ν˜Όν•©ν•œ RAID 10 방식도 있고, RAID 0κ³Ό RAID 5λ₯Ό ν˜Όν•©ν•œ RAID 5방식도 μžˆμŠ΅λ‹ˆλ‹€.

note: μ΄λ ‡κ²Œ μ—¬λŸ¬ RAID λ ˆλ²¨μ„ ν˜Όν•©ν•œ 방식을 Nested RAID 라고 ν•©λ‹ˆλ‹€.

각 RAID λ ˆλ²¨λ§ˆλ‹€ μž₯단점이 μžˆμœΌλ―€λ‘œ μ–΄λ–€ μƒν™©μ—μ„œ 무엇을 μ΅œμš°μ„ μœΌλ‘œ μ›ν•˜λŠ”μ§€μ— 따라 졜적의 RAID λ ˆλ²¨μ€ λ‹¬λΌμ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

그렇기에 각 RAID 레벨의 λŒ€λž΅μ μΈ ꡬ성과 νŠΉμ§•μ„ μ•„λŠ”κ²ƒμ΄ μ€‘μš”ν•©λ‹ˆλ‹€.


ν‚€μ›Œλ“œλ‘œ μ •λ¦¬ν•˜λŠ” 핡심 포인트

  • RAIDλž€ λ°μ΄ν„°μ˜ μ•ˆμ „μ„± ν˜Ήμ€ 높은 μ„±λŠ₯을 μœ„ν•΄ μ—¬λŸ¬ ν•˜λ“œ λ””μŠ€ν¬λ‚˜ SSDλ₯Ό 마치 ν•˜λ‚˜μ˜ μž₯μΉ˜μ €λŸΌ μ‚¬μš©ν•˜λŠ” κΈ°μˆ μž…λ‹ˆλ‹€.
  • RAID 0은 데이터λ₯Ό λ‹¨μˆœνžˆ λ³‘λ ¬λ‘œ λΆ„μ‚°ν•˜μ—¬ μ €μž₯ν•˜κ³ , RAID 1은 μ™„μ „ν•œ 볡사본을 λ§Œλ“­λ‹ˆλ‹€.
  • RAID 4λŠ” νŒ¨λ¦¬ν‹°λ₯Ό μ €μž₯ν•œ μž₯치λ₯Ό λ”°λ‘œ λ‘λŠ” 방식이고, RAID 5λŠ” νŒ¨λ¦¬ν‹°λ₯Ό λΆ„μ‚°ν•˜μ—¬ μ €μž₯ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.
  • RAID 6은 μ„œλ‘œ λ‹€λ₯Έ 두 개의 νŒ¨λ¦¬ν‹°λ₯Ό λ‘λŠ” λ°©μ‹μž…λ‹ˆλ‹€.