SQL Server 2008 인스턴스의 RAID 수준 조합을 선택하도록 도와주세요


11

하나의 IBM 3400 서버를 처음부터 다시 작성하려고합니다. 이 서버는 Windows 2008 R2에서 실행되는 SQL Server 2008 인스턴스 전용입니다.

새로운 RAID 구성을 만들려고합니다. 머신 내부에 6 개의 SCSI 73GB 드라이브와 IBM ServerRAID 8K 컨트롤러가 있습니다. RAID 레벨을 설정하는 좋은 방법은 무엇입니까? 컨트롤러에 2 개, 3 개 또는 1 개의 필드가 있어야합니까?

다음 해결책 중 하나를 고려하고 있습니다.

  1. 모든 디스크를 사용하고 RAID 10 풀을 만듭니다.
  2. RAID 1e 풀에 4 개의 디스크를 사용하고이를 사용하여 데이터베이스 데이터 및 OS를 저장하고 다른 2 개의 디스크를 RAID 0 풀에 사용하고이를 사용하여 데이터베이스 로그를 저장하십시오.
  3. 다른 조합.

더 큰 스트라이프 단위 크기가 더 낫습니까?

이 서버는 복제 된 데이터베이스의 가입자입니다. 주요 작업은 복제 에이전트 만 작성하여보고 및 데이터 검색을 수행하는 것입니다. 데이터베이스의 크기는 약 90GB입니다.


RAID1ERAID10 이라는 용어를 서로 바꾸어 사용하고 있습니까?
잭 topanswers.xyz 시도라고

또한 3x73 ~ 220GB-90GB DB가 매년 얼마나 성장할 것으로 예상하십니까?
잭 topanswers.xyz 시도라고

@JackDouglas 90기가바이트와이 데이터베이스는 지금까지 2천6년에서, 나는 그것이 30 %의 주위에 최대 향후 2 년에 성장할 수 있다고 생각
adopilot

서버를 처음부터 구축 할 때 스토리지를 최대한 많이 프로비저닝하고 싶습니다. 2 계층 스토리지 (예 : SATA)도 있습니까? 특히 DR 상황에 처할 때 적절한 양의 호흡 실에 매우 편리 할 수 ​​있습니다.
잭 topanswers.xyz 시도라고

답변:


6

옵션 1에 투표합니다. RAID 0은 "보호 없음"을 의미합니다. 로그가 중요합니까? (그렇습니다).

또한 단순성의 이점도 있습니다

SQL 서버 문서는 말한다 :

최적화 된 I / O 병렬 처리를 위해서는 64KB 또는 256KB 스트라이프 크기를 사용하십시오.

그러나 일반적으로 컨트롤러 기본 IMO와 함께 사용하는 것이 좋습니다


5

노트:

  • OS + 바이너리는 40GB입니다.
  • 6 디스크는 많은 옵션을 남기지 않습니다.
  • 어디에서 백업을 원하십니까?
  • RAID 컨트롤러가 스트라이프 크기를 선택하게하십시오 (RAID 레벨에 따라 다름). 이것은 미세 최적화이며 충돌하는 데이터가 표시됩니다
  • 로그 파일 쓰기 속도가 처리량을 결정합니다
  • 인덱스 재 구축을 위해 MDF 내부의 여유 공간 = 1.2 배 큰 테이블을 허용해야합니다.
  • RAID 0 = 모든 값의 데이터가있는 서버의 이디 오틱

하나의 RAID 10 어레이로갑니다


4

각각 3 개의 미러가있는 2 개의 RAID1 볼륨 또는 3 개의 미러 세트 2 개에 스트라이핑이있는 RAID10을 사용합니다.

근거 : 두 개의 거울이 너무 작습니다. 서버는 한 달에 한 번 이상 적절한 일관성 검사를 수행하지 않으므로 불량 블록이있을 가능성이 큽니다. 다른 미러가 그대로 유지되는 한 이러한 문제는 중요하지 않지만 한 디스크에 오류가 발생하면 다른 디스크에서 복구 할 수 없습니다. 따라서 세 개의 거울.

RAID6은 쓰기가 작기 때문에 데이터베이스 설정에서 나쁜 생각으로 백그라운드에서 읽기-수정-쓰기 작업으로 바뀝니다.

두 개의 RAID1 볼륨 또는 하나의 RAID10 중 어느 것이 더 나은지 여부는 응용 프로그램에 따라 다릅니다. 전체 공간이 필요할 것으로 예상되는 경우 RAID10으로 이동하십시오. 그렇지 않으면 시스템 및 인덱스와 데이터 페이지에 각각 하나의 볼륨을 제안합니다. 볼륨이 두 개인 경우 확장해야 할 경우 나중에 컨트롤러가 RAID1을 RAID10으로 확장 할 수 있는지 확인하십시오.


문제 미러링을 언급 한 +1은 (적어도 독자적으로는) 해결 되지 않습니다 . Linux에서 스크러빙을보다 정기적으로 수행하도록 구성 할 수 있습니다. Windows에서도 마찬가지입니다. 그러나 인덱스와 데이터를 이상적으로 분리해야한다는 신화를 되풀이합니다. 로그를 별도로 유지 해야한다는 주장 있지만 인덱스와 데이터를 함께 묶는 것이 가장 좋습니다 (가능한 한 많은 스핀들에 걸쳐)
Jack은 topanswers.xyz를 시도합니다

더 자주 검사를 구성 할 수 있어야한다고 생각합니다. 그러나 데이터베이스 성능은 일반적으로 크게 떨어 지므로 추가 드라이브를 사용하고 검사를 줄이려고합니다.
Simon Richter

일반적으로 인덱스를 별도로 유지하여 다른 캐시 및 readahead 동작을 사용할 수 있습니다. 전체 테이블 스캔은 일반적으로 readahead의 이점을 얻는 반면 인덱스 스캔은 덜 자주 수행합니다.
Simon Richter

내 데비안 시스템에서 / usr / share / mdadm / checkarray는 기본적으로 --idle 플래그와 함께 실행되므로 눈에 띄는 성능 저하를 기대하지 않습니다. OP의 경우 RAID 컨트롤러가 처리하며 미러가 2 개 또는 3 개인 지 여부에 관계없이 수행되므로 히트 (있는 경우)가 발생합니다.
잭 topanswers.xyz 시도라고

인덱스 스캔, 공정 점을 다시하지만이 마이크로 최적화하지 일반적으로 튜닝 조언 : 나는 주위에 물어거야 좋을 것 채팅 다른 사람이 어떻게 생각하는지보고 - 더 ... 칩 부담없이 할
잭 말한다 try answeranswers.xyz

3

나는 Douglas에 동의한다. 디스크 공간이 부족하지 않는 한 일반적인 raid-10은 좋은 시작입니다. 스트라이프 크기가 ​​작을수록 DB 액세스에 더 좋습니다. 다른 파티션을 사용하면 한 파티션의 공간이 더 빨리 소모됩니다.

raid-0은 데이터를 백업에서 가져 오거나 삭제할 수있을뿐만 아니라 디스크가 고장날 때마다 다운 타임을 의미합니다. 기계가 며칠의 가동 중지 시간이 중요하지 않은 데이터 크 런칭을 수행합니까? NBD 지원에서도 새 디스크를 얻는 데 약 6 일이 걸릴 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.