Windows Server 2008이 나오면... (23) - Server Core의 가치..

Server Core에 대한 글을 연거푸 포스팅하는 듯 합니다. Beta 3가 나오고, 많은 분들께서 관심을 보여주시고, MVP분들이나, 현업 엔지니어 분들께서 도대체 Server Core를 통해 할 수 있는 것이 무엇이냐? 라는 질문을 던지셔서.. 제가 생각하는 Server Core에 대해서 몇자 적습니다.

image

Server Core에 사용할 수 있는 서비스는 WSv(가상화), ADDS(도메인 컨트롤러), DHCP, ADLDS(ADAM), DNS, WMS(미디어 서버), 파일, 프린트 서버 및 몇가지 기능들입니다. 추가적인 응용 프로그램을 설치하여 서비스를 하실 수 있으나, 극히 제한적입니다. 과연 이 Server Core는 무엇을 위해, 어떻게 사용해야 할까요?

Enterprise Server Core와 Enterprise 버전을 비교해보면,

기본 설치 완료 후, Server Core는 약 180메가정도의 메모리 점유, Enterprise Server는 250메가 정도의 메모리를 점유합니다. Enterprise Server는 약 6~7G의 하드 디스크 공간을 차지하며, Server Core는 1.6G 정도의 하드 디스크를 차지합니다. 시스템에 차지하는 공간의 차이는 고스란히, 서비스를 위한 공간으로 활용할 수 있다는 기본적인 생각이 드실 것입니다.

Server Core는 서비스를 위한 기반을 제공하는 운영 체제입니다.

Server Core에서 어떠한 서버 작업을 직접하는 모습보다는, 서비스만을 설치하고, 관리는 원격 접속을 통해 하는 모델이 최적입니다. Server Core의 기본 부팅화면인, 명령어 프롬프트에서 무언가 작업을 직접하실 수도 있지만, 기본적인 작업 - IP 설정, 컴퓨터 이름 설정, 도메인 가입 등 - 만 하시고 나머지 작업은 다른 컴퓨터에서 하실 수 있습니다.(도메인이 아니더라도, 한번의 인증을 받으신 이후에는 연결하실 수 있습니다.)

image

Server Core는 GUI 모듈 및 사용 및 제공하지 않을 서비스에 대해서는 일체의 실행 파일 및 관련 컴포넌트를 가지고 있지 않으므로, 보안적 측면에서는 외부로 노출되는 표면이 줄어들게 됩니다. 사용할 서비스가 적고, 해당 서비스가 조직이나 서비스 상으로 매우 중요도가 높다면, 보안을 위해서, 해당 서비스 이외는 사용하지 않는 것을 권장하고 있다는 것도 유념하셔야 합니다.

Server Core에는 현재 IIS를 설치할 수 없습니다. 개발자분들을 만나뵈면, IIS를 Server Core에 설치하셔서 웹 서버로 운영하시려는 아이디어를 가지십니다. Server Core에는 현재로서는 IIS를 설치할 수 없을 뿐더러, .NET Framework가 없기 때문에, .NET 응용 프로그램에 대해서도 서비스를 하실 수 없습니다. 또한 GUI를 사용하는 도구를 설치를 시도할 경우, 실패 혹은 설치 성공후에 동작하지 않는 형태도 발생합니다. Server Core에는 서비스만 설치하여야 하며, 관리는 명령어 or 원격 접속을 하셔야 합니다.

image

위에 그림은 WMS for Windows Server 2008 Beta 3 입니다. Server Core에는 미디어 서비스의 서비스만을 설치하고(-ServerCore.msu가 이에 해당됩니다.), 다른 서버나 클라이언트에 관리 도구를 설치하여 관리하시면(-Admin.msu가 여기에 해당됩니다.) 되겠죠? 현재는 Windows Server에 관련된 기능만 존재하지만, 언젠가.. 어떤 BackOffice가 Server Core용으로 나올지는 모르겠습니다. 불가능하진 않겠죠..

Server Core는 패치 및 유지 보수를 위해 머신을 일시적으로 중지해야 할 확률이 낮습니다. 적은 양의 모듈과 서비스로 인해 취약점 패치가 나올 확률도 적다고 볼 수 있으며, 유지 보수 역시 마찬가지입니다. 만약 WSv를 이용하여 100여대의 VM을 서비스하고 있는 Server Core가 있다면, 당연히.. 패치 적용이나 유지 보수를 위해 다시 시작해야 한다면...

Server Core의 명령어 프롬프트만 보여지는 첫번째 화면에서, 이걸 어떻게 명령어를 다 알고 관리하라는 걸까? 라는 의문... 도대체 어디에 쓰라는 걸까? 라는 궁금점에 대해서 다소 해결이 되셨으면 합니다.