ssuperjun 님의 블로그
[스터디2] [인프라 엔지니어의 교과서] 2장 서버 발표용 본문
2장: 서버
서버란? 사용자의 요청을 받고 응답을 반환하는 하드웨어
2-1. 서버의 종류
랙 마운트형 서버: 데이터 센터의 랙 안에 수납됨. 소음이 크고 별도의 냉각 시스템 필수


타워형 서버: 일반 데스크톱 PC 모양. 소음 적지만 바닥 면적 차지해 1-2대 서버만 필요한 회사 사내 서버룸에서 사용
엔트리<미들레인지<하이엔드 서버: 오른쪽으로 갈수록 비싸고 CPU를 많이 탑재할 수 있음
IA(인텔 아키텍처) 서버 vs 엔터프라이즈 서버
- IA 서버는 x86서버로 불림. 인텔 호환 CPU를 가진 서버
- 데이터 센터의 랙에 서버가 잘 장착되는지, 설치 가능한 부품 수, 장애 발생 시 지원체계, 원격 제어 기능 등 고려해 서버 선택
- 엔터프라이즈 서버: 코어계(대량의 액세스를 견디고 멈추지 않는 고가의 서버)
*서버와 일반 컴퓨터는 동일한 부품으로 구성되지만 서버는 24시간 동작되며 고장나도 멈추지 않도록 설계돼 있음
2-2. 서버 선정
서버 선정 시 조건: CPU, 메모리, 디스크, RAID(분산 저장), NIC(랜카드), 전원 공급 장치, 유지보수 기간(3년 이내), 유지보수 수준(휴일 미지원), 확장성(여분의 슬롯 수), 물리적인 무게 및 크기 등 스펙 결정
서버 사양 결정 방법
- 코어 시스템은 실제 환경을 시험 구축해보고 측정 결과를 바탕으로 한번에 결정
- 접속량을 예측할 수 없는 경우라면 실제 하드웨어 자원의 이용 상황을 측정한 후 서버나 부품을 증감시키기
- 서비스 성격이 정해져 있다면 메모리만 많이 장착하고 나머지는 필요한 최소 사양으로 구성하는 방식 가능
스케일아웃 vs 스케일 업
스케일아웃은 서버 대수 늘리기, 스케일업은 서버 성능 높이기

*scale out(수평적 증가): 트래픽 및 작업 부하 증가 시 시스템 리소스를 추가 -> 작업이 많아져도 성능 유지
*scale up(수직적 증가): 시스템 리소스를 업그레이드(gpu, ram 등 추가 혹은 개선) -> 성능 유지
가격, 서비스 등을 고려해 벤더 업체 선정: 회사마다 원격 제어 기능 명칭, 명령 체계가 다름
2-3. CPU
- 대량의 연산을 고속으로 처리하는 중앙처리장치
- 성능과 발열, 소비 전력: 연산 성능을 높이면서도 발열과 소비 전력을 낮추는 방향으로 발전해 옴
- 클럭 속도(CPU가 1초에 처리 가능한 명령의 수)를 높이는 방식, 멀티코어를 탑재하는 방식 등으로 발전
CPU 주요 용어
- 소켓 수(물리적으로 탑재할 수 있는 CPU 수)
- 동작주파수(=클럭 속도)
- 코어(주요 연산 회로. 코어가 많을수록 멀티태스킹 향상)
- 캐시 메모리(CPU 내부 빠른 임시 저장소)
- 멀티스레딩(하나의 물리 코어를 동시에 실행하는 것처럼 보이게 -> 각 작업의 사용률이 높아져 작업 속도 개선)
- 터보 부스트 기술(인텔 CPU 기능 중 하나. 고부하 작업은 클록을 높게, 아닌건 낮게 조절)
CPU 선택 시 고려사항
- 코어 수(멀티태스킹 고려)
- 소켓 수(물리적인 CPU 여러개 장착)
- 연산 능력(CPU 사용률이 높은 서비스 용도라면 클럭 높고 코어 많은 고성능 CPU 사용. 1초 동안 처리 가능한 연산 횟수의 단위로 '플롭스'를 사용함)
- 가성비
- 소비 전력
- 라이선스 비용(CPU 코어 수나 소켓 수에 따라 라이선스 비용이 다를 수 있음)
*8코어 CPU를 1소켓으로 장착 vs 4코어 CPU를 2소켓으로 장착: 1 CPU 소켓은 1 노드이며, 노드마다 CPU와 물리 메모리가 탑재된다. NUMA(불균일 기억 장치 접근)으로 인해, 한 노드의 CPU는 다른 노드의 물리 메모리에 접근할 때 같은 노드의 물리 메모리 접근에 비해 속도 저하가 발생한다. 따라서 이 경우 8코어 CPU 1소켓이 4코어 CPU 2소켓보다 유리하다.
2-4. 메모리

