Technical Architecture Studio

서버 구성도

Tech Studio 2020. 1. 8. 21:18

#4 서버 구성도

 서버는 흔히 사용하는 물리 서버와 가상 서버가 있다. 하지만 결국 가상서버도 물리서버로 이루어져 있고, 관리와 구성에 따라 종류가 나뉘게 된다. 

 서버의 OS 에 따라서도 나뉘기도 하고, 성능과 구성에 따라 많은 구성이 바뀐다. 흔히 말해 CPU 를 2장을 쓸지 1장을 쓸지와 Disk를 RAID 카드를 이용해 안정성과 속도를 보장하는지 그리고 네트워크 카드의 속도를 1G 이상으로 사용할지 등과 그래픽카드의 사용여부 등을 위해 박스를 바꿔야 할 수도 있다. 최근에는 머신런닝등의 사용으로 그래픽카드가 실장되는 4U 이상 크기의 서버도 많이 쓰이고 있다. 

 AI 서비스를 위해 그래픽 카드를 실장할때는 OS 의 선택도 주로 Ubuntu 를 사용하게 된다. 

 이번에는 WEB, WAS, DB 의 단순구성이므로 Disk와 NIC의 추가를 고려해서 설정하고있다. 

 서버는 우선 특정 카드가 없을경우 Disk의 크기와 수량에 따라 박스 ( 서버 케이스 ) 를 정하고 해당 서버에 맞는 카드와 CPU, Memory, Disk Type 등을 정한다. 구매시 가격이 높으므로 2CPU, 128RAM, Raid5 등을 고려해 성능을 정하는게 좋다. 만약 저사양 처리를 원한다면, 가상 서버를 이용하는것도 한가지 방법이다. 다만 고비용의 서버를 사용한다는 것은 전원공급장치, 처리량, 고용량 등이 모두 감안된것이므로 안정성과 확장성을 고려해 구성한다고 보면 된다. 일반적으로 2U 서버를 많이 사용하고, 대용량의 Disk 그리고, 그래픽카드등을 사용하거나 4개이상의 CPU 를 사용할 때 4U 크기의 서버를 사용하기도 한다. 

서버 예시

 서버의 전면에 있는 가이드는 디스크를 빼거나 버튼들을 누르지 못하게 보호하는 기능이라고 보면되고, 가이드의 안에는 Disk의 크기와 수량에 따라 다르다. 서버에 따라 약간 다르지만 물리적으로 내부 부품들의 상태를 나타내는 전면판도 존재해서 물리적 관리도 가능하다. 서버의 경우 CPU를 직접 쿨링하지 않고 서버 전체를 터미널로 해서 전면부터 공기를 빨아들여 후면으로 빼내는 방식으로 쿨링을 하는데, 전면혹은 후면을 막고있을경우 강제로 서버가 재부팅되는 현상이 생길수 있다. 서버의 표식을 위해 간혹 전면을 막는 경우가 있는데 꼭 주의 하도록 한다. Rack 에 서버를 실장 후, 서버에 사용할 카드등을 모두 설치한 후에 전원과 LAN 선등을 연결 ( LAN 의 타입은 Cat.6이상 10G이상으로 연결시 FC 연결고려 ) 후, 서버의 Raid 및 원격을 위한 ILO등을 설정을 하게 된다. 

 위의 서버의 여러 카드들을 설치하기 위해 설치를 위한 Spec 을 정하여 두도록 한다. 

Server 구성 표

 서버는 각 서버별, 혹은 서버 종류별로 구분하고, 가능한 동일하게 구성한다. Hostname 의 경우 OS 를 설치할때도 구성하지만, 동일하게 서버에서도 정의하고 관리시에 오차가 없게 한다. 서버의 위치도 정확하게 기록하고 CPU 와 RAM 그리고 Disk 또한 용량과 수량을 정확히 ( 가능하면 속도와 종류를 알고 있어야 한다. Disk의 경우 자주 문제가 생기는 부분이고 교체를 위해서도 정확히 알아둔다. Disk는 1장을 사용하는것은 아니고 Raid 를 사용하여 이중화 혹은 다중화를 하여 속도와 데이터의 안정성을 추구한다. 예를 들면, 1TB Disk 5장에 여유디스크 1장을 사용하게 된다면, 실제 사용할 수 있는 Disk의 용량은 3TB가 된다. 속도또한 2배이상 빨라진다고 보면된다. 그래서 2장 혹은 1장을 쓰는 Raid 0 혹은 1은 속도의 이득은 없다. Disk로 인한 속도 저하는 심각할 수 있으므로 가능한 빠른 디스크 사용방식을 선택해야 한다. 최근에는 SSD 의 사용을 많이 하므로 SSD 의 적용도 적극적으로 검토하는것이 좋다. 

 Disk의 파티션은 OS 를 구성할때 나누게될 Disk 이고, Bonding 또한 OS 상에서 구성하게된다. 다만 지금 구성에서 Bonding을 하기위해 NIC 을 10G X 4포트 카드를 2장 추가 하였는데 이 두장의 카드를 이용하여 Bonding을 구성하므로 Mainboard에 구성되어있는 포트는 Disable 시키도록 한다. 여러 이유가 있는데 원하지 않는 물리적 접속이나, 현재 사용중인 포트와의 구분을 하기 위해서이다. 

 서버가 여기까지 되어있다면, OS 를 설치하면서 기타 서버설정을 하도록 한다. 물론 위의 내역대로 구성하며, 만약 가상서버를 구성하게 된다면, 서버 생성시 원하는 서버의 기본사양 ( CPU, RAM, DISK )을 서비스 별로 구분하여 생성하도록 한다. 

 OS 는 Linux 중에서 CentOS 로 설치하고 버전은 지속적인 지원이 가능한 버전을 선택하고, 현재 버전 7과 8 정도로 구성하면 되겠다. 여기서는 7로 정하고, 구성한다. OS 구성 후, Partition 을 구성하고 Bonding 설정과 User 설정을 해서 배포 및 서비스 개발 준비를 한다. 

 

'Technical Architecture Studio' 카테고리의 다른 글

전체 시스템 구성도  (0) 2020.01.10
소프트웨어 구성도  (0) 2020.01.10
네트워크 구성도  (0) 2020.01.07
요구사항 분석  (0) 2020.01.06
표준 시스템 구성도  (0) 2020.01.03