우분투 클라우드 구축하기 (Ubuntu 12.04 를 이용한 VM 설치)

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 5 comments

https://blog.lael.be/post/57

정확히 표현하자면 Ubuntu Desktop 에 Qemu-KVM 가상화 환경을 구축하는 방법을 설명할 것이다.

 


 

http://en.wikipedia.org/wiki/Ubuntu_(operating_system)#Releases

e1

이 글은 Ubuntu 12.04 LTS 에서만 동작하는 것을 확인했습니다.

Ubuntu 14.04는 RemoteDesktop 을 하려면 엄청복잡한 작업을 해야하더군요. 세팅해보고 난 결론은 “안하는게 낫겠다” 였습니다.

Ubuntu 14.04 에서의 작업은 추천하지 않습니다. 어차피 Desktop 에서 가상머신(VM)을 돌릴것 이므로 12.04 로 설치해도 사용에 문제는 없을거에요.


 

지속적인하드웨어 가격의 하락으로 어느덧클라우드 서비스라는 것이 각광을 받기 시작했다.

 

라엘이는 A, B, C 서버가 협업을 하여 (A의 결과물을 B가 받아서 처리, B의 결과물은 C가 처리)

일을 처리하는 프로세스 프로그램를 제작하였다.

 

원래는 서버 3개를 구입해서 구축하려고 했으나 각각 서버의 부하 예상치를 알 수 없었고, 운영상의 문제도 있었다. (서버사서 운영체제 설치한다고 올바로 돌아가는 것은 아니다.)

예를 들어 A 서버가 하는 일이 부하가 가장 많이 걸린다면 하드웨어 스팩을 교체하는데 시간과 비용이 많이 들어간다. 또한 각 서버의 통신에서 문제가 발생할 수도 있다.

 

따라서 클라우드 환경을 구축하려고 했고 다음과 같이 설치하였다.

클라우드는 서버간의 통신문제가 없고(물리적으로 붙어있음), 하드웨어의 스팩 조정이 매우 유연하다.

 


 

가상화 환경을 구축하기 위해서 초기비용은 매우 중요하다.

많은 사람들이 도입을 꺼려하는 이유가 “초기 비용이 비싸서” 인데 이것을 오픈소스로 구축하면 비용을 획기적으로 낮출 수 있다.

 

예를 들어 Windows Server 2012 에 VMWare 를 사용하면

 

http://www.softwarecatalog.co.kr/src/Item/ItemMaster.aspx?Serial=8433&KW=server+2012
e2
Standard (1호스트 PC + 2 VM 제한) : 882달러 (170만원 - 구매대행가)

Datacenter (1호스트 PC + 무제한 VM) : 4809달러 (630만원 - 구매대행가)

 

+
e3
가장 많이 쓰이는 VMware workstation 9 : 249달러 (33만원)

 

이다.

 

낮은 비용으로 맞추어도 170만원 + 33만원 = 203 만원 이며

이는 클라우드 환경도입을 어렵게 한다.

 

이때 다음과 같이 오픈소스 제품(Opensource Software)으로 바꾸면 0원이 든다.

 

운영체제 선택.

당연 Ubuntu 선택.

우분투는 타 리눅스 배포판 보다 사용이 쉽다.

그렇다고 성능이 떨어지는 것도 아니다.

간혹 타OS로 소스 설치 및 컴파일 , 환경설정등 복잡한 과정으로 설치하고 구동하며 으쓱해 하는 사람을 본적이 있는데, 그러한 과정을 우분투는 간단한 명령어 한줄으로 처리할 수 있다.

 

무튼 운영체제를 다운받기 위해서 공식홈페이지 방문.

http://www.ubuntu.com/download
e4
- Ubuntu Desktop

- Ubuntu Server

- Ubuntu Server for Cloud

 

가 있는데 셋의 차이는 초기 설치되는 패키지의 차이이다.

가장 적게 설치되는 것이 Ubuntu Server 이다. (설치할때 추가 안했다면)

언제든 운영중에 변경이 가능하다.

 

Ubuntu Cloud 는
e5
OpenStack 이라고 Enterprise Cloud (중대형 클라우드 구축) 을 구축하기 쉽게된

패키지이다. 하지만 전부다 수동으로 설치해줘야 함.

http://docs.openstack.org/folsom/basic-install/content/basic-install_requirements.html

OpenStack 은 오픈소스로 쌓여진(stacked) 클라우드 솔루션이다.

아래 처럼 3개 구성요소로 나뉜다. (전부 오픈소스 소프트웨어)

- Controller Node 서버 (MySQL, RabbitMQ, Nova, Cinder, Glance, Keystone, Quantum)

- Network Node 서버 (Quantum-L3-agent, Quantum-DHCP-agent, Quantum Agent with Open-vSwitch)

- Compute Node 서버 (nova-compute, KVM, nova-api, Quantum Agent with Open-vSwitch)

 