주기억 장치. 전원 끄면 휘발. 프로그램은 메모리에 적재돼야 실행됨. 여기서는 DDR4만 다루지만 DDR5도 있음
DDR4 SDRAM: Double-Data-Rate4 Synchronous Dynamic Random Access Memory
* 용어 설명
- DDR 기술의 4번째 표준
- DDR은 클럭 신호가 올라갈 때와 내려갈 때 두 번 모두 데이터를 전송해 기존보다 속도를 2배 높인 기술
- 메모리가 클럭 신호에 맞춰서 동기화되어 작동함(CPU 처리 속도는 빠른 반면 RAM의 데이터 전송은 느린 편인데, CPU가 명령을 내리는 타이밍과 데이터를 보내는 타이밍이 일치해 CPU가 불필요하게 대기하는 시간 없앰)
- DRAM은 1개의 트랜지스터와 1개의 커패시터로 구성됨. 커패시터에 전하를 채워 0과 1을 저장하는데, 시간이 지나면 전하가 방전돼 주기적인 재충전(refresh)이 필요
- SRAM(Static RAM)은 여러 개의 트랜지스터로 구성되어 재충전이 필요 없고 속도가 매우 빠르지만 가격이 비싸 CPU 내부 캐시 메모리로 사용됨
- Random Access란 자기테이프와 대조적으로, 데이터를 저장된 순서대로 찾는 것이 아니라 어느 위치에 있든 주소만 알면 즉시(무작위)로 접근 가능하다는 뜻.
성능
- 메모리가 'DDR4-4000'으로 표기됐다면 메모리 동작 속도가 4000MHz라는 뜻
- DDR 메모리는 한번 액세스로 8Byte 데이터를 전송하므로 데이터 전송 속도는 32GB/초(4000*8=32000MB)
- 다중 채널을 이용하면 8Byte였던 데이터 전송 폭을 2배, 3배로 늘릴 수 있음. 다중 랭크 메모리로도 메모리 대역폭 증가 가능
*DDR4 메모리 종류 실제 사례
집 컴퓨터에 DDR4-2666/PC4-21333(칩 규격/모듈 규격. 2666은 메모리 클럭/21333(2666*8)은 전송 속도)인 RAM이 1,3번 슬롯에, DDR4-3200/PC4-25600인 RAM이 2,4번 슬롯에 동시에 꽂혀 있는데, 이 경우 메모리 클럭 속도는 낮은 쪽(2666MHz)으로 맞춰지는 걸로 기억한다.
메모리 주요 용어
- 메모리 슬롯 수(메인보드에 메모리를 꽂을 수 있는 슬롯 개수)
- ECC메모리(1bit가 0에서 1로 바뀌는 오류 감지하는 메모리. ECC메모리가 아니라면 1bit 오류 발생 시 OS 레벨에서 비정상 종료되지만, ECC메모리는 1bit 오류까지는 메모리 스스로 자동 수정함. 그 사이에 OS는 메모리 오류 경고를 보내므로 이 메시지를 보고 OS를 종료한 후 새 메모리로 교체할 수 있음. ECC메모리는 오류만 잡는 별도의 장치가 아니라, 일반 메모리 역할을 수행하면서 오류 감지 기능이 추가된 메모리임)
- 채널(CPU와 메모리 사이의 데이터 전송 통로)
- 랭크(메모리 컨트롤러가 메모리의 데이터를 입출력하는 단위)
- UDIMM(버퍼 없는 Dual In-line Memory Module - 저렴한 서버, 일반 컴퓨터에 사용되는 메모리)
- RDIMM(레지스터 버퍼 있는 DIMM - 명령 신호 등 제어 신호는 레지스터를 거치고, 데이터는 직통으로 감. 마치 선생님이 반장에게 지시하면, 반장이 확성기를 들고 학생들에게 전달 -> 선생님은 반장하고만 이야기하면 되니 피로도가 줄어듦. 신호가 안정되어 더 많은 메모리를 꽂을 수 있지만 레지스터를 한번 거치기 때문에 속도가 UDIMM보다 느림)
- LRDIMM(부하를 줄인 Load Reduced DIMM - 명령 신호뿐만 아니라 데이터 신호까지 모두 버퍼를 거쳐서 주고받음. CPU의 부담을 최소화해 RDIMM보다 더 많은 메모리를 한 서버에 채울 수 있음. 중간 단계가 많아져서 속도는 RDIMM보다 느리고 가격이 비쌈)
- LV-RDIMM(저전력 RDIMM - 기능은 RDIMM인데 작동 전압을 낮춘 메모리)
- NVDIMM(전원이 꺼져도 데이터가 사라지지 않는 비휘발성 메모리 - 메모리의 고속성과 스토리지의 비휘발성을 갖추고 있어 인메모리 DB나 트랜잭션 로그 기록 용도로 활용 가능. 플래시 메모리(USB나 SSD도 플래시 메모리의 일종)를 사용해 SSD보단 빠르지만 일반적인 메모리보단 느림. 이런 NVDIMM-F는 시스템에서 직접 메모리에 접근할 수 있지만, DRAM의 백업 용도인 NVDIMM-N은 CPU나 OS에서 접근할 수 없음. F와 N모드를 모두 지원하는 NVDIMM-P는 DRAM과 비휘발성 메모리에 모두 접근 가능함.)

