SQL Server/SQL Server Tip

09_SQL 2008 강좌 - 스토리지와 RAID 레벨

SungWookKang 2015. 7. 15. 16:16
반응형

스토리지(DAS, NAS, SAN) 와 RAID 레벨

 

과거 데이터가 적을 때에는 서버내의 하드디스크 만으로도 충분히 활용이 가능 했으나 요즘의 데이터는 과거와 비교하여 데이터폭발이라고 할 만큼 많은 양의 디스크를 요구 한다.

 

특히 인터넷이 대중화 되고 온라인 컨텐츠가 늘어 날수록 데이터 증가 속도는 더욱 빨라지고 더 많은 용량의 저장공간을 필요로 한다.

 

그렇다면 이 많은 데이터를 어디에 저장할까? 그래서 나온 것이 스토리지 이다.

 

스토리지는 구성 방식에 따라 여러가지로 나누어 지는데 여기서는 일반 적으로 많이 쓰고 있는 3가지 방식에 대해서 살펴 보고자 한다.

 

특정 벤더 업체나 모델명은 언급 하지 않고 개념만 살펴 보도록 한다.

 

DAS(Direct Attached Storage)?

 

서버와 전용 케이블로 연결한 외부 저장장치 이다. 쉽게 생각하면 일반 사용자들이 많이 쓰는 외장형 하드디스크라고 생각하면 된다. 일반 데스크탑 컴퓨터 에서는 USB 또는 e-SATA 등으로 연결하지만 서버용은 좀더 빠른 성능과 대용량 그리고 안정성을 지원하기 위하여 전용 컨트롤러와 케이블을 사용한다.

 

장점 : 가격이 상대적으로 싸다. 설치 및 운용이 쉽다. 하드디스크를 추가한 만큼 용량이 증가.

단점 : 서버가 다운된 경우 사용 불능. 다른 서버와 연결이 어렵다. 스토리지가 분리 될 경우 데이터 손실 발생 가능성이 있다.(이를 보통 스토리지가 떨어졌다 라고 표현한다.)

 

 

NAS(Network Attached Storage)?

 

FILE Server는 네트워크가 발달하지 못햇던 시절 파일 공유 서비스를 위하여 범용OS에서 제공되는 일부분의 기능을 사용하여 구현하였고, 저장장치는 주로 PC에 내장된 디스크를 이용하였다. 그리고 서버/클라이언트 구주로 파일서버가 서버로서의 역할을 하고 각 End-User 의 단말기(PC)가 클라이언트 역할을 하도록 구현되었다. 시간이 지나면서 데이터의 용량이 폭증하고 파일 공유 및 서비스를 위한 I/O가 보다 높은 대역폭을 필요하게 되었다. 이런 한계를 극복한 것이 NAS이다.

NAS는 글자 그대로 네트워크(LAN)에 연결된 스토리지 이다.

 

장점 : 파일 공유가 쉽다. 네트워크에 연결 하면 됨으로 특정 장비에 종속적이지 않다.

단점 : Latency Time 증가.(느리다) 대규모 처리에서 성능 문제 발생. DB의 경우 로컬에 캐싱하는데 스토리지 장애 발생 경우 데이터 Consistency 문제.

 

 

SAN(Storage Area Network)?

 

'광저장장치영역 네트워크'라고 불린다. 특수 목적용 고속 네트워크로서 대규모 네트워크 사용자들을 위하여 이기종 간의 데이터 저장장치를 관련 데이터 서버와 함께 연결해 별도의 네트워크를 구성해 관리한다.

1990년대 말부터 개발 되기 시작하여 현재 대부분의 고용량 및 고성능을 요구하는데서는 보편적으로 쓰고 있다. 시간이 지날수록 고성장세를 나타내고 있다.

장점 : 서로 다른 종류의 저장장치 연결 가능. 백업, 보관, 검색 가능. 저장장치간 데이터 이동 가능.

단점 : 가격이 비싸다.

 

 

 

스토리지의 3종류에 대해서 알아 보았다. 사용자의 환경에 맞추어 적절한 스토리지를 선택하여 비용대비 최대의 효과를 구현할 수 있기를 바란다.

 

Raid Level

 

데이터 베이스의 성능은 쿼리를 얼만큼 효율적으로 잘 만드느냐!

옵티마이져를 얼마나 이해해서 최적의 수행경로를 찾느냐로 성능을 향상 시킬 수 있다.

 

