Linux를 Hyper-V 기반에 설치하고, System Center에서 모니터링하기

여러 기술이 혼재된 환경(Heterogeneous)을 위한 Cross Platform(Linux/Unix) 모니터링, System Center Operation Manager(SCOM) 포스팅과 Linux Integration Components(IC)에 대한 여러 소식을 블로그를 통해 전달해드린 적이 있습니다. 주위의 많은 IT 엔지니어 분들께서, 실제 Hyper-V 기반에서 이를 설치하는 방법과 시스템 센터를 통한 모니터링을 여쭤오시는 경우가 많아 오늘 포스팅으로 정리하려고 합니다. Smile

image

먼저 통합 서비스 설치 디스크에 대한 이야기를 드려야 합니다. Windows 운영 체제도 역시 Hyper-V에 최적화(정확하게는 하이퍼바이저를 인식)하려면 통합 서비스 설치 디스크를 설치해야 합니다. 이걸 설치해본 적이 없다! 고 말씀하시는 분들이 계시는데, Windows 7/Windows Server 2008 R2의 경우, 출시 당시 해당 운영 체제에 통합 서비스 모듈이 내장되어져 있기 때문에 추가적인 설치가 없었던 것입니다.(이를 Hypervisor-Aware라고 하죠) 이후 서비스팩 1을 설치하신 이후에는, 통합 서비스 설치 디스크 삽입 메뉴를 통해 VM도 최신의 모듈로 업그레이드해야 되었죠.

Linux(RedHat, CentOS, SUSE)의 경우에는 현재 커널 레벨에서는 아직 Hyper-V 관련 모듈이 내장되어져 있지 않습니다. (차후 3.0에서 포함 예정, 참고 링크) 그렇기에, 별도의 추가 작업을 하지 않으시면, Linux 레벨에서는 Hyper-V를 인식할 수 없는 상태가 되고, 주요 기능을 사용할 수 없죠. 이러한 Hyper-V를 인식시키는 모듈이 바로 Integration Components입니다. 이 모듈을 설치하기 전까지는 2개 이상의 코어 인식, 기본 네트워크 카드 인식, HeartBeat 교신, 시간 동기화등, Hyper-V 관리 서비스에서 제공되거나, 좀더 나은 성능을 위해 하드웨어를 사용하는 기술들은 사용할 수 없습니다. 결론은 설치해야 한다는 의미입니다. Smile 그럼 어떻게 설치할까요?

Linux IC 최신 버전은 Linux 기반에서 설치를 간편하게 제공하기 위해 RPM 패키지 형태로 제공합니다. 이를 Linux 터미널에서 RPM 명령어를 통해 설치하시는 것이 전체 과정입니다.

그럼 먼저 Linux를 설치해야겠죠?

앞서 언급드린 데로, 기본적인 네트워크 카드는 인식하지 않기에, 최초 Linux 설치시 네트워크 접근이 필요하시다면, 레거시 방식을 추가하셔야 합니다. 일단 네트워크 카드를 연결하지 않음을 선택한 채로 VM을 생성합니다.

image

이후 VM 속성에서 하드웨어 추가를 통해 레거시 네트워크 카드를 추가합니다.

image

이제 Linux를 설치합니다. 설치 미디어인 ISO를 이용하여 설치를 진행합니다. 설치 진행시는 저보다 훨씬 Linux 전문가가 많으시기에, 전 그냥 일반적인 Basic Server 형식으로 설치하고, 그래픽 관련 구성 요소만 추가로 설치하는 형식(Desktop, Graphical Administration Tools, X Window System)을 따릅니다.

image image

이제 설치 작업이 시작되고, 일정 시간 후 완료됩니다. Smile

image image

몇가지 설정 후, 로그온이 완료되면, Hyper-V Integration Components를 설치해보겠습니다. Microsoft 사이트에서 Linux Integration Components의 최신 버전인 3.1을 다운로드합니다.(2011년 11월 28일 현재 최신 버전은 3.1) 해당 사이트엔 설치 미디어와 설치 방법을 잘 정리한 PDF 파일이 있습니다.

