MS 윈도서버2016, 나노란 무엇인가

컴퓨팅입력 :2016/04/18 14:13    수정: 2016/04/20 16:40

마이크로소프트의 최신 데이터센터 운영체제 ‘윈도서버2016’은 나노서버란 새로운 모델과 도커 컨테이너 기술을 제공한다. 나노서버와 컨테이너는 클라우드와 기업 데이터센터 운용에 대한 MS의 근본적 철학 변화를 담고 있다.

나노서버는 윈도서버를 최소한의 용량으로 설치하는 것을 말한다. 윈도서버 최소설치 모드라 볼 수 있다. 윈도서버 라이선스 보유자는 OS 설치 시 ‘나노서버-서버코어-풀 GUI’ 등에서 선택하게 된다.

현재 윈도서버2012 R2 최신 버전을 기본 설치할 경우 용량은 11기가바이트(GB) 수준이다. 윈도서버2012 R2를 코어만 설치하는 경우 용량은 7GB가량이다.

윈도서버2016 설치 모델 3종류. 왼쪽부터 '나노서버-서버코어-풀 GUI'

윈도서버2016 네번째 테크니컬프리뷰(TP4)를 나노서버로 설치하는 경우 용량은 130MB정도다. 하이퍼V를 추가하면 700MB 수준이다. 윈도서버2012 R2 코어 설치용량 대비 10분의 1만 차지한다.

한국MS 백승주 부장은 “OS 재시작 시간과 프로세스를 줄여달라는 사용자 피드백에 따른 것”이라며 “OS 이미지 복제 시간이 클라우드 환경의 전체 구성 시간에서 큰 비중을 차지하고, OS 용량을 줄여야 리소스를 더 많이 사용할 수 있고, 프로세스를 줄여야 보안 절차도 줄일 수 있기 때문”이라고 설명했다.

윈도서버는 2008버전부터 OS 용량을 줄이기 위한 방안을 제공했다. 윈도서버2008은 코어와 풀 서버 두 종류로 선택해 설치할 수 있었다. 윈도서버2012의 경우 코어 상단에 미니멀 서버 인터페이스를 올려 쓰게 했다. 그러나 코어보다 획기적으로 용량을 줄여달라는 요구를 받았다.

재시작 시간을 줄이기 위해서도 다른 방법이 필요했다. 백승주 부장은 “윈도 재시작이 오래 걸리는 건 커널만 껐다 켜는 리눅스와 달리, 메모리와 하드웨어를 모두 체크하기 때문”이라며 “기존 윈도를 줄이지 말고, 아예 다른 콘셉트로 윈도를 줄여보자고 판단해 오래전부터 개발한 게 나노서버”라고 설명했다.

윈도서버2016 나노서버 구성

나노서버를 기본 설치하면, 그래픽 요소가 없다. 기본적으로 터미널 명령어로 모든 작업을 수행하게 된다. 설치되는 요소는 네트워킹과 방화벽 정도다. 드라이버도 포함되지 않는다. 각종 드라이버와 하이퍼V 등 추가로 필요한 요소는 별도로 직접 설치해 쓰게 된다. 필요한 파일은 윈도서버 전체 패키지의 소스앱 폴더에 있어, 복사해 붙여넣으면 된다. 그래픽 요소의 경우 ‘Enter-pssesion’ 명령어를 입력해 세션으로 연결해 이용한다.

백 부장은 “나노서버의 프로세스는 안티바이러스까지 포함해서 21개 정도”라며 “최소한의 메모리와 용량만 요구하므로 더 많은 걸 윈도에서 할당해 줄 수 있고, 도커나 컨테이너 호스트, 하이퍼V 호스트로 기업의 애플리케이션 기반을 제공한다는 게 기본 방향”이라고 말했다.

나노서버는 기본적으로 명령어로 관리하므로, 오랜 시간 윈도서버와 시스템센터의 GUI에 익숙해진 관리자라면 적응하기 어려울 수 있다. 이럴 경우 원격관리기능을 활용할 수 있다.

백 부장은 “애저 포털을 통해 웹UI에서 나노서버를 관리하는 게 가능하다”며 “퍼블릭 애저와 동일하게 프라이빗하게 쓸 수 있는 애저 스택도 웹요소를 설치하거나 포털의 서버관리도구연결에 들어가 나노서버를 관리할 수 있다”고 설명했다.

나노서버는 커널만 재부팅하는 것도 가능하다. 시스템종료 명령어에 ‘/soft’ 옵션을 붙이면 커널만 재부팅된다. 백부장은 내부 테스트 결과를 토대로 “애저 데이터센터에서 윈도서버 한대를 재시작하는데 절리는 시간이 길어야 3분, 빠르면 20~30초면 된다”고 말했다.

윈도서버2016 도커용 파워셸

여기에 더해 윈도10에 포함된 윈도용 리눅스서브시스템이 윈도서버2016에도 들어간다. 리눅스 명령어에 익숙한 엔지니어는 윈도서버2016에서도 우분투 배시 셸을 쓰면 된다. 반대로 도커의 리눅스 명령어에 익숙하지 않은 엔지니어는 ‘도커용 파워셸’을 쓸 수 있다.

■두 종류의 윈도서버 컨테이너

윈도서버2016은 컨테이너를 두 종류로 쓸 수 있다. 윈도서버 컨테이너와 하이퍼V 컨테이너다. MS는 컨테이너를 윈도서버2016의 애플리케이션 플랫폼으로 묘사한다.

윈도서버2016 '윈도서버 컨테이너' 구조

윈도서버 컨테이너는 도커와 동일하다. 도커 엔진을 윈도서버에 심었다고 봐도 무방하다. 도커 명령어를 윈도서버 컨테이너에서 그대로 사용할 수 있다는 의미다.

윈도서버 컨테이너는 OS 커널에 곧바로 연결된다. 때문에 컨테이너의 보안 취약점으로 침입해 윈도서버 시스템 커널 전체를 장악할 위험성을 안게 된다.

윈도서버2016 하이퍼V 컨테이너 구조

하이퍼V 컨테이너는 윈도서버 커널 상에 별도의 가상화 공간을 할당한 뒤 컨테이너를 생성하는 방식이다. 컨테이너 외곽을 하이퍼바이저로 한번 더 감싼 형태다. 컨테이너가 OS 커널을 직접 공유하지 않으므로 더 높은 보안 등급을 제공한다.

관련기사

MS는 윈도10에서도 컨테이너를 사용할 수 있게 할 계획이다. 곧 배포될 윈도10 테스트빌드가 윈도10용 컨테이너를 포함한다.

백부장은 “OS는 메인으로 있고, 개발자는 컨테이너에 노드JS든 IIS 든 무엇이든, 소스를 넣어두고, 개발자나 엔지니어가 서버 설정을 넣어주면 기본적인 데브옵스 환경이 갖춰진다”며 “윈도서버 컨테이너를 이미지로 추출해서 리눅스 도커에서 쓰는 것도 가능하고, 빠르고 유연하게 앱 플랫폼을 운영할 수 있다”고 강조했다.