본문 바로가기

IT 개발 프로그래밍/운영체제

클러스터, 블레이드 서버, 오픈소스OS, 클라우드컴퓨팅, SSD에대하여

운영체제 과제#1

21400507

이경록

 

1.     클러스터

클러스터는 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합이다. 클러스터의 구성 요소들은 일반적으로 고속의 근거리 통신망으로 연결된다. 클러스터 컴퓨터가 계산을 수행하는 방식은 먼저 크고 복잡한 계산을 적당한 크기로 나누고 각 노드에 배분한다. 서버로 사용되는 노드에는 각각의 운영체제가 실행되고 각 노드들은 계산을 수행한다. 컴퓨팅 노드들은 클러스터 미들웨어라는 스프트웨어 계층에서 관리된다. 그 결과를 한 컴퓨터(front 컴퓨터 클러스터는 저렴한 마이크로프로세서와 고속의 네트워크, 그리고 고성능 분산 컴퓨팅용 소프트웨어들의 조합 결과로 만들어졌다. 클러스터는 일반적으로 단일 컴퓨터보다 더 뛰어난 성능과 안전성을 제공하며, 비용 면에서 더 효율 적이다. 따라서 열 개 안팎의 중소규모의 클러스터부터 수천 개로 이루어진 대형 슈퍼컴퓨터에 이르기까지 널리 사용되고 있다. 과학 산업적 용도에서 대형 계산이 필요한 경우 슈퍼컴퓨터를 대신해서 사용되곤 한다. 슈퍼컴퓨터는 상당한 고가에 관리 및 이용이 용이하지 않으나 클러스터 컴퓨터는 저렴한데다 사용자가 직접 만드는 것이 크게 어렵지 않다.

클러스터는 통신 서비스에서 많이 활용이 된다. 기존의 2 tier 클라이언트/서버 구조에서 서버는 수 백 명에서 수 천 명의 클라이언트를 처리하면 되었다. 그러나 웹을 기반으로 한 서비스가 많아지면서 동시에 수만에서 수백만의 클라이언트를 처리할 수 있는 서버가 필요하게 되었다. 이렇게 많은 클라이언트들의 요청을 동시에 처리하기 위해서 많은 서버들을 네트워크로 연결하여 클러스터 형태로 구성하는 것이 비용과 성능을 잘 절충한 일반적인 해결책이다

컴퓨터 클러스터를 사용하는데 있어서 가장 어려운 점중의 하나는 시스템을 관리하는 것이다. 만약 N개의 노드로 구성된 클러스터 시스템이 있다고 한다면 관리비용은 N개의 독립된 컴퓨터들을 관리하는 것과 비슷한 비용이 든다따라서 어떤 경우에는 공유 메모리 아키텍처가 관리비용 측면에서 클러스터 시스템 대비 유리한 측면이 있다상대적으로 관리의 편리성은 가상 머신이 많이 활용되는 이유중의 하나이다.

작업 스케줄링

커다란 여러 사용자 클러스터가 매우 방대한 양의 데이터를 접근할 때 작업 스케줄링을 하는 것은 매우 어렵다. 애플리케이션의 환경이 복잡한 이기종 CPU-코프로세서 클러스터의 경우에 각 작업(job)의 성능은 클러스터의 특성에 의존적이기 때문에 CPU 코어와 코프로세서 장치에 작업을 할당하는 것은 매우 어렵다이 분야는 현재 진행되고 있는 연구 분야이기도 하다.

노드 장애 관리

클러스터의 한 노드에서 장애가 발생했을 때 나머지의 모든 시스템이 계속해서 동작하도록 하기 위한 방법으로 "펜싱"(fencing)과 같은 전략이 사용된다펜싱은 노드가 오동작을 할 때 공유된 자원을 보호하고 그 노드를 격리시키는 동작이다. 두가지의 펜싱 방법이 있는데 하나는 노드 자체를 비활성화 시키는 것이고 다른 방법은 공유 디스크와 같은 공유 자원에 대한 접근을 차단하는 것이다노드의 격리는 장애로 의심되는 노드를 비활성화 하거나 전원을 끈다는 의미이다예를 들면, 전원 펜싱은 전원 제어기가 동작하지 않는 노드의 전원을 끄는 것이다. 자원 펜싱은 노드의 전원을 끄지 않고 자원에 대한 접근을 막는 것이다


 

2.     블레이드 서버

블레이드 서버는 물리 공간과 에너지 이용을 최소화 하는 데 최적화된 모듈러 설계를 갖춘 서버이다. 고밀도 서버라고도 부른다. 프로세서가 장착된 회로판, 기억장치, 그리고 선반에 장착된 네트워크 접속부로 구성되어 있다.

 블레이드 서버는 슬롯에 칼날처럼 얇은 블레이드들을 세로로 꽂는 것이 특징이다. 얇은 초박형 블레이드를 슬롯에 꽂아 제작하는 블레이드 서버는 두께를 얇게 구성할 수 있으므로 수십 개 혹은 수백 개의 서버들을 하나의 캐비닛에 장착할 수 있다

블레이드 서버의 첫번째 장점은 여러 블레이드들을 연결하기 위해서 특별히 고안된 high-speed 연결방식(InfiniBand, 중복적으로 구성된 고속 시리얼 버스 등)을 사용하는 데 있다. 고속 연결망은 블레이드 간에 초당 수 기가비트 수준으로 통신이 가능하게 함으로써 빠른 데이터 교환을 통해서 시스템 성능을 향상시킬 수 있다. 특히, InfiniBand와 같은 고속 연결망은 운영체제 커널 수준의 통신기능을 하드웨어적으로 지원해 줌으로써 통신 오버 헤드를 더욱 줄일 수 있다.

두 번째 장점은 고밀도(High Density) 및 확장성이다. 기존의 랙 마운트 형태의 클러스터 서버는 고속의 케이블 형태가 주요 연결 방식이었다. 따라서 연결 대상이 많아질수록 더 넓은 공간과 복잡한 케이블 배선이 필요하게 되었다. 그러나 블레이드 서버의 연결 인터페이스는 슬롯 형태로 주 연결망에 세로로 꽂게 구성되어 있어서 기존의 랙 마운트 형태의 클러스터 서버와 같은 복잡한 케이블 연결이 필요없게 되었다. , 블레이드 서버에서 채용한 슬롯 형태의 연결 방법은 하나의 섀시에 프로세서, 메모리, 연결 인터페이스 등이 포함된 작고 얇게 모듈화된 블레이드를 여러 개 담을 수 있게 된다.

블레이드 서버는 시스템을 확장할 때 노드 단위로 확장하지 않고 용도가 특화된 블레이드 단위로 확장한다. 그러므로 블레이드에는 장착되지 않는 CD롬 드라이버, 플로피 디스크와 같은I/O 디바이스와 전원 공급 장치를 공동으로 사용함으로써 좀 더 낮은 가격에 높은 성능을 얻을 수 있다. 예를 들어, IU 서버 정도 크기의 시스템에 4개의 hot-pluggable 블레이드를 장착할 수 있다.

기존의 서버 시스템은 초기에 엄청난 비용이 소요되는 것이 일반적이었다. 그러나 블레이드 서버의 경우에는 시스템 구성을 블레이드 단위로 확장할 수 있으므로, 초기 투자 비용이 절감되고 확장 시에도 융통성을 갖게 되었다. 시스템 확장 시 블레이드를 추가하더라도 이미 탑재된(pre-loaded) 소프트웨어를 재사용함으로써, 전체 시스템 차원에서 추가적인 소프트웨어 비용은 발생하지 않는다. 따라서 블레이드 서버 시스템은 적은 시간과 비용으로 필요한 시점에 보다 용이하게 시스템을 확장해 나갈 수 있다.

세 번째 장점은 적용성이다. 블레이드 서버에서 각각의 블레이드는 용도에 따라 쉽게 특화될 수 있다. 이러한 블레이드로 구성된 블레이드 서버는 사용 목적(웹 서버, ftp 서버, 이메일 서버, 데이터베이스 서버 등)에 따라 특화된 시스템을 구성할 수 있다. 예를 들어, 동시에 많은 사용자가 액세스하는 웹 서버인 경우, 액세스되는 웹 페이지에 더 많은 프로세싱 블레이드를 배치하거나, 고속의 인터넷 연결망으로 연결된 웹 캐싱용 블레이드를 배치함으로써 보다 빠르게 사용자 액세스 요구를 처리할 수 있다.


 

3.     Open source Operating System

Open source Operating System는 소스 코드를 공개해 누구나 특별한 제한 없이 그 코드를 보고 사용할 수 있는 오픈소스 라이선스를 만족하는 운영체제를 말한다. 종류로는 우분투(Ubuntu), 페도라(Fedora), 솔루스(Solus), 리눅스 민트(Linux Mint) 등이 있다.

이 중에서 우분투에 대해서 알아보도록 하자. 우분투는 캐노니컬이 개발한 컴퓨터 운영체제이다. OS 계열은 유닉스 계열이고 20041020일에 최초 버전이 출시되었다. 커널형태는 모놀리식 커널(리눅스)이고 55개의 언어가 사용 가능하며 기본 UI는 그놈, 유니티이다. 2012년 기준으로 개인용 데스크탑과 노트북에서 가장 인기 있는 리눅스 배포판이다.

우분투는 배포판에 대한 수정, 편집, 재배포가 합법적인 자유 소프트웨어로, 지금까지 수많은 변형 배포판이나 공식 지원하지 않는 창 관리자를 데스크톱으로 하는 배포판들이 나왔다. 우분투의 기본적인 철학, 즉 전 세계의 사람 누구나 어렵지 않게 리눅스를 사용하자는 표어에서 알 수 있듯이, 기본적으로 세계의 다양한 언어를 지원하고 그다지 높은 사양의 컴퓨터가 필요하지 않다.

우분투는 사용자가 손쉽게 운영 체제를 설치하고 사용할 수 있도록 설계되었다. 이를테면 7.10의 경우, CD를 넣고 시동한 다음, 일곱 단계만 거치면 바로 사용할 수 있도록 설치된다. Dapper(6.06) 버전부터 데스크톱 CD에는 유비퀴티가 들어 있어 컴퓨터의 재시동 없이 데스크톱 CD를 구동하는 동안 우분투를 시스템에 설치할 수 있는 기능이 있다. 또한, 아직까지 그래픽 카드에 따라 데스크톱 관리자가 시동이 되지 않는 경우가 많기 때문에, 텍스트 기반에서 설치를 할 수 있는 얼터너티브 CD를 따로 배포한다. 버전 11.04부터는 유니티가 기본 데스크탑으로 탑재된다. 또한 데스크톱 CD 자체에서 처음 실행할 때 'Ubuntu 체험하기' 메뉴를 통해 라이브 CD 상태로 사용할 수 있다. (6.06 이전 버전에서는 설치와 라이브 시디가 분리되어 있었다.) 라이브 CD를 통해서 컴퓨터의 하드디스크를 건드리지 않고, CD를 통해 부팅하여 우분투를 어느 정도 이용할 수 있다. (이를테면 파이어폭스를 통한 웹 브라우징이나 같이 포함되는 여러가지 게임 등을 실행할 수 있으며, 데이터는 저장되지 않는다) 이 상태에서 설치 아이콘을 클릭하면 간단히 설치할 수 있다. USB플래시 드라이브를 이용하여 라이브USB를 만들 수도 있으며, 라이브CD와 동일하게 USB만으로 우분투를 사용할 수 있으며, 라이브USB 생성시 설정에 따라 사용 데이터를 USB에 저장할 수 있다.

또한 시스템 관리 작업에서 sudo 도구를 사용한다는 점이 있다. sudo는 사용자가 자신의 암호를 이용해 시스템 관리 권한을 얻어 작업을 진행할 수 있도록 인증한다. 따라서 관리 작업을 하기 위해 root 사용자의 암호를 따로 만들지 않아도 되고, 여러 사용자가 관리를 위해 root 암호를 공유함으로써 생길 수 있는 잠재적인 보안문제를 예방할 수 있다. 우분투에서는 1 sudo 인증이 완료되면 기본적으로 5분 동안 다시 인증하지 않고도 시스템 관리를 계속할 수 있다. 또한, '제한된 장치 관리자'를 사용할 수 있는데, 이것을 통해 사용자는 드라이버를 번거롭게 직접 설치하는 과정을 거칠 필요 없이, 버튼을 몇 번 누르는 것으로 장치를 설정할 수 있다. 7.10 이후부터는 자동으로 제한된 장치 드라이버를 검색해 적용해 준다. 그래픽 카드 드라이버의 경우 설치하면 기능이 비정상적으로 작동할 가능성이 있기 때문에 사용자에게 드라이버를 설치할 것인지를 물어본다.

우분투는 기본 시스템 도구 뿐 만 아니라 libreoffice(구 버전의 오픈오피스를 대체), 파이어폭스 웹 브라우저김프(10.04부터는 기본으로는 미설치, 공식 저장소로서 다운로드 가능) 그림 편집기, 에볼루션(메일/일정 편집기), 엠퍼시(메신저), Gwibber(마이크로블로그 관리) 도 함께 기본으로 제공한다. 장애인을 위한 도우미 기능과 국제화(다국어유니코드 지원) 관련 기능도 빼놓지 않았다. 7.04 버전부터는 저작권이 있는 파일 포맷에 대해 사용자가 동의하면 자동으로 설치해 주는 기능이 추가되었다.

 


 

4.     클라우드 컴퓨팅

클라우드 컴퓨팅(cloud computing)인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 인터넷에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다. 공유 컴퓨터 처리 자원과 데이터를 컴퓨터와 다른 장치들에 요청 시 제공해준다. 구성 가능한 컴퓨팅 자원(: 컴퓨터 네트워크, 서버, 스토리지, 애플리케이션, 서비스)에 대해 어디서나 접근이 가능한, 주문형 접근을 가능케하는 모델이며 최소한의 관리 노력으로 빠르게 예비 및 릴리스를 가능케 한다. 클라우드 컴퓨팅과 스토리지 솔루션들은 사용자와 기업들에게 개인 소유나 타사 데이터 센터의 데이터를 저장, 가공하는 다양한 기능을 제공하며 도시를 거쳐 전 세계로 까지 위치해 있을 수 있다. 클라우드 컴퓨팅은 전기망을 통한 전력망과 비슷한 일관성 및 규모의 경제를 달성하기 위해 자원의 공유에 의존한다.

클라우드 컴퓨팅은 다음의 주요 특징들을 보여준다:

·         단체들을 위한 민첩성이 개선될 수 있는데, 클라우드 컴퓨팅은 기술 인프라스트럭처 자원들의 재보충, 추가, 확장에 대한 사용자의 유연성을 제고시킬 수 있다.

·         클라우드 제공자들은 비용 절감을 주장한다. 공개형-클라우드 배급 모델은 CAPEX서버 구매 등) 영업비용으로 전환한다. 인프라스트럭처가 일반적으로 서드파티에 의해 제공되고 한 차례 정도 또는 드물게 수행되는 막대한 연산 작업을 위한 구매가 불필요해짐에 따라 시장 진입 장벽을 낮춘다. 유틸리티 컴퓨팅 기반의 가격 책정은 사용 기반 과금 옵션별로 세부적이다. 또한, 클라우드 컴퓨팅을 사용하는 프로젝트 구현에 조직 내부 IT 실력이 거의 필요하지 않다. e-FISCAL 프로젝트의 최신 저장소는 더 자세한 비용 관점을 조사하는 여러 문서들이 포함되어 있으며, 이들 중 대부분이 비용 절감은 지원되는 활동의 종류 및 조직 내에 이용할 수 있는 인프라스트럭처의 종류에 따라 달라진다고 결론을 내리고 있다.

