[Special Report] 차세대 클라우드 OS 윈도우 서버 2016

클라우드의 보편화로 이제 클라우드라는 기술을 사전적 의미가 아닌 실제 데이터센터(IDC)와 인프라스트럭처에서 구현하는 형태로 발전하고 있다. 마이크로소프트(이하 MS)의 윈도우 서버(Windows Server)도 그에 맞춰 괄목할 만한 발전을 이어가고 있다.

백승주 한국MS 부장|1997년부터 IT에 몸담고, 기술의 가치와 이를 통한 엔지니어의 행복을 꿈꾸고 있다. 한국마이크로소프트에서 2006년부터 IT 엔지니어와 함께 다양한 관점에서 기술을 바라보며 이야기를 나누고 있다. 현재 꼬알라의 하얀집(www.koalra.com )이라는 블로그를 운영 중이며, 지디넷과 베타뉴스 등의 매체에서 컬럼리스트로도 활동하고 있다.

● 정리| 조수현

윈도우 서버 2008 R2와 시스템 센터 2008 R2가 클라우드 구현에 필수적인 가상화 플랫폼에 대한 관리 기술을 선보였다면, 윈도우 서버 2012는 제품 초기 디자인 단계부터 MS의 공용 클라우드(Public Cloud)를 움직이는 애저와 밀첩하게 연계돼 설계됐다. 그야말로 MS 애저(Azure)의 운영 노하우가 녹아든 윈도우 서버 2012는 대형 IDC의 구축, 운영에 엔터프라이즈급을 넘어선 성능이 더해지면서 시장에서 좋은 평가를 받고 있다. MS는 기술의 발전을 단순히 자사만을 위한 기술로 남겨두지 않고, 고객에게 되돌려 주기 위해 차기 윈도우 서버 개발에 박차를 가하고 있다. 그 결과가 윈도우 서버 2016이다. 2015년 하반기에 출시될 윈도우 서버 2016을 한마디로 정리한다면 클라우드 지향 인프라스트럭처 및 응용 프로그램 플랫폼(Cloud-Inspired Infrastructure & Application Platform)이라고 할 수 있다.
근래의 클라우드 기술의 방향은 단순히 운영체제(OS)가 IDC의 서버 내에서만 이용되는 형태가 아니라 서버를 넘어 데이터가 저장되는 스토리지, 그리고 모든 하드웨어와 소프트웨어가 통신하는 네트워크까지 확장되고 있다. CPU와 메모리 같은 계산을 위한 영역을 계산(Compute) 영역이라 칭한다면, 소프트웨어 기반으로 구성된 스토리지를 칭하는 소프트웨어 정의 스토리지(Software-Defined Storage, SDS), 네트워크를 소프트웨어 정의 네트워크(Software-Defined Network, SDN)라고 할 수 있다. 계산, 스토리지, 네트워크 영역이 모두 소프트웨어 정의 기술로 구현된 IDC가 바로 소프트웨어 정의 데이터센터(Software-Defined Datacenter, SDDC)다. 바로 SDDC를 위한 기반 기술로 윈도우 서버 2016가 나오는 것이다. 윈도우 서버 2016라는 이름으로 감춰진 하나하나의 영역을 지금부터 살펴보자.

