티스토리 뷰

Others

서버 하드웨어 구성

해구름 2021. 7. 16. 19:01
반응형

서버는 일반 데스크톱과 달리 성능보다는 안정성을 위한 부품들로 구성합니다. (2021년 7월 기준으로 작성)

CPU

Xeon CPU를 사용하며 E3, E5, E7 라인업으로 나누어집니다.

  • E3 라인업: 현재는 E3가 아니라 E2000 라인업으로 불리며, Entry Range 서버용 라인업입니다. 대략 동접자가 100명(작업에 따라 달라지겠지만) 이하인 소규모 서비스, 스타트업 서비스, 기업내부망 서버용으로 사용됩니다. ECC 메모리를 지원하지만 ECC/REG 메모리는 지원하지 않습니다.
  • E5 라인업: Middle Range 서버용으로 주로 중대형 DB서버나 서비스에 적합합니다. 최소 수백만원에서 수천만원에 달하는 고가의 서버 제품군에서 사용되며 CPU 2~4개, 메모리 8~24개를 하나의 메인보드에 장착하여 사용하기도 합니다. E5라인업 부터 ECC/REG 메모리를 지원합니다.
  • E7 라인업: Highend Range 서버용으로 주로 수천에서 수억원에 달하는 최고 성능을 위한 서버의 CPU 입니다. 대규모 서비스, 미션크리티컬(무결성이 보장되어야 하며 서비스가 중단되어서는 안되는 서비스, 예를들어 증권/금융 서비스)용으로 일반 중소규모 서비스에서는 사용하지 않습니다.

CPU 구매 고려사항

  • 서비스 규모에 따른 CPU선택 : 사용자 100명 이하의 소규모 서비스나 스타트업은 E3를 사용하며, 그 외 중대형 서비스는 보통 E5라인업으로 구성합니다.
  • 메인보드 칩셋 : CPU 라인업 별로 메인보드 칩셋이 다양하게 존재하며, 인텔 공식 사이트에서 CPU와 호환되는 메인보드 칩셋 정보를 제공합니다. 메인보드 제조사로는 TYAN, SuperMicro 등이 유명하며 최근에는 ASUS, GigaByte 등 데스크톱 메인보드 제조사에서도 저렴한 서버 메인보드를 판매하고 있습니다.
  • 내장그래픽 : 메인보드와 CPU에서 내장 그래픽을 지원하는지 확인해야합니다. 내장 그래픽을 지원하지 않으면 별도로 LP형 그래픽카드를 구매하면 됩니다. (가격대는 보통 10만원부터 시작하며 중고가는 3만원도 존재함)
  • 호환성 확인: CPU, 메모리, 메인보드의 제조사 웹사이트에서 QVL을 확인할 수 있습니다. Qualified Vendors List의 약자로 제조사에서 호환성을 보증한 제품 리스트를 말합니다. 간혹 제품간 호환성 문제가 생기기도 하는데 QVL에 존재하지 않는 제품인 경우 교환이나 환불이 어려울 수 있습니다.
  • 서버 라이선스: CPU의 코어 개수에 따라 필요한 Windows Server 라이선스가 달라집니다. 예를들어 16 Core CPU를 구매한 경우 필요한 Windows Server 라이선스는 8개입니다. CPU를 구매하기 전에 Windows Server 라이선스를 확인하는 것이 필요합니다.

메모리

