Book Review/인프라 엔지니어의 교과서

[2장] 서버 (메모리~가상화)

Dream Amal 2024. 1. 12.

08 메모리

성능

  • 메모리의 속도는 메모리 자체의 속도와 CPU, 각종 버스 간의 데이터 전송폭을 모두 고려하여야 함
  • 메모리 표기 방식
    • 1600 MHz의 데이터 전송 속도로 동작한다는 의미
    • 모듈의 데이터 전송속도는 1600MHz * 8bytes = 12,800MB/s 로 12.8GB/s가 됨
  • DDR3-1600
  • 다중 채널 메모리 구조 또는 다중 랭크 메모리를 사용해 데이터 전송폭을 늘릴 수 있음

DDR3 메모리의 종류

  • DDR4 메모리의 종류
  • DDR RAM 규격 별 형태

메모리 용어

  • 슬롯
    • 메인보드에 있는 메모리 삽입구
    • 메인보드에 있는 슬롯 개수에 따라 메모리를 삽입할 수 있음
  • ECC 메모리
    • 메모리 고장으로 비트 반전 오류 발생 시,
      자동으로 보정, 감지할 수 있도록 Error Correction Code(오류 보정 부호)라고 불리는 패리티정보가 추가된 메모리
    • ECC 메모리를 사용하면, 비트반전 오류를 메모리가 스스로 바로잡음
      • 비 ECC 메모리를 사용하면, 메모리 고장 발생 시 OS 수준에서 이상 종료됨
      • ECC 메모리가 오류를 바로잡을 동안 OS는 메모리 고장을 감지해 경고를 보내므로, 일반적인 방법으로 OS를 종료하고 정상 메모리로의 교체가 가능
  • 채널
    • CPU와 메인보드의 칩셋이 복수의 채널을 지원하면,
      채널별로 같은 종류의 메모리를 탑재해 데이터 폭을 넓히고 성능을 높일 수 있음
      • 메모리 1개 = 64bit의 데이터폭으로 전송
      • 듀얼 메모리 (메모리 2개) = 128bit의 데이터 폭으로 전송 가능
  • 랭크
    • 메모리 컨트롤러가 메모리의 DRAM에서 데이터를 입출력하는 단위
    • 랭크 1개 = 64 bit 단위로 입출력
    • 싱글 랭크 메모리
      • 64bit (+ ECC용 8bit) 의 DRAM 칩 탑재
    • 듀얼 랭크 메모리
      • 128bit (+ ECC용 16bit) 의 ERAM 칩 탑재
    • 랭크의 총 사용 수가 많아지게 조합하면 액세스 성능이 향상됨
      • but, 메모리 컨트롤러가 다룰 수 있는 랭크 수에 제한이 있음
  • UDIMM
    • Unbuffered DIMM - 버퍼 없는 DIMM(Dual In-line Memory module)
    • 일반 컴퓨터용 메모리
  • RDIMM
    • Registered DIMM - 레지스터 DIMM
    • 클럭과 주소 등의 제어 신호를 버퍼 회로가 가지고 옴
    • 대용량 메모리, 안정적 운영이 필요한 서버용 메모리에 주로 사용됨
    • 중간에 있는 버퍼 회로로 인해 레이턴시(딜레이)가 증가
    • → UDIMM보다 액세스 속도가 느림
  • LRDIMM
    • Load Reduced DIMM - RDIMM을 더욱 발전시킨 방식
    • 메모리 컨트롤러와 메모리 칩 사이의 모든 통신이 버퍼 회로를 매개로 이루어지는 DIMM
    • 메모리 버스 전체의 부하를 줄여
      메인보드에 장착 가능한 모듈 수를 늘리거나 모듈 하나당 메모리 칩 수를 늘릴 수 있음
    • → 대용량, 고속 전송 실현
  • LV
    • 저전압 메모리
    • 일반 메모리보다도 전압을 낮추어 저전력을 실현한 메모리를 의미

메모리 표기 방법

㉡ : 1912 - 생산일자

① : 칩의 총용량

② : 2Rx8 - 양면 8칩 (단면 칩은 1R)

③ : PC4 - 메모리의 대역폭

PC4는 DDR4와 같은 개념 (PC3는 DDR3)

④ : 2666V - 클럭 동작속도

⑤ : UB1 - 앞부분의 U는 288핀 데스크탑 pc용 D램 모듈표시

ⓐ : M378A2K43CB1 - 메모리 제조공정 생산 정보

끝에서 3번째 글자인 C는 C다이를 의미
메모리 오버클럭에서는 B > C >E-die 순으로 수율이 좋음