·         장치 및 위치 독립성은 장치의 위치가 어디에 있는지, 무슨 장치(PC, 휴대전화)를 사용하는지에 관계 없이 사용자들이 웹 브라우저를 통해 시스템에 접근할 수 있게 한다. 인프라스트럭처가 부지 밖에 있고(보통 서드파티에 의해 제공됨) 인터넷을 통해 접근할 경우 사용자들은 어느 위치에 있어도 접속이 가능하다.

·         클라우드 컴퓨팅 애플리케이션의 유지보수는 더 쉽다. 각 사용자의 컴퓨터에 애플리케이션을 설치할 필요가 없고 다른 위치에서 접근이 가능하다. (다른 업무 장소, 여행 중 등)

·         멀티태넌시는 많은 사용자들을 통해 자원과 비용을 공유할 수 있게 하며, 이에 따라 다음을 허용한다:

·         낮은 비용으로 여러 위치에서의 인프라스트럭처의 중앙 집중화 (부동산, 전기와 같은)

·         피크 부하 용량(peak-load capacity)의 증가 (사용자는 엔지니어가 필요 없으며 가능한 최고의 부하 수준을 충족하기 위해 리소스 및 장비에 대한 비용을 청구한다)

·         종종 10~20%만 활용하여 시스템의 활용 및 효율성 개선