*메모리 싱글채널 vs 듀얼 채널

싱글 채널은 비용 측면에서 유리하다. 8GB 램 모듈 1개의 가격이 4GB 램 모듈 2개의 가격보다 저렴하기 때문이다.
듀얼 채널은 대역폭 측면에서 유리하다. 4GB 램 모듈 2개의 대역폭이 8GB 램 모듈 1개의 대역폭보다 넓기 때문이다.
대역폭이란 데이터를 전송하는 통로를 말하는데, 듀얼 채널은 싱글 채널보다 데이터를 전송하는 통로가 2배 넓다.
듀얼 채널은 CPU와 RAM 간의 데이터 전송량을 싱글 채널의 데이터 전송량보다 2배로 늘릴 수 있다.
듀얼 채널을 구성하면 메모리 속도가 2배로 빨라지는 것으로 오해하는 경우가 있는데, 듀얼 채널은 메모리 속도(데이터 하나가 CPU에 도착하는 시간)가 빨라지는 것이 아니라, 대역폭이 늘어나는 것(도로가 넓어짐)이므로 유의해야 한다.
*메모리 랭크란?
- CPU가 한번에 데이터를 읽고 쓸 수 있는 칩들의 그룹
- CPU는 메모리와 데이터를 주고받을 때, 한번에 64bit씩 묶어서 가져간다.
- 램스틱 위에 붙어있는 검은색 칩 하나가 8비트씩만 데이터를 준다면, 검은색 칩은 8개 필요하다.
- 이렇게 칩 8개를 묶어 64비트를 맞추게 됐을 때, 이 하나의 그룹(칩 8개)을 1 랭크라고 한다. -> 그림 첫번째 예시
- 듀얼 랭크가 싱글 랭크보다 성능이 좋은 이유(랭크 인터리빙 효과): 듀얼 랭크의 경우, CPU가 1번 랭크와 통신을 끝내고 정리하는 틈을 타서 2번 랭크가 미리 준비하고 있다가 데이터를 바로 전송하기 때문에 대기 시간이 줄어들어 성능이 향상된다.