하지만 소프트웨어는 하드웨어에 종속적이므로 하드웨어 성능 자체가 느리다면 아무리 튜닝을 해도 한계가 있기 마련이다.

 

컴퓨터에서 가장 느린 장치가 무엇일까?

하드 디스크 이다. 이번 시간은 하드디스크를 여러 개 묶어서 성능을 향상시키는 방법에 대해 알아 보자.

 

RAID는 Redunadant Array of Inexpensive Disks 의 약자로 값싼 디스크를 여러장 묶어 대용량의 저장공간을 만들고자 하는 요구로 1980년대 처음 등장하였다. 최근에는 디스크 가격이 고용량 저가격이 형성되면서 의미는 많이 퇴색해져 중복성과 성능향상으로 바뀌고 있다.

 

RAID는 구성에 따라 총 6가지 (0, 1, 2, 3, 4, 5, 6)레벨로 나눌 수 있으며 레벨에 따라 신뢰성과 성능 향상을 나타낸다.

 

RAID 0

2개 이상의 디스크를 사용하여 구성. 스트라이핑 모드.

장점 : 같은 섹터에 병렬기록, 읽기/쓰기 향상.

단점 : 디스크 장애시 복구 불능.

사용처 : 중요하지 않는 데이터에 빠른 처리가 요구될 때 사용.

 

RAID 1

동일한 Raid 볼륨으 추가적으로 구성 한 것. 미러링 모드

장점 : 디스크 장애시 복구 가능. 읽기 성능 향상.(다중 스레드 사용시)

단점 : 동일 데이터를 중복해서 써야하므로 쓰기 속도 느림.

사용처 : 속도보다는 안정성을 추구하는 데이터에 적합. 전체용량의 1/2 만 사용가능.

 

RAID 2

RAID 0의 장점을 사용하면서 신뢰성을 높이기 위한 방법. 4개를 스트라이핑 모드 구성 + 3개의 패리티 체크 구성.

장점 : 여러 개의 디스크 장애시 복구 가능.

단점 : 볼륨 구성 단위가 크다.

 

 

RAID 3

RAID2의 단점을 개선 한 모델. 하나의 볼륨에만 패리티 저장.

장점 : RAID2보다 적은 볼륨 사용.(디스크 절약)

단점 : 동일 위치 동시 장해시 복구 불능.

 

RAID 4

구성은RAID3와 동일. 단 저장 단위가 RAID3는 바이트 단위. RAID4는 블록 단위.

 

 

 

 

 

 

 

RAID 5

RAID4의 단점을 개선 시킨 모델. 성능샹 효율을 위해 패리티 디스크들을 각 볼륨에 분할.

최소 3개의 디스크 필요.

장점 : 어느 정도 속도 보장.

단점 : 다중 디스크 장애시 복구 불능. (1장 까지 장애 복구 가능)

 

RAID 6

RAID5에 비해 신뢰성에 기반을 둔 레벨. 패리티 디스크를 추가함으로써 동시 오류에 복구가 가능하도록 설계.

추가적인 패리티 기록을 위하여 속도가 느리다.

 

 

최근에는 하이브리드 방식으로 RAID레벨의 장점을 섞어 성능과 신뢰성 비용 효과를 보고 있다.

  • RAID 0+1
  • RAID 1 + 0
  • RAID 5 + 0
  • RAID 5+ 1
  • RAID 6 + 0

 

RAID Level Comparision (Adaptec 자료)

 

 

 

레이드의 종류에 대해서 알아 보았다. 그렇다면 우리의 환경에서는 어떤 레이드를 고려해야 할까?

무조건 빠른 것? 안정적인 것?

 

지난 시간에 데이터베이스 생성을 다루면서 LDF 파일은 빠른 디스크에 저장할 경우 성능 향상을 기대할 수 있다고 하였다. 그렇다면 어떤 레이드 레벨이 좋을까?

 

위의 도표를 참고로 가장 빠른 레이드 레벨은 0 이지만 안정성에 취약한 부분이 존재한다.

LDF 파일은 중요함으로 중요성을 강요한 1 의 모드가 필요 할 수도 있다.

이럴땐 1 + 0 로 레벨을 설정하여 성능과 안정성 을 추구 할 수 있다.

 

이처럼 현업의 업무 성향이나 데이터의 중요도 등을 고려하여 최적의 레이드 레벨을 구현하여 비용대비 최대의 효익을 추구하길 바란다.

 

 

 

반응형