Linux VM에 ISO를 연결합니다.

image

/dev/cdrom을 마운트합니다. (mount /dev/cdrom /media)  root 계정이 아닌 경우엔 su ?를 이용하여 권한 상승을 합니다.

image

/media에 RPM 파일을 설치합니다. 설치를 위한 옵션은 -ivh를 사용하시길 권장합니다.

image

Linux가 32비트인 경우, x86 폴더, 64비트인 경우에는 x86_64 폴더를 이용합니다. 폴더내 RPM 패키지와 소스 코드가 들어있습니다. RPM 패키지를 설치합니다.

image

완료 후, reboot시킵니다. 재부팅 후, 관련 모듈이 정상적으로 동작하는지 확인할 필요가 있습니다.

/sbin/modinfo hv_vmbus

image

/sbin/lsmod | grep hv

image

이제 VM에서 Synthetic 네트워크 카드를 등록하여, 성능 향상을 꾀합니다. 레거시는 에뮬레이션 방식이기에, 성능 하락이 다소 생길 수 있습니다.

image

해당 네트워크 카드에 대한 IP 설정을 해야겠죠. Network Connection의 eth0이 기존 레거시, eth1이 새롭게 추가된 Synthetic 네트워크 카드입니다. 이를 Edit를 통해 IP 설정을 마무리합니다.

image

기본적인 Hyper-V 기반의 Linux 설정은 여기까지입니다. 중요한 것은 Linux IC 3.1을 잘 설치하는 것이겠죠. 아시고 나니 그렇게 어렵지 않다는 것을 느끼실 수 있을 것입니다. 그럼 이제 System Center에서 이를 어떻게 모니터링할 수 있는지 살펴보겠습니다.

System Center Operation Manager 2007 R2 + Cross Platform Extension과 System Center Operation Manager 2012는 Linux/Unix 계열을 모니터링할 수 있습니다. 이러한 모니터링은 단순한 형태가 아닌 Windows 레벨과 거의 비슷할 정도로 제공하여, IT 관리자의 관리 편의성을 제공합니다. (자세한 내용은 여러 기술이 혼재된 환경(Heterogeneous)을 위한 Cross Platform(Linux/Unix) 모니터링, System Center Operation Manager(SCOM)를 참고) 시스템 센터에 관련된 다운로드 링크

자 그럼 이제 SCOM에서 어떻게 이를 모니터링하는지 살펴보겠습니다. (SCOM에서는 현재 CentOS는 공식적으로 지원하지 않습니다. 공식 지원은 SUSE, RedHat을 지원합니다.)

SCOM은 Linux/Unix에 대한 모니터링 대상과의  교신을 위해 2개의 프로토콜 SSH, WS-Management를 이용합니다. SSH를 통해 Agent를 설치, 업그레이드, 제거를 하게 되며, WS-Management을 통해 대상의 발견 및 모니터링 작업을 진행합니다. 중요한 포인트는 이 프로토콜이 정상적으로 외부와 교신하기 위해 Linux의 방화벽 설정을 처리해야 합니다. 방화벽을 설정하지 않으면, 대상 Linux/Unix를 찾을 수 없을 수 있습니다.

image

Agent Managed에서 Discovery Wizard를 통해 Unix/Linux 컴퓨터를 검색합니다.

image

설치와 관련된 계정 혹은 SSH 관련 설정을 진행합니다.

image

이렇게 설치된 Linux용 모듈을 통해 실제 모니터링이 지원되죠.

image

Microsoft는 2007년부터 상호 운용성 원칙에 따라, Windows 운영 체제 이외에 대한 지원도 아끼지 않고 있습니다. 오픈 소스 관련된 프로젝트에도 많이 참가하여, 기술 발전에 발걸음을 같이하고자 노력하고 있는 것도 물론이고요. 금일 포스팅된 Linux 설정이 조금이나마 인프라 구축에 도움이 되었으면 하는 바램입니다.