메모리는 ECC, Buffered(=Registered), Unbuffered 등의 유형으로 나누어집니다. CPU나 메인보드에서 지원되지 않는 메모리를 장착할 경우 부팅 자체가 되지 않으므로 사전에 정확한 확인이 필요합니다. 가장 좋은 방법은 CPU, 메인보드, 메모리 제조사에서 각각 제공하는 QVL 리스트를 확인하는 것입니다. (QVL에서 지원하지 않아도 대부분은 호환되므로 엄격하게 지켜야하는 것은 아닙니다.)

  • ECC Unbuffered : ECC Non-REG, ECC UDIMM이라고 불립니다. 전자기적 간섭 등 하드웨어 장애로 발생하는 데이터 오염을 자동으로 보정해주는 메모리를 말합니다. ECC 메모리를 사용하면 서버를 수개월 이상 장기간 켜두어도 중단되지 않을 가능성이 높습니다. 참고로 ECC를 지원하지 않는 메모리도 1년 이상 안정적으로 동작하는 경우가 많습니다. 하지만 운이 나쁜 경우 메모리에서 낮은 확률로 오류가 발생할 수 있는데, ECC는 그러한 하드웨어 오류조차 발생하지 않도록 보장해주는 것입니다.
  • ECC Registered : ECC RDIMM, RECC, ECC Buffered, REG 메모리라고도 불립니다. 중규모 이상의 서버에서는 수 십개의 메모리를 하나의 메인보드에 장착하게 되는데, 이렇게 다수의 메모리를 장착할 경우 낮은 확률로 신호왜곡 등 메모리간 동기화 문제가 발생할 수도 있습니다. 이러한 문제를 막기 위해 메모리에 Register를 추가한 것이 ECC Reg 메모리입니다. ECC Reg 메모리는 일반 메모리보다 약 2% 가량 성능 저하가 발생할 수 있다고 합니다. 하지만 고가용성과 무결성이 반드시 보장되어야 하는 은행, 금융서비스, 슈퍼컴퓨터 등에는 반드시 ECC Reg 메모리를 사용하게 됩니다.
  • Unbuffered : UDIMM으로 불리며 일반 PC에서 주로 사용하는 메모리입니다. 안정성 보다는 성능과 가성비를 중시하는 메모리입니다. 사실 ECC나 REG가 없는 UDIMM 메모리 구성으로도 수년간 연속 서비스하는 경우도 존재하지만, 보통은 연속 사용 수개월을 넘기면 블루스크린 등의 문제가 발생하게 됩니다. 가정용 PC는 장기간 연속 사용할 경우가 거의 없고, 속도와 가성비가 중요하기에 UDIMM 메모리를 사용합니다.

메모리 유형확인

Windows Server에서는 설치된 메모리 유형을 wmic 명령어로 확인이 가능합니다.

  • ECC 여부확인: 명령 프롬프트에서 확인이 가능합니다. ECC 메모리일 경우 DataWidth와 TotalWidth가 다릅니다.
    C:> wmic MEMORYCHIP get DataWidth, TotalWidth
    DataWidth   TotalWidth
    64              64           //ECC 메모리 아님
    64              72           //ECC 메모리
  • REG 여부확인: 명령 프롬프트에서 확인이 가능합니다. 
    C:> wmic MemPhysical get MemoryErrorCorrection
    MemoryErrorCorrection
    3           //REG 메모리 아님
    6           //REG 메모리
    참고로 각 코드별로 메모리 유형은 다음과 같으며, 6은 ECC/REG를 의미하며 5는 ECC Unbuffered 메모리를 의미합니다.
    0 (0x0) Reserved
    1 (0x1) Other
    2 (0x2) Unknown
    3 (0x3) None
    4 (0x4) Parity
    5 (0x5) Single-bit ECC
    6 (0x6) Multi-bit ECC
    7 (0x7) CRC

사후관리

서버용 제품군들은 안정성 뿐만 아니라 문제가 생겼을 때 빠른 대응이 중요합니다. 높은 가격에도 불구하고 전문 서버업체를 통해서 서버를 구매하는 이유는 문제를 최소화하고, 문제가 발생하더라도 빠르게 대응이 가능하기 때문입니다.

직접 서버를 조립하는 경우에는 하드웨어 문제가 생겼을 때 어떻게 대응할지 메뉴얼을 생각해두어야 합니다. 서버 장애에 대응할 수 있는 담당 직원이 있어야 하며, 서버 장애 시 장비를 어디서 확보 해야할지, 시간은 얼마나 소요될지, 데이터 복구는 어떻게 진행할지 정책을 수립해야 합니다.

'Others' 카테고리의 다른 글

[C#] Object Clone  (0) 2023.05.24
[C#] CallerMemberName Attribute  (0) 2023.05.19
[C#] StringComparison 열거형  (0) 2022.07.28
[Mail] SMTP 프로토콜  (0) 2022.07.07
실무에서 TDD의 장담점과 의사결정  (0) 2021.01.07
[AndroidStudio] Code Folding  (0) 2020.12.16
[우분투] 설치 후 주요명령어  (0) 2020.11.22
[아웃룩] 데이터 파일(.ost) 위치 변경  (2) 2019.07.17
댓글