중대형 클라우드를 구축할 수 있고 국내에는 Ucloud 가 이렇게 구축되어 있다. (https://ucloudbiz.olleh.com/)

해외에는 아마존클라우드가 이런 기반으로 구축되어 있다. (http://aws.amazon.com/ko/ec2/)

 

구축후에는 웹 GUI 환경으로 쉽게 클라우드를 구축할 수 있다.
e6
[그림 : 기본제공되는 웹 클라우드 로그인화면(Horizon)]

 

상세 동영상 : http://www.youtube.com/watch?v=Uu3TNAlX7vs

 

 


 

인데 라엘이가 설치하다가..  클라우드 호스팅 사업할 것도 아니고 왜 이렇게 거대하게 만들고 있나 싶어서 포기하였다.

 

여러가지 방법으로 클라우드 환경을 구축해 보았지만 다음의 방법이 가장 쉬웠습니다.

 

1) Ubuntu Desktop 다운로드

위에서 설명한 바와 같이 Desktop 이라고 해서 성능이 떨어지는 것이 아닙니다.

단지 초기세팅이 사용자가 쉽게 사용할 수 있게 되어 있을 뿐이지.

다운받으실때는 꼭 LTS 버전을 받으세요. (이걸 받아야 유지하기가 쉬움. 문제생길일도 적고.)
e7

e8
CD를 집어 넣고요.

 

 

서버를 켜면.
e9
언어 선택이 나오는데 English 를 선택한 후 Install Ubuntu 를 하세요.

한국어가 있긴한데 여기서 한국어는 (EUC-KR)으로.. 추후 많은 문제를 일으킬 수 있습니다.

영어(English) 선택하세요.
e10
설치가 빨리 되야 하므로 아무것도 체크하지 말고 continue.

 

- 파티션이나 이런거 물어보는데 그냥 continue 누르면 됩니다.

- 지역 물어보면 Seoul 선택

- 키보드는 영문키보드

- 계정은 잘 써넣으시고 Require my password 를 선택하세요. (데스크탑이 아니라 서버로 쓸거기 때문에 자동로그인은 위험합니다.)
e11
설치가 끝나면 재부팅
e12
CD 빼 달라는 요청이 있는데

CD빼고 엔터누르면 재부팅됩니다.
e13
재부팅 후 다음과 같은 화면이 나오면 성공입니다.
e14


 

 

*아이피를 설정하려면 다음 메뉴를 참고합니다.
e15
설치 후 초기설정.

 

1) 리소스 확인.

운영체제, CPU 종류 등 확인가능.
e16
[Resource] 탭에서는 윈도우즈의 작업관리자에서 보았던 리소스 사용량을 볼 수 있습니다.
e17
Ubuntu 12.04 64bit 가 설치되어 있군요.
e18
하드 연결정보 및 파티션정보를 알 수 있습니다.

 

 

 

2) Root 비밀번호 설정, Guest 로그인 끄기, Root 로그인 켜기

관리계정(설치할 때 생성했던 계정)으로 로그인 합니다.

화면 구성은 MAC을 왼쪽으로 눕혀 둔것 처럼 보입니다.

 

 

*아이피가 설정되었다고 가정하고

시작 > command 로 검색 > 터미널 시작
e19
작업이 많아서 요약합니다.

 

sudo 로 루트 비번 바꾸고

vi 로 /etc/lightdm/lightdm.conf 파일 수정
e20
아래 두줄 추가합니다.

root 로그인 할 수 있게 manual 옵션을 주고

guest 로그인 불가능하게 false 옵션을 줍니다.

 

이 다음에는 lightdm 을 다시 켜면 되는데 그냥 재부팅해 줍시다.

 

#reboot
e21
재부팅 후 Guest 로그인이 사라지고 manual login 이 추가되면 정상입니다.

root 로 로그인합시다.
e22
Ubuntu Software Center 에서 Virtual Machine Manager 를 설치해 줍시다.

 

이것은 그냥 관리툴 같은 겁니다. 가상머신 생성하고 운영하는 데몬이 아니라 모니터링 프로그램입니다.

 

실행하면 컨트롤 할 수 있는게 없다고 나옵니다.
e23
이제 가상머신 데몬을 설치해 봅시다.

 

명령어로 쓰는게 가장 간편합니다.
e24
다시 Virtual Machine Manager 를 켜면 사용하기 쉬운 가상화 프로그램이 열립니다.
e25
New 를 하시면 됩니다.

 


 

이상태에서 설정해줘야 하는게… 원격 접속인데..

여러가지 해봤는데 다음의 패키지가 가장 낫더군요. (운영체제 재설치만 5번정도 한듯.)

우분투에 기본내장된 console vnc 는 비밀번호가 8자리까지만 지정이 가능해서 해킹당할 수도 있을것 같더군요.
e26
Ubuntu Software Center > “xrdp” 검색 > RDP Server 설치

 