메모리 삽입 방법

  • 서버용 메모리는 종류도 많고 장착 개수도 많아 삽입 규칙이 있음
    1. 각 프로세서의 메모리 구성은 같아야만 한다.
    2. RDIMM 메모리와 UDIMM메모리는 섞어서 쓸 수 없다.
    3. 각 채널에 탑재하는 메모리는 같은 종류로 할 필요가 있다.
    4. 저접압 메모리와 저전압이 아닌 메모리는 섞어서 쓸 수 있을 때가 많다.
    5. 원칙적으로 ECC메모리와 비 ECC 메모리는 섞어서 쓸 수 없다.
      • but, 서버에 따라 BIOS 에서 ECC기능을 끄고 섞어 사용할 수 있음

메모리 선정 포인트

  • 용량
    • 필요한 메모리 용량만큼 설치해야 함
  • 성능
    • 빠른 액세스를 위해 고속 메모리를 선택
    • 듀얼 채널 이상일 때에는 가장 좋은 성능을 낼 수 있는 방식으로 삽입
    • 메모리 컨트롤러가 다룰 수 있는 최대 랭크 수까지 다 사용할 수 있도록 함
    • 다중 프로세서 환경에서 다중 채널을 구현해 성능을 향상시킬 수 있음
  • 확장성
    • 메모리 슬롯의 수는 한정되어 있으므로, 확장이 예상된다면 대용량 메모리를 선택

09 디스크의 종류

SATA 하드디스크

  • 가격이 저렴함
  • 하루 8시간 정도의 가동 용도로 사용
  • 일반적으로 가정용 컴퓨터에서 사용됨
    • 일부 중요하지 않은 서버에서 저렴한 가격을 이유로 채택

SAS 하드디스크

  • 고속 동작
  • 높은 신뢰성
  • 24시간, 365일 가동할 용도로 사용

FC(Fibre Channel) 하드디스크

  • 초고속 동작
  • 높은 신뢰성
  • SAN 스토리지 등 엔터프라이즈 용도로 사용
  • 각 인터페이스의 전송 속도 비교
인터페이스 이름 SATA SAS FC
최대 전송 속도 6Gbit/s (SAS2.1) 6Gbit/s
(SAS3.0) 12Gbit/s
8Gbit/s
최대 케이블 길이 1m 약 8m 30m
접속 토폴러지 호스트 컨트롤러와 1:1 스타형
(SAS Expander를 이용하면

SAS 포트 수 이상의
디바이스
연결가능)
루프형(FC-AL) /
 패브릭형(FC-SW)
접속 가능 수 1대 128대
(SAS Expander를 이용하면
126CH / 16789ICH
약 16만 대까지)
126CH / 16789ICH
다중 링크
(복수의 포트를 묶어
광대역으로
만드는 기능)
미지원 지원 지원
커맨드 ATA SCSI SCSI

 

 

그 밖의 디스크

  • 니어라인 디스크
    • 온라인과 오프라인의 중간 상태인 near-online 상태에 적합한 하드디스크
    • 아카이브의 장기 보존 용도를 전제로 하루의 일정 시간 정도 사용을 목적으로 함
    • NL-SATA, NL-SAS 등
  • SSD (Solid State Drive)
    • 장점
      • 반도체 소자 메모리를 기억 장치에 이용한 디스크
      • 빠르고 저전력으로 동작함
    • 약점
      • 하드 디스크와 비교했을 때 용량 단가가 비쌈
      • 쓰기와 지우기를 반복하면 소자가 열화되어 성능이 떨어짐
    • 종류
      • SLC (Single Level Cell)
        • 기억 소자 하나에 1bit의 데이터를 기록
        • 쓰기 속도가 빠르고 다시쓰기 가능 횟수가 많음
        • 가격이 비쌈
      • MLC (Multi Level Cell)
        • 기억 소자 하나에 2bit의 데이터를 기록
        • 대용량으로 만들기 쉬움
        • 쓰기 속도가 느리고 다시쓰기 가능 횟수가 적음
        • 저렴한 가격으로 주로 채용됨
  • 엔터프라이즈 플래시 메모리 스토리지
    • 엔터프라이즈 용도로 비휘발성 메모리(NAND 플래시 메모리)가 사용된 초고속 저장 장치
    • PCI Express 인터페이스로 연결하는 것이 많음

10 RAID

❗성능과 내장애성을 높이기 위한 목적으로 이용

RAID 레벨

RAID 설명 용도 용량 계산
0 내장애성이 없는 디스크 어레이 (스트라이핑) 디스크 I/O 성능을 높여야 할 때 사용
내장애성이 낮음
로그 집계 등의 임시 저장 영역에 사용
디스크 수 * 용량
1 이중화 (미러링) 내장애성이 높음
운영체제가 설치된 파티션 등에 사용
 
