Home 2장 서버를 열어 보자
Post
Cancel

2장 서버를 열어 보자

2.1 물리 서버

2.1.1 서버 외관과 설치 장소

서버는 Rack 이라는 것에 장착된다. 랙에는 서버 외에도 HDD가 가득 장착돼 있는 저장소나 인터넷 및 LAN을 연결하기 위한 네트워크 스위치 등도 탑재돼 있다.

[랙 구성]

[서버]

2.1.2 서버 내부 구성

컴포넌트를 연결하는 선을 Bus라고 한다. CPU 옆에 메모리가 배치되어 있고, CPU와 메모리는 물리적으로 직접 연결되는 것을 알 수 있다.

PCI Express 슬롯은 외부 장치를 연결하는 곳이다. BMC 컴포넌트는 서버의 H/W 상태를 감시하며 독립적으로 움직인다. 이렇게 서버의 구성을 보면 서버와 PC가 물리적으로는 구성이 같다는 것을 알 수 있다.

2.2 CPU

Central Processing Unit의 약자로 서버 중심에 위치해서 연산 처리를 실시한다. CPU는 명령을 받아서 연산을 실행하고, 결과를 반환한다. 명령과 데이터는 기억장치나 입출력 장치를 통해 전달된다. CPU는 core 라고 부르고 현재는 멀티 코어화가 진행되고 있다. 명령은 OS가 내리고 OS에 명령을 내리는 것은 사용자 키보드, 마우스 등을 통한 입력이다.

2.3 메모리

메모리는 CPU 옆에 위치하고 CPU에 전달하는 내용이나 데이터를 저장하거나 처리 결과를 받는다. 메모리에 저장되는 정보는 영구성이 없다. 이는 서버를 재시작시 없어지는 정보임을 나타낸다.

메모리는 전기적인 처리만으로도 데이터를 저장하기 때문에 메모리 액세스가 매우 빠르게 이루어진다.

CPU 자체도 메모리를 가지고 있는데 이를 레지스터, 1L, 2L캐시 라고 불린다. 일반적으로 캐시 메모리가 커질수록 액세스 속도가 느려진다. 가능한 CPU 가까운 곳에 많은 캐시를 두기위해 캐시를 여러 단계로 배치해서 초고속으로 액세스하고 싶은 데이터는 L1, 준고속으로 액세스하고 싶은 데이터는 L2 캐시에 두는 형태로 만든다.

2.4 I/O 장치

2.4.1 하드 디스크 드라이브(HDD)

기록 영역인 하드디스크는 주로 장기 저장 목적의 데이터 저장 장소로 사용한다. 메모리는 전지가 흐르지 않으면 데이터가 사라지지만 디스크는 전기가 없어도 데이터가 사라지지 않는다.

하드디스크의 내부는 자기 원반이 여러개 들어있고, 이것이 고속으로 회전해서 읽기/쓰기 처리를 한다. 이 회전 구조 때문에 속도가 물리 법칙에 좌우되며 메모리처럼 순식간에 액세스할 수 없다. 최근에는 기술이 발전해서 SSD(Solid State Disk)라는 물리적인 회전 요소를 사용하지 않는 디스크가 사용되고 있다. SSD는 반도체로 만들어졌지만 전기가 없어도 데이터가 사라지지 않는다.

서버와 I/O시에 하드 디스크가 직접 데이터 교환을 하는 것이 아니라 캐시를 통해서 한다.

위 그림에서 두 종류의 I/O를 사용하고 있다.

  1. 읽기/쓰기 시에 캐시라는 메모리 영역에 액세스하는 방법 : 읽기 캐시의 경우 캐시상에 데이터 복사본만 있으면 되지만 쓰기 시에는 캐시에만 데이터를 기록하고 완료했다고 간주하는 경우 데이터를 잃을 가능성이 있음을 의미한다. 장점은 캐시에 저장해서 쓰기 처리가 종료되기 때문에 고속 I/O를 실현할 수 있다. 이런 쓰기를 Write Back이라고 함
  2. 캐시와 HDD에 모두 액세스 하는 I/O : 읽기 시에 캐시에 데이터가 없으면 읽기 처리를 위해 액세스한다. 쓰기 시에는 캐시와 디스크를 모두 읽어서 Write Back과 비교하고, 더 확실한 쪽을 쓰기 처리를 실시하기 위해 액세스 한다. 이런 쓰기를 Write Through라고 한다.

2.4.2 네트워크 인터페이스

네트워크 인터페이스는 서버와 외부 장비를 연결하기 위한 것으로 외부 접속용 인터페이스다.

2.4.3 I/O 제어

35~37p

2.5 버스

버스는 서버 내부에 있는 컴포넌트들을 서로 연결시키는 회선을 가리킨다.

2.5.1 대역

대역은 주파수 대역을 가리키지만 IT 인프라에서는 데이터 전송능력을 의미한다. 대역 = 한번에 데이터를 보낼 수 있는 데이터의 폭(전송폭) X 1초에 전송할 수 있는 횟수 로 결정된다.

2.5.2 버스 대역

CPU에 가까운 쪽이 1초당 전송량이 크다. 버스 흐름에서 중요한 것은 CPU와 장치 사이에 병목현상이 없어야 한다는 것이다. 병목현상은 데이터 전송이 어떤 이유로 막혀 있는 상태를 의미한다.

[하드디스크 데이터가 CPU에 이르기까지 여정]

This post is licensed under CC BY 4.0 by the author.

1장 인프라 아키텍처를 살펴보자

3장 3계층형 시스템을 살펴보자