·         서비스 제공자의 IT 전문가들은 성능을 감시하며 시스템 인터페이스로서 웹 서비스를 사용하여 소결합(loosely coupled)된 일정한 아키텍처들이 구성된다.

 

 

5.     SSD

Solid State Drive. 직역하면 고형 상태 보조기억장치로, Solid-state에는 고체상태라는 의미 이외에 소체(트랜지스터)라는 의미도 있다.
하드디스크(HDD)를 대체하기 위해서 개발된 "신세대" 보조저장장치. HDD는 자기 디스크로 이루어진 반면 SDD는 플래시 메모리로 이루어진다. 모터가 없어 소음이 없으며, 일반용은 소모 전력 및 발열도 적다. 이렇게 SSD를 설치하는 등으로 HDD와 같은 회전판이 없도록 구성한 컴퓨터를 제로 스핀들이라고 부르기도 한다.
 SSD
의 가장 큰 장점은 데이터 입/출력 속도이다. 파일 전송 속도가 HDD에 비해 매우 빠르다. HDD의 연속 데이터 읽기/쓰기 속도는 데스크탑에 흔히 쓰이는 3.5인치 7200rpm 2~3TB급 제품의 플래터 외곽구간 기준으로 최대 200MB/s까지 측정되나, 실사용 중에는 60~150MB/s 정도에 그친다. 1MB 이하의 작은 파일이 많으면 속도 차이가 커진다. 반면 SSD는 컨트롤러에 따라 다르지만 SATA-3 규격 모델은 약 500~550MB/s 정도, 최근 아무리 느린 제품이라고 해도 350~400MB/s 정도는 가뿐히 나온다. NVMe 인터페이스를 사용하는 모델에서는 1GB/s 이상의 제품부터 12GB/s에 달하는 기업용 제품까지 다양하다.
 