2 비트 단위 전용
오류 보정 부호 드라이브 (ECC)
거의 사용되지 않음  
3 비트/바이트 단위 전용
패리티 드라이브
거의 사용되지 않음  
4 블록 단위 전용
패리티 드라이브
거의 사용되지 않음  
5 블록 단위 패리티 정보 기록 저장 용량을 넉넉히 확보하고자 할 때 사용
파일 서버나 로그 저장 등에 사용
(디스크 수 - 1) * 용량
6 블록 단위에서
두 가지 패리티 정보 기록
RAID5와 같은 용도이나,
더 높은 내장애성을 가짐
(디스크 수 -2) * 용량
10 RAID1을 스트라이핑한 것 내장애성과 디스크 I/O성능을
모두 만족해야 할 때 사용 (데이터베이스 등)
디스크 수 * 용량 / 2
50 RAID5를 스트라이핑한 것 저장 용량 확보와 디스크 I/O 성능을
모두 만족해야 할 때 사용
(파일서버, 로그저장 등)
 
60 RAID6을 스트라이핑한 것 RAID50과 동일  

RAID의 성능

  • RAID 구성 시 디스크 I/O 성능을 높일 수 있음
    • 디스크 I/O 성능이란?
      • 서버와 스토리지 사이에 주고 받는 데이터의 읽기 쓰기 성능
      • 1초당 처리할 수 있는 I/O 수치 → IOPS
    • 스트라이핑 개수란?
      • 디스크를 병렬로 여러 개 사용할 때의 디스크 수
      • 스프라이핑 개수를 늘릴 수록 디스크 I/O성능이 높아짐

RAID5와 RAID10

  • 디스크 용량이 대량으로 필요할 때 주로 검토
RAID5 RAID10
실제 용량 확보 ⬆️ 실제 용량 확보 ⬇️
속도 ⬇️ 속도 ⬆️
  • 디스크의 개수, RAID 컨트롤러 설치 등에 따라 차이가 있을 수 있음

RAID5와 RAID6

RAID5 RAID6
패리티 1종류 이용 패리티 2종류 이용
속도 ⬆️ 속도 ⬇️
내장애성 ⬇️ 내장애성⬆️
복구 가능성 ⬆️ 복구 가능성 ⬇️

11 가상화

물리 서버와 가상 서버의 특징

  • 물리 서버
    • CPU 사용률과 디스크 I/O 부하, 디스크 사용 용량이 많은 용도에 적합
      • 데이터베이스 서버, 애플리케이션 서버 등에 주로 사용
  • 가상 서버
    • CPU 사용률과 디스크 I/O 부하, 디스크 사용 용량이 적은 용도에 적합
      • 웹 서버, 개발 서버, 메모리 DB 등에 주로 사용

물리 서버를 가상화할 때의 장점과 단점

  • 장점
    • 비용 절감
    • 게스트 운영체제의 하드웨어 자원을 쉽게 늘리거나 줄일 수 있음
    • 하드웨어 노후화로 인한 교체 필요 X
  • 단점
    • 다른 게스트 운영체제가 하드웨어 자원을 많이 사용하면
      또 다른 게스트 운영체제의 동작이 불안정해질 수 있음
    • 한 번 만들어진 게스트 운영체제가 이후에 사용하지 않더라도 삭제되지 않고 남아있는 경우가 빈번함

가상화 모델

  • 가상화 구현을 위한 하드웨어 자원 및 게스트 운영체제 관리 프로그램이 필요
  • 호스트 운영체제 타입
    • 일반 운영체제에 게스트 운영체제를 관리하는 프로그램을 설치, 가상화 하는 방식
    • 손쉽게 구현가능함
    • 오버헤드로 인한 속도 저하가 있을 수 있음
  • 하이퍼 바이저 타입
    • 가상화 전용 운영체제를 사용하여 가상화 하는 방식
    • 중간에 개입하는 운영체제의 부재로 빠른 동작 속도를 기대할 수 있음

가상화 환경의 종류

  • 상용 소프트웨어
    • VMware vSphere
      • 안정성과 편리성은 최고 수준
      • 물리 서버에 설치된 CPU의 개수만큼 라이선스가 필요
      • 윈도우와 리눅스가 섞여 있는 환경에서 선택
    • Hyper-V
      • MS가 제공하는 가상화 솔루션
      • 윈도우가 중심인 환경에서 선택
  • 오픈 소스
    • Xen
      • 캠브리지대학교 연구 프로젝트로 시작됨
      • 아마존 EC2에서 이용
      • 리눅스 커널 3계열에 Xen 코드가 병함됨
        • 커널 3계열에서는 커널 변경 없이 Xen의 호스트 운영체제와 게스트 운영체제 둘 다 사용이 가능함
    • KVM
      • 이스라엘 쿰라넷 에서 개발
      • 레드햇 엔터프라이즈 리눅스(RHEL) 버전 6 이후로는 Xen 지원이 중단되어 KVM만 사용 가능함
728x90

'Book Review > 인프라 엔지니어의 교과서' 카테고리의 다른 글

[4장] 네트워크  (0) 2024.03.27
[3장] 운영체제  (0) 2024.01.12
[2장] 서버 (클라우드)  (0) 2024.01.12
[2장] 서버 (~CPU)  (0) 2023.06.08
[1장] 인프라 엔지니어의 업무  (2) 2023.06.08

댓글