[교재] 인프라 엔지니어의 교과서 2장 - 서버

hwwwa·2023년 2월 9일
0

2장 서버

서버란 사용자의 요청을 받고 응답을 반환하는 하드웨어이며 IT 서비스를 제공하는 IT 인프라의 주축이다.

서버의 종류

형태에 따른 분류

  • 랙 마운트형 서버
    • 데이터 센터나 서버 룸에 설치된 랙 안에 들어감
    • 19인치 랙에 수용하는 것을 전제로 하여 유닛 단위로 사이즈가 정해져 있음 (1U, 2U, ...)
    • 엔트리 서버는 1U 사이즈가 많고, 미들레인지 서버 이상은 탑재 부품이 늘어나므로 2U 이상
  • 타워형 서버
    • 사내 서버 룸에 설치되거나 사무실 또는 점포 등에 설치됨
    • 사무실 설치용 저소음 서버 선택 가능
    • 냉방 시설과 바닥 하중 주의 필요

용도에 따른 분류

  • 엔트리
    • 주로 웹 서버나 애플리케이션 서버에 이용
    • 주로 소켓 단위로 1~2개의 CPU를 탑재할 수 있는 서버를 가리킴
  • 미들레인지
    • 주로 데이터베이스 서버나 기간계 서버에 이용
    • 주로 소켓 단위로 4개 이상의 CPU를 탑재할 수 있고, 하이엔드 서버에 속하지 않는 서버를 가리킴
    • 기간계 시스템(또는 기간 업무 시스템)이란?
      • 미션 크리티컬 시스템, 엔터프라이즈 시스템, 백본 시스템 등
      • 기업 경영을 지속하는 데 핵심이 되는 재무관리, 업무관리, 생산 관리 등을 담당하는 시스템
  • 하이엔드 서버
    • 주로 데이터베이스 서버나 기간계 서버에 이용
    • 주로 소켓 단위로 수십 개 이상의 CPU를 탑재할 수 있는 서버를 가리킴

IA 서버

  • 인텔이나 AMD 등 인텔 호환 CPU를 탑재하고 일반 컴퓨터와 같은 아키텍처를 기반으로 하여 만들어진 서버
  • 어느 업체를 선택해도 아키텍처가 같지만 업체나 기종에 따라 모양이나 기능에 차이가 있음
  • 선택 시 고려할 요소
    • 데이터 센터의 랙에 서버가 제대로 장착되는가? 랙 마운트 레일이 랙 크기에 맞지 않는 등의 이유로 랙에 서버가 장착되지 않으면 랙에 선반을 설치하여 기기를 선반 위에 직접 놓게 됨
    • 설치할 수 있는 부품의 수 (ex. 설치할 수 있는 하드디스크(HDD)가 12개, 메모리 18개 등 업체에 따라 설치할 수 있는 부품의 수가 다름)
    • 장애 발생 시 지원 체계
    • 원격 제어 기능 (업체에 따라 명칭이나 기능이 다름)
    • 납기

엔터프라이즈 서버

  • 시스템의 핵심인 기간계에 사용되는 서버
  • 대량 액세스를 견딜 수 있도록 수용량이 크고 내구성이 높아 가격이 비싸다
  • 중요도가 높은 엔터프라이즈 서버는 하드웨어 이상 경고가 발생하면 자동으로 업체에 통보되도록 서버와 전화 회선을 연결하는 서비스도 이용 가능

서버 선정

서버 사양 결정 요소

항목선택지
CPU주파수, 개수(소켓 수), 코어 수, 캐시 용량, 가상화 지원 등
메모리용량, 전송 속도, 매수 등
디스크용량, 회전 수, 하드디스크 또는 SSD 등
RAIDRAID 1/5/6/10/50/60 등
NIC2포트, 4포트, 8포트 등
PSU총 와트 수, 비이중화, 이중화
보증 기간1년, 3년, 5년 등
지원 수준4시간 온사이트, 평일익영업일 지원, 24시간 365일 지원 등
확장성메모리 소켓 수, PCI 슬롯 수, 디스크 탑재 수 등
물리적 사이즈1U, 2U, 4U 등
무게경량, 초중량 등

