2012년 12월 9일 일요일

노트북에 분산환경을 위한 가상머신 구축하기 #2

CentOS 설치
좀 많이 찜찜하지만 가상머신에 OS 먼저 설치하자. 받은 CentOS 이미지 파일을 가상머신의 가상 CD/DVD에 넣고 "시작" 버튼을 누른다. 부팅 화면을 지나고 나면 다음과 같은 CentOS 설치화면이 나타난다. "Install or upgrade an existing system"을 선택하자.
Media를 테스트 할 건지 여부를 묻는 화면은 그냥 건너 뛰자.
"OK" 버튼을 누르면 설치를 시작한다.
메모리를 적게 지정하면 3D 영화를 넘어 4D가 나오는 세상인데 위와 같은 화면으로 설치를 해야 한다. 하지만 메모리를 충분히(1GB) 지정했기에 다음과 같은 설치화면이 나타난다.
설치 과정은 이미지로 대체. (순서: 왼쪽에서 오른쪽으로)
설치 과정 중 다음 화면은 좀 중요하기 때문에 크게 표시하였다. 뭐 하는데 중요하냐 하면, 어떤 툴들을 설치할지 정하는 화면이기 때문이다. "Software Development Workstation"으로 지정해야 개발에 필요한 툴들이 설치되기 때문에 꼭 이걸로 지정하자.
다시 또 왼쪽에서 오른쪽으로~
설치 끝!
1024MB로 잡아 놓은 메모리를 512MB로 내릴 예정이고 굳이 X-Window를 사용할 필요가 없기 때문에 초기화면을 변경할 필요가 있다. "프로그램 >> 시스템 도구 >> 터미널" 메뉴로 터미널을 실행하자. 터미널 화면에서 root로 사용자를 변경한 후 "/etc/inittab" 파일을 수정하자.
[TurboK@alpha ~]$ su
암호: (root 암호입력)
[root@alpha TurboK]# vi /etc/inittab
위 명령을 수행하면 터미널에 다음과 같은 화면이 나타날 것이다.
제일 아래 줄에 있는 "id: 5: initdefault:"을 "id: 3: initdefault:"으로 바꾸자. 그리고 나서 다시 부팅하면 다음과 같은 콘솔화면에 나타난다.
가상머신의 메모리도 512MB로 내리자.
CentOS 업데이트
최신 버전의 이미지를 받아 왔지만 업데이트 할 것들이 있다. root 권한으로 로그인 하고 다음 명령을 수행하자.
[root@alpha ~]# yum update
설치과정대로 했다면 그럴리가 없겠지만 혹시라도 네트워크 접속이 안돼서 update 할 수 없다고 하면 다음 파일을 확인해 보자.
[root@alpha ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="dhcp"
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE="Ethernet"
UUID="cdbc86e4-6180-48b8-bb12-d0e9ff10a085"
HWADDR=08:00:27:46:B4:E4
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
[root@alpha ~]#
위 콘솔화면에서 "ONBOOT=yes" 값이 OS 설치 시 네트워크 설정을 따로 하지 않으면 "no"로 되어 있다. "no"로 되어 있다면 "yes"로 바꾸고 네트워크를 재시작하자.
[root@alpha ~]# service network restart
그래도 안된다면 호스트 PC가 인터넷에 접속할 수 있는 상태인지 체크해 보자.
굉장히 많은 Update가 기다리고 있다. 참고 기다리자. 다 참았다면 네트워크 설정으로 고고~
네트워크 설정
들어가기 전에 "브리지 어댑터"를 사용할 수 있는 경우라면 이 과정은 필요 없으므로, "/etc/sysconfig/network-scripts/ifcfg-eth0" 파일만 고정 IP주소를 갖도록 설정하고 넘어가자.
(Linux Newort 설정 참고.)
앞서 가상머신을 만들고 설정을 변경할 때 NAT로 설정하고 넘어가자고 했다. 그리고 NAT는 문제가 있는데 첫째 외부에서 접속하기 위하여 포트 포워딩해야 하고, 둘째 가상머신끼리 토킹하기 위하여 다른 네트워크를 설정해야 한다는 것이였다. 이제 이 설정들을 하려고 한다. ssh로 외부에서 접속해야 하니까 포트 포워딩 먼저 하자.
포트 포워딩
포트 포워딩이란 말 그대로 TCP/IP에서 사용하는 포트라는 애를 다른 데(포트)로 전달(포워딩)하는 것을 말한다. 네트워크 공유기 사용할 때 한 번쯤 써 봤을 지도 모르겠는데 거기 있는 거랑 똑같다. VirtualBox에서 포트 포워딩은 가상머신의 설정 대화상자에서 네트워크 탭에 있다. NAT로 설정했을 경우만 활성된다.
버튼을 누르면 다음과 같은 화면이 나타난다.
오른쪽에 있는 "+" 버튼을 눌러 행을 추가한 후 이름과 포트를 입력하면 된다. IP는 굳이 입력할 필요없다. 다음 그림은 호스트 PC의 2201번 포트로 들어오는 데이터를 가상머신의 22번 포트로 전달하도록 지정한 것이다.
왜 22번 포트로 포워딩 했느냐? ssh 접속을 위해서다. ssh설정을 바꾸지 않았다면 22번 포트를 이용하기 때문이다. 정리하면, 호스트 PC에서 putty와 같은 ssh client를 이용하여 127.0.0.1의 2201번 포트에 접속하면, 포트 포워딩을 통해 가상머신(alpha.centos)의 22번 포트로 접속할 수 있다.
가상머신에 구축한 웹서버에 접속하고 싶다면 마찬가지 방법으로 포트 포워딩을 지정하면 된다.
호스트 전용 네트워크 어댑터 추가
이제 가상머신끼리 통신할 수 있도록 해보자. VirtualBox의 NAT로는 보안 등을 이유로 가상머신끼리 통신할 수 없단다. 그렇다면 어떻게 해야 하나? 고민 고민하다가 든 생각! "네트워크 어댑터를 하나 더 달면 되지."
VirtualBox에서 제공하는 네트워크 기능 중에 "호스트 전용 네트워크"라는 것이 있다. 이것을 이용하면 호스트 PC 상에 있는 가상머신끼리 통신할 수 있다.
VirtualBox 관리자의 "파일 >> 환경설정" 메뉴를 실행하면 다음과 같은 설정창이 나타나고 네트워크 탭을 누르면 호스트 전용 네트워크로 사용할 어댑터를 추가할 수 있는 화면이 나타난다. "+" 버튼을 누르면 새로운 어댑터가 생성된다.
추가된 어댑터를 선택하고 드라이버 모양의 버튼을 눌려 네트워크 정보를 다음과 같이 입력하자.
DHCP 서버는 굳이 사용할 필요가 없다.
이제 가상머신에 네트워크 어댑터를 하나 더 달자. 다는 방법은 가상머신의 네트워크 설정창에 들어가 "어댑터 2" 탭을 선택하고 사용하도록 체크만 하면 끝.
체크하고 나서 "호스트 전용 어댑터"를 선택하고 "이름" 부분에 조금 전에 추가한 "VirtualBox Host-Only Ethernet Adapter #2"를 선택하자. 그리고 MAC 주소를 기억해 두자.
이제 할 일은 가상머신을 부팅해 네트워크 설정을 바꾸는 일이다. 가상머신을 부팅하고 접속하여 다음 파일을 새로 만들자.
[root@alpha ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
아무것도 없는 빈 화면이 나타날텐데 여기에 네트워크 정보를 다음과 같이 입력하자.
DEVICE="eth1"
BOOTPROTO="none"
HWADDR=00:00:00:00:00:00  <- 기억하자고 한 MAC 주소입력
ONBOOT="yes"
IPADDR=192.168.70.11
NETMASK=255.255.255.255
GATEWAY=192.168.70.1
TYPE=Ethernet
MAC 주소, IP 주소 등은 앞서 설정한 내용에 따라 달라질 수 있다. 다 했다면 네트워크 서비스를 재시작 하자.
[root@alpha ~]# service network restart
확인을 위한 지정한 GATEWAY에 Ping을 날려보자. 잘 날아가면 성공적으로 끝. 만약 안 날라간다면 뭔가 잘못 설정한 것이니 천천히 다시 잘 살펴 보자. 이렇게 찜찜함을 해결하면서 2부 끝~
저작자: Yes, 상업적 이용: No, 컨텐츠 변경: No

댓글 없음:

댓글 쓰기