본문

편리하게 VirtualBox기반 서버 관리하기 (Headless+KiTTY+Xming)

VirtualBox로 리눅스 서버를 구동하다보면 CLI중심으로 운영하거나 또한 사용자의 조작이 필요없이 백그라운드에서 계속 돌고만 있어야하는 경우가 있다. Docker for Windows가 딱 그 경우인데, 윈도우 어플리케이션인 Docker Terminal은 frontend로써 사용자에게서 입력을 받아 VirtualBox에 있는 가상머신 내의 Docker 엔진(backend)에게 입력을 전달해주는 구조로 동작한다. 이 뿐만 아니라 관리의 편의를 위해 여러개의 가상머신을 띄워놓고 SSH 클라이언트로 이들을 관리하는 경우도 있다. 이 글은 이러한 경우에 도움이 될 수 있는 두가지 팁에 관한 글이다.


1. 헤드리스 시작 (https://www.virtualbox.org/manual/ch07.html)

가상머신을 시작할때 화면출력없이 백그라운드에서 시작하는 방법을 헤드리스 방법이라 한다. 명령어(VBoxHeadless)를 통해서만 할 수 있는것으로만 생각했었는데 다른것을 찾다가 GUI에서도 헤드리스로 시작할 수 있는 방법을 알게되어 공유한다. 시작버튼 오른쪽을보면 화살표모양이 있는데 누르면 일반시작, 헤드리스 시작, 떼낼 수 있도록 시작이라는 메뉴가 보인다.


일반시작은 일반적인 가상머신 시작, 헤드리스 시작은 보이지 않게 시작하는것을 의미한다. '떼낼 수 있도록 시작'은 '헤드리스 시작'과 유사하지만 처음 시작시 화면을 띄워준다. 단, 사용자가 닫기버튼을 누르면 가상머신 종료 옵션 뿐 아니라 화면 감추는 옵션을 제공해서 나중에라도 헤드리스처럼 동작할 수 있도록 해준다.


간단하게 헤드리스시작으로 가상머신을 실행하려면 Shift키를 누르면서 시작버튼을 누르면 된다.




2. 호스트 전용 어댑터

호스트 클라이언트에서 게스트 서버로 접속할 때, 호스트 전용 어댑터를 사용하면 별다른 설정이 필요없다. 물론 NAT을 사용해도 되지만, 포트포워딩 설정을 해야해서 복잡하다. VirtualBox의 위 화면에서 파일 -> 환경설정 -> 네트워크 -> 호스트 전용 네트워크 항목을 확인하여 가상머신에 할당될 IP 주소에 대한 정보(DHCP서버정보)를 보거나 수정할 수 있다. 단, 호스트 전용 어댑터 특성상, 호스트와의 접속은 가능하지만 인터넷 연결은 지원하지 않는다. 따라서 어댑터1은 호스트 전용 어댑터로, 어댑터 2는 NAT으로 설정하는것이 편하다. 내부적으로 이렇게 개발하다가 외부로 공개할만치 완성되면 브릿지 어댑터로 간편하게 바꿔주기만 하면된다.


호스트에서 게스트로 접속할때는 게스트의 IP(예. 192.168.99.101)를 사용하면 되고

게스트에서 호스트로 접속할때는 호스트 전용 어댑터의 게이트웨이 (예, 192.168.99.1)으로 사용하면 된다.

상세한 설명은 여기 참조: http://www.slideshare.net/powerhan96/networking-between-host-and-guest-v-ms-in-virtual-box



3. KiTTY 사용하기

각 가상머신에 대한 SSH 접속시, 로그인 간소화를 위하여 인증서를 등록해서 사용하기도 하지만, 문제는 인증서를 만드는 작업에 더하여 가상머신에 인증서를 등록하는 작업, 그리고 PuTTY 기반인 경우 인증서 변환과정까지 해야할 일이 한두개가 아니다. KiTTY는 사용자이름과 더불어 비밀번호를 지정할 수 있어서 자동 로그인을 가능하게 한다. 참고로 자동로그인은 Connection -> Data에 username과 password를 입력하기만 하면 된다. 어짜피 가끔씩 정보 확인만 하는데 사용할텐데 굳이 탭이며 등등의 고급기능이 필요가 없다. 게다가 포터블 형식으로도 실행파일을 제공하기 때문에 환경이 바뀐다거나 할때 편리하게 사용 가능하다. 물론 평소에는 SuperPuTTY, xShell을 사용하긴 한다


KiTTY 다운로드 주소: http://www.9bis.net/kitty/?page=Download



4. Xming 사용하기

비록 SSH로 접속하여 명령줄을 입력할 수 있지만, 이것으로 부족할 때가 있다. 바로 GUI가 제공되지 않는다는것인데, 이것은 Xming과 PuTTY(KiTTY)와의 조합으로 쉽게 해결할 수 있다. Xming은 SSH X11 Forwarding을 위한 윈도우쪽 서버로써, 리눅스에서 보내오는 X-Window GUI정보를 출력해주는 역할을 한다. 아래 주소에서 2MB정도되는 간단한 설치파일을 다운받아 설치하고, PuTTY(KiTTY)에서 Connection -> SSH -> X11에서 Enable X11 Forwarding을 체크한 후 입력란에 localhost:0을 입력하면 된다. SSH 접속이 완료된 후 firefox등의 명령을 실행하면 화면이 출력된다. (아래 그림에서 MiniEdit창은 게스트에서 실행중인 프로그램화면이 호스트에서 띄워진것이다.)


Xming 홈페이지 주소: https://sourceforge.net/projects/xming



댓글

Holic Spirit :: Tistory Edition

design by tokiidesu. powerd by kakao.