서버 사양 결정 방법

  1. 실제 환경을 시험적으로 구축하여 측정 결과를 보고 판단
    • 기간계 시스템이나 중요 시스템의 경우 해당 방식 사용
    • 많은 노력과 시간 필요
  2. 임시로 결정한 서버 사양의 기기를 현장에 투입해 실제 하드웨어 자원의 이용 상황을 측정한 후, 서버와 서버의 부품을 늘리거나 줄임
    • 온라인 게임처럼 실제 액세스 양이 예측되지 않는 경우 사용
    • 미리 여유롭게 준비하고 나중에 적정 규모로 사양 조정
    • 업체 상담 시 적정 규모가 정해질 때까지 임시로 기기 대여를 해주기도 함
  3. 소거법으로 사양을 좁혀감
    • 어느 정도 서비스의 성질이 정해진 경우
    • ex) 웹 서버의 경우 메모리 이외의 하드웨어 리소스는 많이 필요하지 않으므로 메모리만 여유롭게 준비하고 나머지는 최소 서비스 사양으로 준비

Scale Out과 Scale Up

  • Scale Out : 성능이 부족해지면 서버의 수를 늘려서 수용량을 늘리는 방법
  • Scale Up : 성능이 부족해지면 메모리 증설 등 부품을 추가/교환하거나 상위 기종으로 교체하여 서버의 성능을 높이는 방법

CPU

이전에는 동작 주파수를 올려 연산 능력을 높였지만 소비 전력 증가와 발열 증가의 단점이 더 커지게 됨
현재는 동작 주파수는 어느 정도 수준으로 억제하고 멀티코어나 멀티스레드와 같은 방식으로 하나의 CPU로 동시에 처리할 수 있는 연산 개수를 늘려 연산 능력을 향상

  • 소켓 수 : CPU의 개수
  • 코어 수 : CPU의 주요 계산 부분. 복수의 코어가 있는 경우 멀티코어라고 함
  • 스레드 수 : 하나의 코어에서 처리할 수 있는 수. 하이퍼스레딩 기능이 있으면 코어 수가 배가 됨
  • 동작 주파수 : 1초당 클럭 수. 동작 주파수가 높을수록 처리 속도가 빠르지만, 전력 효율이 감소하고 발열이 증가
  • 캐시 : CPU와 메인 메모리 사이. 자주 액세스하는 데이터를 저장하여 상대적으로 느린 메인 메모리로의 액세스를 줄여 CPU 처리 성능을 높임
  • 하이퍼스레딩 : 하나의 코어로 두 개의 처리를 실행할 수 있는 기술
  • 터보부스트 기술 : CPU 속도를 자동으로 기준 클럭보다 빠르게 동작시키는 기능. 쉬는 코어가 있을 때 일하고 있는 코어를 클럭 업시키는 기술

선정 포인트

  • 성능
    • 요구하는 연산 능력을 만족하는가?
  • 가격
    • 앞으로의 확장성을 고려해 처리 능력이 높은 CPU 선택
    • 처리 능력이 낮은 CPU를 여러 개 탑재하는 방법 선택
  • 소프트웨어의 라이선스 체계
    • CPU 코어 수와 소켓 수로 가격이 달라지는 소프트웨어의 경우
  • 소비 전력
    • 저전력 CPU: 동작 클럭을 떨어뜨려 소비 전력 절감
    • 저전력 CPU 선택 시 단가가 올라가지만 수년 단위의 운영 비용에서 총 비용이 절감될 수 있음

Memory