그 다음 장점은 아주 작고 가볍다는 점이다. 하드디스크는 플래터와 그 플래터를 감싸는 몸체, 플래터를 구동하기 위한 모터 등의 구조물로 인해 일정한 두께 이하로 줄이기 어려우며 그로 인해 무게가 어느정도 나갔는데, SSD는 겉을 감싸는 얇은 몸체와 SSD 자체의 기판만으로만 이루어져 있어 HDD 대비 상당히 가볍고, 작은 사이즈를 구현할 수 있다. 이걸 소형화한 게 USB 메모리로도 자주 쓰이는 플래쉬 메모리이다.

 

SSD의 단점은 다음과 같다.

 

·         가격(비싸다) - 개인 사용자가 평범하게 사용할 경우 유일하고 치명적인 단점
HDD
와 용량 대비 가격을 비교하면 여전히 굉장히 비싸다. 하지만 SSD 시장이 급성장하고 TLC, QLC, 3D스택 등 집적기술 발전으로 용량 대비 원가격이 빠르게 떨어지고 있는 것이 사실이다. 그렇다고 해도 단시간에 HDD의 용량 대비 가격을 넘는다고 보긴 어렵지만 HDD보다는 SSD쪽이 기술적으로 더 발전할 여력이 많이 남아서 비싼 가격이 해소되는 것은 시간문제다ㅇ
소모 및 발열

원래는 하드디스크에 비해서 전력 소모가 적고 발열이 없는 것이 장점이었으나미세공정 기술이 급발전하면서 오히려 이 부분이 문제가 되고 있다. 이미 무지막지한 속도 때문에 발열이 심해지는 것이 문제. 속도는 빠르면서 표면적은 작은 NVMe M.2 포맷의 제품들은 세대 변화에 따라 늘어나는 발열로 인해서 그동안 상정했던 것 이상의 과도한 스트레스가 걸리고, 셀의 물리적 화학적 특성 자체가 바뀔 수 있다는 문제가 생기기 때문에, 이를 제어하기 위해 일정 온도나 시퀸싱 스피드 이상이 걸리면 임의로 컨트롤러가 스로틀링을 걸어 19nm의 신 공정보단 22nm의 구 공정이 더 낫다는 식의 평가가 점점 많아지고 있다. 게다가 벤치마크를 반복적으로 하다 보면 최대치에 비해 떨어지는 실성능이 나온다. 물론 벤치마크는 언제나 극단적인 상황을 상정한 시나리오지만, 시퀀셜 성능을 계속 갈구는 영상 편집 등의 작업을 할 때는 충분히 스로틀링에 부딪힐 수 있다