2장 서버
서버란 사용자의 요청을 받고 응답을 반환하는 하드웨어이며 IT 서비스를 제공하는 IT 인프라의 주축이다.
서버의 종류
형태에 따른 분류
- 랙 마운트형 서버
- 데이터 센터나 서버 룸에 설치된 랙 안에 들어감
- 19인치 랙에 수용하는 것을 전제로 하여 유닛 단위로 사이즈가 정해져 있음 (1U, 2U, ...)
- 엔트리 서버는 1U 사이즈가 많고, 미들레인지 서버 이상은 탑재 부품이 늘어나므로 2U 이상
- 타워형 서버
- 사내 서버 룸에 설치되거나 사무실 또는 점포 등에 설치됨
- 사무실 설치용 저소음 서버 선택 가능
- 냉방 시설과 바닥 하중 주의 필요
용도에 따른 분류
- 엔트리
- 주로 웹 서버나 애플리케이션 서버에 이용
- 주로 소켓 단위로 1~2개의 CPU를 탑재할 수 있는 서버를 가리킴
- 미들레인지
- 주로 데이터베이스 서버나 기간계 서버에 이용
- 주로 소켓 단위로 4개 이상의 CPU를 탑재할 수 있고, 하이엔드 서버에 속하지 않는 서버를 가리킴
- 기간계 시스템(또는 기간 업무 시스템)이란?
- 미션 크리티컬 시스템, 엔터프라이즈 시스템, 백본 시스템 등
- 기업 경영을 지속하는 데 핵심이 되는 재무관리, 업무관리, 생산 관리 등을 담당하는 시스템
- 하이엔드 서버
- 주로 데이터베이스 서버나 기간계 서버에 이용
- 주로 소켓 단위로 수십 개 이상의 CPU를 탑재할 수 있는 서버를 가리킴
IA 서버
- 인텔이나 AMD 등 인텔 호환 CPU를 탑재하고 일반 컴퓨터와 같은 아키텍처를 기반으로 하여 만들어진 서버
- 어느 업체를 선택해도 아키텍처가 같지만 업체나 기종에 따라 모양이나 기능에 차이가 있음
- 선택 시 고려할 요소
- 데이터 센터의 랙에 서버가 제대로 장착되는가? 랙 마운트 레일이 랙 크기에 맞지 않는 등의 이유로 랙에 서버가 장착되지 않으면 랙에 선반을 설치하여 기기를 선반 위에 직접 놓게 됨
- 설치할 수 있는 부품의 수 (ex. 설치할 수 있는 하드디스크(HDD)가 12개, 메모리 18개 등 업체에 따라 설치할 수 있는 부품의 수가 다름)
- 장애 발생 시 지원 체계
- 원격 제어 기능 (업체에 따라 명칭이나 기능이 다름)
- 납기
엔터프라이즈 서버
- 시스템의 핵심인 기간계에 사용되는 서버
- 대량 액세스를 견딜 수 있도록 수용량이 크고 내구성이 높아 가격이 비싸다
- 중요도가 높은 엔터프라이즈 서버는 하드웨어 이상 경고가 발생하면 자동으로 업체에 통보되도록 서버와 전화 회선을 연결하는 서비스도 이용 가능
서버 선정
서버 사양 결정 요소
항목 | 선택지 |
---|
CPU | 주파수, 개수(소켓 수), 코어 수, 캐시 용량, 가상화 지원 등 |
메모리 | 용량, 전송 속도, 매수 등 |
디스크 | 용량, 회전 수, 하드디스크 또는 SSD 등 |
RAID | RAID 1/5/6/10/50/60 등 |
NIC | 2포트, 4포트, 8포트 등 |
PSU | 총 와트 수, 비이중화, 이중화 |
보증 기간 | 1년, 3년, 5년 등 |
지원 수준 | 4시간 온사이트, 평일익영업일 지원, 24시간 365일 지원 등 |
확장성 | 메모리 소켓 수, PCI 슬롯 수, 디스크 탑재 수 등 |
물리적 사이즈 | 1U, 2U, 4U 등 |
무게 | 경량, 초중량 등 |
서버 사양 결정 방법
- 실제 환경을 시험적으로 구축하여 측정 결과를 보고 판단
- 기간계 시스템이나 중요 시스템의 경우 해당 방식 사용
- 많은 노력과 시간 필요
- 임시로 결정한 서버 사양의 기기를 현장에 투입해 실제 하드웨어 자원의 이용 상황을 측정한 후, 서버와 서버의 부품을 늘리거나 줄임
- 온라인 게임처럼 실제 액세스 양이 예측되지 않는 경우 사용
- 미리 여유롭게 준비하고 나중에 적정 규모로 사양 조정
- 업체 상담 시 적정 규모가 정해질 때까지 임시로 기기 대여를 해주기도 함
- 소거법으로 사양을 좁혀감
- 어느 정도 서비스의 성질이 정해진 경우
- 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와 용도는 같지만 내장애성이 더 높음 |
10 | RAID1을 스트라이핑한 것 | 내장애성과 디스크 I/O 성능 모두 필요한 경우 사용. 데이터베이스 등 |
50 | RAID5를 스트라이핑한 것 | 용량 확보와 디스크 I/O 성능 모두 필요한 경우 사용. 파일 서버나 로그 저장 등 |
60 | RAID6을 스트라이핑한 것 | 용량 확보와 디스크 I/O 성능 모두 필요한 경우 사용. 파일 서버나 로그 저장 등 |
- 디스크가 대량으로 필요한 경우 RAID 5와 RAID 10 중 하나를 검토
- RAID 5는 실제 용량을 많이 확보할 수 있지만 속도가 느리고, RAID 10은 실제 용량이 줄어드는 대신 속도가 빠름
가상화
가상화 모델
- 호스트 운영체제 타입
- 일반 운영체제(윈도우, 리눅스 등)에 게스트 운영체제를 관리하는 프로그램을 설치하여 가상화하는 방식
- 구현이 쉬움
- 오버헤드로 인해 동작 속도가 느려질 수 있음
- 하이퍼바이저 타입
- 가상화 전용 운영체제를 사용하는 방식
- 동작 속도가 빠름
개인 사용 시 주로 호스트 운영체제 타입을 사용, 서버 용도로는 주로 하이퍼바이저 타입 사용
클라우드
클라우드의 종류
- Saas
- Software as a Service
- 애플리케이션을 서비스로서 제공
- PaaS
- Platform as a Service
- 애플리케이션 실행 환경을 서비스로서 제공
- IaaS
- Infrastructure as a Service
- 시스템 인프라를 서비스로서 제공
- 사내에 물리 서버를 두지 않아도 사용 가능 ➡️ 물리 서버 관리 엔지니어가 필요 없음
- 단기간에 운영체제가 설치된 상태로 바로 사용 가능
- 물리적 제약을 의식하지 않고 이용하고 싶은 만큼 서버 증강 가능
- 사용한 만큼만 비용을 내는 종량과금제
- 서버를 살 때 발생하는 감가상각 처리 불필요. 클라우드 이용료는 그대로 비용 처리 가능
클라우드의 단점
- 하드웨어 자원이 대량으로 요구되는 스케일 업에 약함
- 물리 서버 장애 발생 시 클라우드 업체의 복구 완료를 기다리는 수 밖에 없음
- 클라우드 업체의 착오로 중요한 데이터가 소실될 위험이 있음
- 클라우드가 적합하지 않는 경우
- 기밀 정보 저장
- 다른 회사 서버에 기밀 정보가 저장됨
- 데이터 전송 시 인터젯을 거쳐야 함
- 기밀 정보 유출 발생 위험 존재
- 대용량 파일 전송
- 인터넷을 통해 전송되므로 사내 서버 설치보다 파일 전송이 느림
- 대규모 시스템
- 어느 정도 시스템 규모가 커지면 직접 장비를 보유하는 것이 비용에서 유리