메모리 용량 크기가 가장 중요한 요소이지만, 서버용 메모리에서는 그 외에도 내장애성, 성능, 저전력 등이 중시됨
메모리의 속도는 메모리 자체의 속도, CPU와 각종 버스 간의 데이터 전송폭을 모두 고려함

  • 슬롯 : 메인보드에 있는 메모리 삽입구
  • ECC 메모리 : 메모리 고장으로 비트 반전 오류 발생 시 자동으로 보정, 감지 가능하도록 ECC(Error Conncection Code) 패리티 정보가 추가된 메모리
  • 채널 : CPU와 메인보드의 칩셋이 복수의 채널을 지원한다면, 채널별로 같은 종류의 메모리를 탑재하여 데이터 폭을 넓이고 성능을 높일 수 있음
  • 랭크 : 메모리 컨트롤러가 메모리의 DRAM에서 데이터를 입출력하는 단위
  • UDIMM : Unbuffered Dual In-line Memory Module. 일반 컴퓨터용 메모리의 대부분에 해당
  • RDIMM : Registerd DIMM. 클럭과 주소 등의 제어 신호를 버퍼 회로가 가져옴. 대용량 메모리나 서버용 메모리로 주로 사용
  • LRDIMM : Load Reduced DIMM. 메모리 컨트롤러와 메모리 칩 사이의 모든 통신이 버퍼 회로를 매개로 함. 대용량, 고속 전송
  • LV : 저전압. 일반 메모리보다 전압을 낮춰 저전력을 실현한 메모리

메모리 삽입 규칙

  • 각 프로세서의 메모리 구성은 같아야 함
  • RDIMM 메모리와 UDIMM 메모리는 섞어서 쓸 수 없음
  • 각 채널에 탑재하는 메모리는 같은 종류로 구성
  • 저전압 메모리와 저전압이 아닌 메모리는 대부분 섞어서 쓸 수 있음
  • 원칙적으로 ECC 메모리와 비 ECC 메모리는 섞어서 쓸 수 없음

선정 포인트

  • 용량
    • 필요한 메모리 용량을 설치
  • 성능
    • 메모리에 빠르게 액세스하는 경우 ➡️ 고속 메모리 선택
    • 듀얼 채널 이상인 경우 ➡️ 가장 좋은 성능을 낼 수 있고 메모리 컨트롤러의 최대 랭크 수를 모두 사용하는 방식 선택
    • 다중 프로세서 환경인 경우 ➡️ 다중 채널을 구현하여 성능 향상
  • 확장성
    • 메모리 슬롯 수는 한정되어 있으므로 비싸더라도 대용량 메모리 선택

Disk

  • SATA 하드디스크
    • 가격 저렴. 하루 8시간 가동 용도
    • 중요하지 않은 서버에 일부러 내장애성을 희생하고 사용하기도 함
  • SAS 하드디스크
    • 고속. 신뢰성 높음. 무정지 가동 용도
  • FC 하드디스크
    • 초고속. 신뢰성 높음
    • SAN 스토리지 등 엔터프라이즈 용도
  • 니어라인 하드디스크
    • 온라인과 오프라인의 중간인 near-online 상태에 적합
    • 아카이브 장기 보존 용도. 하루에 몇 시간 정도 이용
  • SSD
    • 반도체 소자 메모리를 기억 장치에 이용한 디스크
    • 빠르고 저전력이지만 매우 비쌈
    • 쓰기와 지우기를 반복하면 성능이 떨어짐
  • 엔터프라이즈 플래시 메모리 스토리지
    • 엔터프라이즈 용도로 비휘발성 메모리를 사용한 초고속 저장 장치

RAID

  • RAID 구성 시 디스크 I/O 성능 향상 가능
  • IOPS : Input/Output Per Second. 초당 처리 가능한 I/O 수치