소프트웨어 정의 계산(Software-Defined Compute)
서버의 유지 보수는 선택이 아닌 필수적 사항이다. 주기적으로 보안 업데이트를 적용해야 하며, 새로운 업데이트에 따라서는 적용 시 서버를 다시 시작해야만 해당 기술이 반영되는 경우가 있다. 윈도우 서버도 하드웨어적인 재부팅이 필요한 것이 당연지사였다. 하드웨어 스펙이 높아지면서 단일 서버로 구축 가능한 하드웨어적인 CPU 코어와 메모리, 그리고 기타 장치들이 늘고 있다. 서버가 다시 시작되거나, 부팅될 때 어떠한 단계가 진행되는지 생각해 보자. 하드웨어에 오류가 있는지를 점검하는 단계가 서버에서는 필수적으로 일어난다. 이 단계는 장착된 스펙과 비례해 시간이 소요된다. 결론적으로 스펙이 우수하면 우수할수록, 소요되는 시간은 더 길어지는 것이다. 리눅스의 경우 하드웨어적인 다시 시작이 아니라 OS만 소프트웨어적으로 내려갔다가, 올라가는 형태를 취한다. 윈도우 서버 2016도 이러한 형태의 소프트 다시 시작(Soft Reboot)을 지원한다.
에서 볼 수 있듯 /Soft라는 옵션이 존재한다. 이를 이용하면 하드웨어적인 다시 시작이 아닌 윈도우 OS만 다시 시작하게 된다. 이는 OS를 다시 시작해야 되는 상황에서 매우 유용할 것이다. 다시 시작 개선은 아주 작은 하나의 개선 사항에 불과하다. 윈도우 서버 2016은 물리적인 서버를 구동하는 가벼운 서버 OS로도 출시될 예정이다. 나노 서버(Nano Server)가 여기에 해당한다.
나노 서버는 기존의 GUI 기반이나 Core 기반의 윈도우 서버와는 완전히 다른 형태의 OS다. 기본 설치 용량이 500~800MB 정도 밖에 되지 않으며, 직접적인 관리를 위한 어떠한 모듈도 가지고 있지 않다. 설치 후 기본 구성을 마치면 모든 관리는 별도의 서버에서 처리된다. 제공할 서비스에 대한 구성 요소도 분리돼 설치된다. 나노 서버는 보다 많은 리소스를 서비스하는 응용 프로그램과 가상 환경에 부여할 수 있는데, 차후 소개할 컨테이너 기술 활용의 기반이 된다.
가상화 환경 내의 가상 머신(VM)에 또 다른 가상화 소프트웨어를 설치하고 동작시키는 형태는 IT 엔지니어라면 한번쯤 생각해 봤을 것이다. 가상화 안의 가상화. 이를 중첩 가상화(Nested Virtualization)라고 부르며, 윈도우 서버 2012 R2까지는 제공되지 않는 기술이었다. 가상화 환경의 VM은 하드웨어를 직접 바라보지 못한다. 하드웨어와의 직접적인 접점에 위치한 것이 하이퍼바이저(Hypervisor)로, 자원의 할당을 담당한다.
CPU 내에는 이미 가상화를 위한 VT, VT-d 등의 기술이 있지만, 이를 VM에 제공하지 않기 때문에 중첩 가상화를 지원되지 않았지만 윈도우 서버 2016는 이를 지원한다.
윈도우 서버 2016은 중첩 가상화를 지원, 보다 넓은 범위의 가상화 시나리오를 커버할 수 있게 됐다. 에서 확인할 수 있듯 윈도우 서버 2016은 VM 내에 2개의 또 다른 VM을 구동할 수 있다. 윈도우 서버 2016 테크니컬 프리뷰 4에서는 하이퍼-V(Hyper-V)로만 중첩 가상화가 가능했지만 정식 출시 시에는 CPU를 그대로 제공하는 형태로 다른 가상화 기술로도 이용할 수 있게 될 예정이다.
윈도우의 명령어 관리 체계를 책임지는 윈도우 파워셸(Windows PowerShell)은 명령 프롬프트(CMD)의 한계를 극복하고 보다 편리하고 빠르게 다수의 작업을 처리할 수 있도록 만들어진 윈도우 관리 엔진이다. 윈도우 서버 2016의 파워셸은 벌써 다섯 번째 버전으로 가장 눈에 띄는 업데이트는 커뮤니티를 통한 생산성 향상이다. 윈도우10과 윈도우 서버 2016의 윈도우 파워셸에는 파워셸 갤러리라는 웹사이트로부터 전 세계 IT 엔지니어가 고민하며 만든 것들을 손쉽게 가져다 쓸 수 있는 기능이 추가됐다.
파워셸 갤러리에 등록된 스크립트나 모듈을 검색해 각자의 관리 환경으로 가져와 쓰는 일종의 앱스토어와 유사한 형태다. 오픈소스의 장점을 윈도우 서버 관리에 가져온 것이다. 많은 서비스 개발 조직은 배포 및 업그레이드에 대한 기민성과 유연성을 위해 리눅스 기술의 도커(Docker)을 많이 활용하고 있다. 그러나 오픈소스 진영에서 각광받고 있는 도커는 윈도우 서버 자체를 대상으로 활용할 수 없었다. 윈도우 서버에서 OS에 대한 컨테이너 기술을 제공하지 않기 때문이다.
윈도우 서버 2016은 도커를 윈도우 서버에 구현한 윈도우 컨테이너(Container)를 제공한다. 윈도우 컨테이너는 오픈소스 진영과의 협력을 통해 윈도우 서버에 탑재된 덕분에 윈도우 파워셸 형태의 관리뿐 아니라 리눅스에서의 도커 관리, 활용 방식과 동일하게 이용할 수 있다. 기존 컨테이너 기술이 물리적인 서버에 설치된 OS에서만 이용 가능했다면, 윈도우 컨테이너는 가상화 환경 내에서도 활용할 수 있도록 하이퍼-V 컨테이너로까지 발전된 게 특징이다.
컨테이너와 가상화는 고립 수준을 제공하는 부분이 하드웨어에서 시작되느냐, OS에서 시작되느냐의 차이가 있기에 하드웨어적인 분리로 인한 배포 및 구성 시간, OS에서 문제가 발생했을 때의 범위 등의 측면에서 각자 장단점이 있다. 그러므로 두 기술을 서비스에서 요구되는 필요에 따라 이 둘을 유기적으로 선택하는 형태로 바라봐야지, 하나의 기술이 다른 기술을 대체하는 것으로 봐서는 안 된다.
SDS
윈도우 서버 2012부터 SDS를 위한 방향과 기술이 제시되면서 비용 절감과 성능 향상, 관리 용이성을 제공하기 시작했다. 윈도우 서버 2012 R2로 구성 가능한 SDS의 기본 구조는 와 같다. 값비싼 하드웨어 스토리지 형태가 아니라 하드웨어 디스크는 JBOD((Just Bunch of Disk) 형태로 연결하고, 모든 스토리지에 대한 구현 및 관리를 윈도우 서버가 담당하는 구조다.
윈도우 서버 2012 R2에 대한 피드백에서 많은 고객이 요구했던 것은 재난 복구 및 구현의 유연성을 위한 복제 기술이었다. 이러한 의견을 수용해 윈도우 서버 2016은 세 가지 형태의 복제 시나리오를 지원한다.
지역이 분리돼 있지만 고가용성을 하나의 형태로 구성하고 싶은 경우에는 스토리지의 하드웨어 복제 기술을 활용해 클러스터를 만들어야 한다. 스토리지의 복제 기술은 하드웨어 차원의 많은 비용 지출이 뒤따르는 만큼 투자 비용에 민감한 경우 그림의 떡에 불과했다. 그러나 윈도우 서버 2016의 스토리지 복제 기술을 활용하면 별도의 하드웨어 구축없이 지역적으로 분리된 서버들을 하나의 클러스터로 구성할 수 있다. 서울과 부산에 분리된 윈도우 서버 기반의 스토리지를 만들고 이를 상호 복제시키면 동일한 데이터를 가지게 되는 식으로 지역적으로 분리된 서버들을 하나의 클러스터로 구성할 수 있는 것이다. 이렇게 구성된 클러스터는 어느 한쪽의 IDC에서 문제가 발생해도 서비스에 영향없이 다른 쪽으로 서비스 주체가 이동된다. 서버 한 대 간에도 스토리지 복제가 가능하다. 동일한 서비스를 가진 클러스터 대 클러스터 간의 스토리지 복제도 지원한다.
스토리지 복제 기술에서 중요한 점은 바로 데이터에 대한 손실이 발생할 수 있냐는 것이다. 기본적으로 윈도우 서버 2016 스토리지 복제는 동기(Sync) 방식으로, 데이터의 손실은 발생하지 않는 구조라고 할 수 있다. 클러스터의 경우에는 데이터 손실이 치명적이기에 동기 방식의 복제만을 요구된다. 그러나 서버 단위의 스토리지 복제는 성능을 위해 비동기(Async) 방식으로도 복제를 구성할 수 있다.
아직까지도 스토리지 구축 자체가 쉽지 않은 조직도 있다. 별도로 분리된 스토리지가 아닌 서버에 내장된 디스크들(DAS, Direct Attached Disk)를 이용해 구축하고자 하는 요구도 많다. 윈도우 서버 2016은 처럼 스토리지 스페이스 다이렉트(Storage Space Direct) 기술을 제공해 서버에 내장된 DAS 기반의 하드디스크들을 묶어 스토리지 형태로 구축할 수 있다. 만약 이처럼 DAS를 사용하는 서버가 많은 경우 서버 간의 데이터 복제를 이용해 여러 대의 서버가 하나의 스토리지처럼 인식되도록 구성하는 것 또한 가능하다. 이 두 가지모두 가상화 서버에 연결해 활용할 수 있다.
여러 대의 서버가 분리된 형태로 스토리지 스페이스 다이렉트를 구현하면, 서버간의 데이터 복제는 단순한 1:1 형태의 복제가 아니라 하나의 디스크나 하나의 서버에 대한 문제를 모두 처리할 수 있는 내결함성을 가지게 된다. 하나의 문제가 발생 시 IT 엔지니어가 해결하면 다시 최상의 내결함성을 가지는 구조로 복구된다.
클라우드 서비스는 서비스 수준을 고객과 약속해야 하는 특징이 있다. 서비스 수준은 상당수가 성능에 대한 보증이다. 가상화 기술을 적극적으로 활용하면 다수의 서비스 이용 고객이 하나의 인프라스트럭처 내에 존재하게 되고, 고객 한 명이 많은 성능을 사용하면 다른 고객에게 영향을 줄 수도 있다. 이러한 문제가 주로 발생하는 곳이 네트워크와 스토리지다. 그래서 윈도우 서버 2012 R2는 네트워크 사용 대역폭을 제한하는 QoS(Quality of Service)를 제공했다. 그런데 윈도우 서버 2016는 네트워크뿐 아니라 스토리지에 대한 QoS도 제공할 예정이다.
개별 VM별로 직접 품질을 지정할 수 있다. 윈도우 서버 기반의 스토리지를 구축했다면 중앙 스토리지 관리 정책을 만들어 대규모 가상화 인프라에 손쉽게 반영하고 운영할 수도 있다.
윈도우 서버는 결국 소프트웨어이기에 성능에 대한 의구심을 가질 수도 있다. 그러나 디스크의 성능이 SSD, 여기서 더 나아가 NVMe 형태로 발전하고 있어 고성능 스토리지 구축이 용이해지고 있다. 윈도우 서버는 이들의 성능을 십분 활용할 수 있는 만큼 성능에 대해서는 염려하지 않아도 된다.

클라우드 인프라스트럭처 보안
클라우드 환경에 필수적인 가상화 기술은 OS의 이동성과 유연성을 보장해준다. 어제까지 조직 내 인프라스트럭처에서 동작하던 VM을 동일한 가상화 기술을 사용하는 다른 지역의 IDC로 옮겨 운영하거나 공용 클라우드로 이전하는 것 또한 가능하다. 그러나 이처럼 편리한 이동성이 보안상의 문제로 이어질 수도 있다. 조직의 VM을 클라우드 서비스 제공자가 다른 조직에게 복사하거나 물리적인 서버에 보안 이슈가 발생해 VM 관련 파일이 유출될 수도 있다. 이는 서버를 통째로 도둑맞은 것과 같다.
윈도우 서버 2016은 호스트 보호자 서비스(Host Guardian Service)를 제공한다. VM을 지정된 호스트에서만 구동할 수 있는 것이다. VM 자체가 유출돼도, 클라우드 서비스 제공자가 고객 몰래 VM을 복사하더라도 해당 VM을 구동하는 것을 막을 수 있다.
또한 VM을 구성하는 파일을 열어 허가되지 않은 방식으로 데이터를 빼갈 수도 있는데, 가상화 기술 내 TPM(Trusted Platform Module)을 이용하면 막을 수 있다. VM 내 가상 하드디스크를 TPM으로 암호화하는 것이다. 이러한 형태의 보안 접근은 다른 가상화 및 클라우드 벤더와 차별화되는 윈도우 서버의 강점이라고 할 수 있다.

답글 남기기