하면 윈도우 상에서 서버 아이피를 검색해서 mstsc 로 접속이 가능합니다. (로그인은 안되므로 mstsc 연결여부만 확인해보세요)
e27
그런데.. 망할 .. 지원해주는 모듈이 너무 많더군요..

sesman-Xvnc 외에는 쓰지 않을 겁니다.

 

#vi /etc/xrdp/xrdp.ini

파일을 수정해서 아래 그림처럼 항목을 지워주도록 합시다.

나중에 되돌리고 싶을땐 xrdp 를 재설치하시면 됩니다. (재설치하는데 30초 정도 걸림)
e28
적용을 위해서 xrdp 서비스 재시작

#service xrdp restart
e29
이렇게 바뀌면 성공입니다.

 

역시 로그인은 안되는데요. GUI 쉘 종류를 지정해 주어야 합니다.

 

#이 작업을 해준 유저만 로그인이 가능합니다.

저는 root 만 로그인 가능하게 해줄 것이기 때문에
e30
원격을 허용할 계정으로 변경

#su -l root

 

계정의 홈디렉토리로 이동

#cd ~

 

계정의 홈디렉토리에 .xsession 파일 생성

 

gnome-session -session=ubuntu-2d
e31
저장하시면

이제 해당 계정으로 xrdp 로그인이 될것입니다.

 

로그인원리는 sesman-Xvnc

sesman (세션매니저) 가 유저의 아이디비밀번호를 확인하고 맞다면

VNC 채널을 열어서 로그인을 시킵니다.

따라서 콘솔의 화면과 다릅니다.

 

그런데 유저당 1해상도채널 이라서 중복 로그인시 같은 화면을 여럿이서 제어하게 됩니다. (vnc 의 기능을 받기 때문에)

서로다른 로그인을 하려면 해상도를 다르게 하세요. (VNC 채널옵션때문에 해상도가 다르면 다른세션을 생성합니다.)

 

채널을 강제 종료하려면 쉘로 로그인 한 후에

#ps -ef | grep Xvnc

로 프로세스 아이디를 알아낸 다음에

#kill 프로세스아이디

하시면 됩니다.

 

RDP를 종료해도 vnc로 열린 채널은 살아있기 때문에 채널도 종료하고 싶으면 로그오프 하시면 됩니다.

RDP와 다르게 해상도 자동 조정이 안되기 때문에 모니터가 바뀌면 로그오프 하시고 다시 로그인하시는게 좋습니다. 그렇지 않으면 새로운 세션이 열림.

 


 

추가작업.

 

호스트머신은 보안이 중요하기 때문에 방화벽 관리툴을 설치해 줍니다.

우분투 기본방화벽인 iptables 를 GUI 로 편집할 수 있게 해주는 툴입니다.

iptables 에 숙련자 시라면 굳이 이 프로그램을 안쓰셔도 됩니다.
e32
#주의 : 콘솔작업 기준이기 때문에 방화벽 작업시 연결이 끊어질 수 있습니다.
e33
그림보고 이해하세요. 222.111.123.123 자리에 당신의 IP 주소를 입력하시면 됩니다.

 

이렇게 되면 간단한 보안패치가 된

가상머신을 돌릴 수 있는

클라우드 호스트 서버가 준비되었습니다.

 

그 후에 자세한 세팅법은 : https://blog.lael.be/post/242

5 Comments

  1. 서버 구축하기 위해 열심히 잘 보고 있습니다.

    궁금한게 우분투는 리눅스 구동인데 윈도우에서도 설치가 된다고 들어서 그런데요.

    혹시 윈도우에서도 같은 방식으로 하면 구축이 가능한지 알려 주실수 있으신가요?

    그럼 수고하세요.

    1. 윈도우에서 리눅스 가상머신을 구축하시려면
      https://www.virtualbox.org/wiki/Downloads 에서 Windows Host 용을 다운받아 설치하고
      http://releases.ubuntu.com/14.04.2/ubuntu-14.04.2-desktop-amd64.iso 에서 우분투 ISO를 다운받아서
      설치한 Virtual box 에 ISO 이미지를 삽입한 후 설치해보세요.

      1. 감사합니다. virtual box 덕분에 설치 하고 했습니다.

        그리구 궁금한 것이 virtual machine에서 데몬을 설치한 다음에 new를 실행하라고 하셨는데요.
        그 뒤에는 어떻게 하는 건가요? 바로 다음 작업으로 넘어가면 되는건가요??

        그럼 수고하세요~

        1. virtual box 를 설치하셨으면 생각대로 이것저것 눌러보셔서 리눅스를 부팅해보세요.
          프로그램이 사용하기 쉽습니다.

          1. 감사합니다. 블로그 내용과 댓글로 모르는 부분 많이 알려주신 덕분에
            서버에 관해 공부하면서 차근차근 설치 중입니다 ^^

ㅁㅁ에 답글 남기기 응답 취소

작성하신 댓글은 관리자의 수동 승인 후 게시됩니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*