RAID설명용도
0내장애성이 없는 디스크 어레이 (스트라이핑)디스크 I/O 성능을 높일 때 사용. 내장애성 낮음. 로그 집계 등 임시 저장 영역에 사용
1이중화 (미러링)내장애성 높음. OS가 설치된 파티션 등에 사용
2비트 단위 전용 오류 보정 부호 드라이브 (ECC)거의 사용하지 않음
3비트/바이트 단위 전용 패리티 드라이브거의 사용하지 않음
4블록 단위 전용 패리티 드라이브거의 사용하지 않음
5블록 단위 패리티 정보 기록저장 용량을 확보 시 사용. 파일 서버나 로그 저장 등
6블록 단위에서 두 가지 패리티 정보 기록RAID5와 용도는 같지만 내장애성이 더 높음
10RAID1을 스트라이핑한 것내장애성과 디스크 I/O 성능 모두 필요한 경우 사용. 데이터베이스 등
50RAID5를 스트라이핑한 것용량 확보와 디스크 I/O 성능 모두 필요한 경우 사용. 파일 서버나 로그 저장 등
60RAID6을 스트라이핑한 것용량 확보와 디스크 I/O 성능 모두 필요한 경우 사용. 파일 서버나 로그 저장 등
  • 디스크가 대량으로 필요한 경우 RAID 5와 RAID 10 중 하나를 검토
    • RAID 5는 실제 용량을 많이 확보할 수 있지만 속도가 느리고, RAID 10은 실제 용량이 줄어드는 대신 속도가 빠름

가상화

  • 서버 가상화 : 가상화 기술을 사용하여 한 대의 물리 서버에서 여러 개의 게스트 운영체제를 가동하는 것

    • CPU 사용률과 디스크 I/O 부하, 디스크 사용 용량이 적은 용도에 적합. 주된 용도는 웹 서버, 개발 서버, 메모리 DB 등
  • 장점

    • 비용 감소
    • 게스트 운영체제의 하드웨어 자원을 조정하는 것이 쉬움
    • 하드웨어 교체 시 새로운 물리 서버에 가상화 환경을 준비하여 간단히 옮길 수 있음
  • 단점

    • 다른 게스트 운영체제가 하드웨어 자원을 많이 사용하면 다른 게스트 운영체제의 동작이 불안정해짐
    • 한 번 만들어진 게스트 운영체제는 이후에 사용하지 않아도 삭제되지 않고 그대로 남기 쉬움

가상화 모델

  • 호스트 운영체제 타입
    • 일반 운영체제(윈도우, 리눅스 등)에 게스트 운영체제를 관리하는 프로그램을 설치하여 가상화하는 방식
    • 구현이 쉬움
    • 오버헤드로 인해 동작 속도가 느려질 수 있음
  • 하이퍼바이저 타입
    • 가상화 전용 운영체제를 사용하는 방식
    • 동작 속도가 빠름

개인 사용 시 주로 호스트 운영체제 타입을 사용, 서버 용도로는 주로 하이퍼바이저 타입 사용


클라우드

클라우드의 종류

  • Saas
    • Software as a Service
    • 애플리케이션을 서비스로서 제공
  • PaaS
    • Platform as a Service
    • 애플리케이션 실행 환경을 서비스로서 제공
  • IaaS
    • Infrastructure as a Service
    • 시스템 인프라를 서비스로서 제공
    • 사내에 물리 서버를 두지 않아도 사용 가능 ➡️ 물리 서버 관리 엔지니어가 필요 없음
    • 단기간에 운영체제가 설치된 상태로 바로 사용 가능
    • 물리적 제약을 의식하지 않고 이용하고 싶은 만큼 서버 증강 가능
    • 사용한 만큼만 비용을 내는 종량과금제
    • 서버를 살 때 발생하는 감가상각 처리 불필요. 클라우드 이용료는 그대로 비용 처리 가능

클라우드의 단점

  • 하드웨어 자원이 대량으로 요구되는 스케일 업에 약함
  • 물리 서버 장애 발생 시 클라우드 업체의 복구 완료를 기다리는 수 밖에 없음
  • 클라우드 업체의 착오로 중요한 데이터가 소실될 위험이 있음
  • 클라우드가 적합하지 않는 경우
    • 기밀 정보 저장
      • 다른 회사 서버에 기밀 정보가 저장됨
      • 데이터 전송 시 인터젯을 거쳐야 함
      • 기밀 정보 유출 발생 위험 존재
    • 대용량 파일 전송
      • 인터넷을 통해 전송되므로 사내 서버 설치보다 파일 전송이 느림
    • 대규모 시스템
      • 어느 정도 시스템 규모가 커지면 직접 장비를 보유하는 것이 비용에서 유리

0개의 댓글