*메모리 컨트롤러란?
CPU와 RAM 사이에서 데이터 흐름을 관리하고 통제하는 역할. CPU는 연산 속도가 빠르지만 램은 느리므로 이 중간에서 중재자 역할 수행
메모리 장착 방법
- 각 프로세서의 메모리 구성은 동일해야 함(CPU1의 메모리 구성과 CPU2의 메모리 구성이 똑같아야 한다)
- 각 채널에 장착되는 메모리는 동일한 종류여야 함
- RDIMM 메모리와 UDIMM 메모리는 혼용할 수 없음
- ECC 메모리와 비 ECC 메모리는 혼용할 수 없음.
- 저전압 메모리와 비 저전압 메모리는 혼용 불가능한 경우가 많음
메모리 선택 시 고려사항
- 탑재 용량(4GB, 8GB 등)
- 성능(속도(메모리 클럭)나 대역폭(다중 랭크, 채널 활용해 도로 차선 넓히기))
- 확장성(슬롯이 4개뿐인데 4GB 4개로 구성했다면 추후 메모리가 더 필요할 때 전부 교체해야 함)
2-5. 디스크
SSD, M.2 NVMe SSD, SATA 하드디스크 등
하드디스크: 자성의 디스크를 고속으로 회전시키고 자기 헤드를 통해 데이터를 읽고 쓰는 외부 저장 장치. SSD보다 저렴하지만 속도가 느림
SATA(Serial ATA) 하드디스크: 하루 8시간 정도 가동하는 용도, 가격 저렴
SAS(Serial Attached SCSI) 하드디스크: 24시간 내내 가동하는 용도, 고속 동작 및 신뢰성 높음
FC(Fiber Channel) 하드디스크: 초고속 동작, 신뢰성 아주 높음, SAN 스토리지 등에 활용
그 외
- 니어라인 하드디스크(전원이 인가된 온라인 상태와 전원이 인가되지 않은 오프라인의 중간 상태에 적합한 하드디스크. 접근 빈도가 낮은 데이터는 SATA 디스크에 저장하고 빠른 접근이 필요한 데이터를 구분함. 아카이브의 장기 보관 용도로 하루에 몇시간 정도 사용을 예상했을 때 활용)

SSD: 반도체 소자 메모리를 저장 영역으로 사용하는 디스크. 빠르고 저전력이지만 하드디스크보다 비쌈. 쓰고 지우기를 반복하면 소자가 열화돼 수명이 다함
SLC(싱글 레벨 셀)은 한 기억 소자에 1비트 데이터 저장, MLC(멀티)는 2비트 저장, TLC(트리플)는 3비트 저장, QLC(쿼드)는 4비트 저장. SLC는 쓰기 속도가 빠르고 재기록 가능 횟수가 많아 내구성이 뛰어나지만 가격이 비쌈
SATA SSD: 저렴한 SSD
SAS SSD: 신뢰성 높지만 가격 비쌈
NVMe SSD
NVMe: 저장장치가 CPU와 대화하는 언어(프로토콜). 원래 SATA 프로토콜은 HDD를 위해 만들어졌는데, SSD가 등장하며 속도가 빨라지자 SATA 도로에 병목이 발생함. 그래서 SSD만을 위해 뚫은 고속도로가 NVMe. 그래픽카드가 쓰는 초고속 통로인 PCIe를 통해 CPU와 직통으로 연결됨
U.2 NVMe SSD: 서버용으로 많이 사용됨.
M.2 NVMe SSD: 좁은 공간에 칩이 모여 있어 열이 많이 남. 가정용. 서버에서는 핫스왑이 중요한데, M.2 SSD를 교체할 때마다 서버 본체를 열어야 해 핫스왑이 불가능한 단점이 있음
2-6. RAID 및 RAID 컨트롤러
Redundant Array of Independent Disks: 여러 개의 HDD나 SSD를 논리적으로 하나로 묶어 데이터를 분산 저장하는 기술
분산 저장 - 성능 향상과 내결함성(일부에서 고장나도 서비스 중단 없이 기능 수행) 향상 목적
RAID 레벨 0부터 6까지 7종류 존재. RAID0과 다른 레벨을 조합한 RAID60(6+0)도 존재
- RAID0(스트라이핑): 데이터를 여러 디스크에 분산하여 기록하되, 데이터를 중복으로 기록하지 않음. 디스크 I/O 성능은 좋지만(중복 저장- 하지 않으므로) 디스크 하나만 고장나도 데이터 손실. 로그 집계 등 임시 저장 영역에 사용
- RAID1(미러링): 데이터를 2개의 디스크에 똑같이 저장. 디스크 하나가 고장나도 복구 가능
- RAID5(패리티): 패리티란 오류 검출 및 손실된 데이터 복구 코드. 3개 이상의 디스크에 데이터와 패리티를 분산 저장. 디스크 I/O 성능도 좋고 데이터 복구도 가능.
- RAID6: RAID5와 유사하나 패리티를 이중으로 저장해 디스크 4개 중 2개가 고장나도 남은 데이터와 패리티 정보를 이용해 손실된 데이터 복구 가능. RAID5보다 디스크 I/O 성능이 떨어지지만 내결함성이 높음. 구현 방식은 벤더마다 다를 수 있음(기존 패리티 정보를 다른 디스크에 똑같이 저장하거나, 기존 패리티 정보를 다른 알고리즘으로 계산한 패리티 정보를 다른 디스크에 기록하는 등 다양한 방식 가능)
그 외
- RAID10(1의 안정성과 0의 성능을 결합한 방식. 데이터가 분산 저장된 2개의 디스크와 이를 복제한 디스크 2개를 포함해 총 4개가 최소 디스크 개수. 패리티 연산이 없으므로 빠르지만 용량의 절반이 복구만을 위해 버려짐. DB 서버 등에 사용됨. RAID5와 비교하면 읽기는 느리지만(RAID5는 패리티 저장에 디스크 1개만 사용하므로 병렬된 디스크 개수가 많음), 쓰기는 빠르다(패리티 계산 안하므로))
- RAID50(디스크 3개짜리 그룹 2개. 패리티를 계산해야 하므로 느리지만 패리티 계산 부하가 여러 그룹으로 분산돼 RAID5보다 빠르고, RAID10보다 용량 효율이 좋음. 웹 서버 등 적절한 성능과 용량이 필요한 곳)
- RAID60(디스크 4개짜리 그룹 2개. 각 그룹마다 디스크가 2개씩 고장나도 데이터 복구 가능. 그룹별로 2번씩 패리티 계산으로 인해 쓰기 속도가 떨어짐. CCTV 저장소 등 소실되면 안되는 데이터 백업용)
RAID 성능: IOPS(초당 처리 가능한 데이터 읽기/쓰기 수)로 비교. 병렬된 디스크 개수(스트라이핑 개수)가 늘어날수록 디스크 I/O 성능 향상
RAID 컨트롤러: HDD나 SSD 등 여러 스토리지를 묶어 하드웨어적으로 RAID 구성을 구현하는 장치. 스토리지와 연결하는 인터페이스도 있지만, 캐시 메모리와 배터리가 있어 정전 시 캐시 메모리에 남은 데이터를 스토리지에 기록함
라이트 스루 모드: RAID 컨트롤러가 OS로부터 데이터 쓰기 요청을 받으면 스토리지에 데이터를 쓴 다음 OS에 쓰기 완료를 통지
라이트 백 모드: 캐시 메모리에 데이터를 쓴 다음 OS에 쓰기 완료를 통지. 이후 스토리지에 데이터 쓰기. 쓰기 통지 이후 정전 시 데이터가 손실될 수 있으므로 캐시 메모리가 탑재된 RAID 컨트롤러는 배터리 탑재 필요
2-7. NIC
Network Interface Card = 랜 카드
NIC 선택 시 고려사항: 대역폭(1000Mbps, 2.5Gbps 등), 인터페이스 형태(랜 케이블, 광케이블에 따라 커넥터 형태 차이 발생), 벤더, 포트 수, NIC 오프로드 기능(네트워크 처리와 관련된 일을 CPU에서 떼어내어 NIC가 대신 처리하게 만듦)
2-8. 전원 공급 장치
서버에 전력 공급
선택 기준: 전원 용량, 이중화 필요 여부(전원공급장치가 고장나도 시스템 작동에 영향 없도록 여러 개의 전원공급장치를 장착할 수 있는 서버를 선택해야 함)
2-9. GPU
Graphic Processing Unit: 그래픽 처리 연산 목적의 프로세서. CPU보다 코어 수가 많고 병렬 처리에 뛰어남. AI 학습, 암호화폐 채굴 등에도 사용됨
GPU 특징: 많은 코어 수, 고속 내부 메모리, 높은 메모리 대역폭(1초에 수많은 데이터를 전송할 수 있음)
GPU 선택 시 고려 사항: 벤더(엔비디아 vs AMD), 병렬 프로그래밍 환경(OpenCL은 개방형 표준, CUDA는 엔비디아 독점. 둘 모두 1000명의 초등학생(GPU)에게 복잡한 수학 연산을 시키기 위해 필요한 작업 지시서), 소비 전력, 비용 대비 효과
'인턴' 카테고리의 다른 글
| [스터디2] [인프라 엔지니어의 교과서] 10장 솔루션 및 보안 (0) | 2026.02.09 |
|---|---|
| [과제6-7] 발표자료 최종 - 도커를 이용한 DB 운영툴 환경 구축 자동화 (0) | 2026.02.06 |
| [스터디2] [인프라 엔지니어의 교과서] 4,5,6,7,8,9,12장 스터디 (0) | 2026.02.05 |
| [과제6-6] 고도화: MyMon Dev환경 세팅(웹 소스코드 도커라이징) (0) | 2026.02.05 |
| [스터디2] [인프라 엔지니어의 교과서] 3장 OS (0) | 2026.02.03 |