CloudStack 4.0 설치와 사용하기.

Apache CloudStack 4.0 설치와 사용.

OS: Ubuntu 12.04

참고문서: http://incubator.apache.org/cloudstack/docs/en-US/Apache_CloudStack/4.0.0-incubating/html/Installation_Guide/index.html

CloudStack 4.0을 사용하기 위해서는, 64비트 x86 CPU, 4GB 이상의 메모리, 50GB 이상의 HDD 가 필요하다.
또한, Management Server, Database, Storage System은 Ubuntu 12.04 이상 또는 CentOS/RHEL 6.3 이상 버전이 필요하다.
CloudStack을 빌드하기 위해서는, ant, maven(version 3), Java(Java 6/openJDK 1.6), dpkg-dev(또는 rpmbuild)가 필요하다.

용어:
Management Server – 클라우드 리소스를 관리하는 클라우드스택 소프트웨어
Zone – 전형적으로, 하나의 데이타센터와 같다. zone은 하나 이상의 Pod와 secondary storage로 구성된다.
Pod – 보통 하나 이상의 클러스터와 L2 스위치를 포함한 하드웨어 랙이다.
Cluster – 하나 이상의 host와 primary storage로 구성된다.
Primary storage – cluster와 관련되며, cluster내의 host가 동작하는 모든 VM(가상머신)을 저장한다.
Secondary storage – zone과 관련되며, template, ISO 이미지, 디스크 볼륨 스냅샷을 저장한다. 설치에 local disk만을 사용한다면 secondary storage는 구성하지 않아도 된다.

1. 소스화일 다운로드후 압축을 풀어준다.

# wget  http://mirror.apache-kr.org/incubator/cloudstack/releases/4.0.0-incubating/apache-cloudstack-4.0.0-incubating-src.tar.bz2

# tar -jxvf apache-cloudstack-4.0.0-incubating-src.tar.bz2

2. 압축을 푼 디렉토리로 이동하고, deb package로 build한다.

아래 와같이 deb 패키지로 설치하면 간단하다. 물론, source file을 컴파일해서 사용 할 수도 있다.

# cd ./apache-cloudstack-4.0.0-incubating-src
# apt-get update
# apt-get install python-software-properties
# add-apt-repository ppa:natecarlson/maven3
# apt-get update
# apt-get install ant debhelper openjdk-6-jdk tomcat6 libws-commons-util-java genisoimage python-mysqldb libcommons-codec-java libcommons-httpclient-java liblog4j1.2-java maven3

deb 패키지를 생성하기 위해 의존성 검사를 실행한다.

root@localhost:~/cloudstack/apache-cloudstack-4.0.0-incubating-src# mvn3 -P deps
[INFO] Scanning for projects…
Downloading: http://repo.maven.apache.org/maven2/org/apache/apache/11/apache-11.pom
Downloaded: http://repo.maven.apache.org/maven2/org/apache/apache/11/apache-11.pom (15 KB at 44.2 KB/sec)
[INFO] ————————————————————————
[INFO] Reactor Build Order:
[INFO]
[INFO] Apache CloudStack
[INFO] Apache CloudStack Utils
[INFO] Apache CloudStack API
[INFO] Apache XenSource XAPI

……

[INFO] Apache CloudStack AWS API Bridge ……………… SUCCESS [2:50.882s]
[INFO] Apache CloudStack Test ………………………. SUCCESS [12.759s]
[INFO] Apache CloudStack Dependencies ……………….. SUCCESS [27.096s]
[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 6:30.373s
[INFO] Finished at: Mon Feb 04 17:01:36 KST 2013
[INFO] Final Memory: 30M/148M
[INFO] ————————————————————————

deb 패키지를 만들기 위해 아래 커맨드를 실행하면 16개의 .deb 화일이 생성된 것을 볼 수 있다.

root@localhost:~/cloudstack/apache-cloudstack-4.0.0-incubating-src# dpkg-buildpackage -uc -us

root@localhost:~/cloudstack/apache-cloudstack-4.0.0-incubating-src#cd ..

root@localhost:~/cloudstack# ls *.deb
cloud-agent_4.0.0-incubating_amd64.deb
cloud-agent-deps_4.0.0-incubating_amd64.deb
cloud-agent-libs_4.0.0-incubating_amd64.deb
cloud-awsapi_4.0.0-incubating_amd64.deb
cloud-cli_4.0.0-incubating_amd64.deb
cloud-client_4.0.0-incubating_amd64.deb
cloud-client-ui_4.0.0-incubating_amd64.deb
cloud-core_4.0.0-incubating_amd64.deb
cloud-deps_4.0.0-incubating_amd64.deb
cloud-python_4.0.0-incubating_amd64.deb
cloud-scripts_4.0.0-incubating_amd64.deb
cloud-server_4.0.0-incubating_amd64.deb
cloud-setup_4.0.0-incubating_amd64.deb
cloud-system-iso_4.0.0-incubating_amd64.deb
cloud-usage_4.0.0-incubating_amd64.deb
cloud-utils_4.0.0-incubating_amd64.deb

# mv *.deb ../

위에서 만든 데비안 패키지는 apt-get 으로 설치하기 위해 APT repo로 만들어 놓았다.

# cd /etc/apt/sources.list.d

# vi cloudstack.list
deb http://blog.boxcorea.com/cloudstack/repo binary/

# apt-get update

3.  매니지먼트 서버 설치.

하나의 노드에 mysql과 매니지먼트 서버를 설치하거나 여러개의 매니지먼트 서버에 mysql역시 분산시키는 설치방법이 있다. 매니지먼트 서버는 아래와 같은 작업을 해야 한다.

  • OS 설치
  • vhd-util 설치
  • management server 설치
  • mysql 설치와 설정
  • NFS 설정
  • (필요하다면) 추가적인 매니지먼트 서버 설치
  • VM 템플릿 준비

OS 설치후, cloud의 시간 동기화를 위해 ntp서버를 설치해준다.

vhd-util, management server(cloud-client) 설치.

vhd-util 을 /usr/lib/cloud/common/scripts/vm/hypervisor/xenserver 에 다운로드 받으면 된다. 아마도 cloud 관련 패키지를 설치하지 않았다면,  /usr/lib 디렉토리에 cloud 디렉토리가 없을 것이다. 그러므로, 먼저 cloud-client를 설치해주면, 위의 디렉토리가 생성되어 있을 것이다. CentOS/RHEL 6.3 은 디렉토리 위치가 ubuntu 와는 다르다.

# apt-get install cloud-client

# cd /usr/lib/cloud/common/scripts/vm/hypervisor/xenserver

# wget http://download.cloud.com.s3.amazonaws.com/tools/vhd-util

MySQL 설정.

mysql 서버를 설치하고, 설정을 해준다.

# apt-get install mysql-server

# vi /etc/mysql/conf.d/cloudstack.cnf

[mysqld]
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = “ROW”

cloud-setup-database 커맨드로 데이타베이스를 설정한다.

# cloud-setup-databases cloud:cloudpasswd@localhost --deploy-as=root:mysqlrootpasswd

Primary Storage 설정(여기서는 management server에 nfs 서버를 같이 사용하며, 동일 서버에서 nfs 마운트한다).

아래 커맨드로 nfs서버를 설치하고, 설정한다.

# apt-get install nfs-kernel-server

# vi /etc/exports
/export *(rw,async,no_root_squash)

# mkdir -p /export/primary
# mkdir -p /export/secondary
# exportfs -a

# mount -t nfs 192.168.100.12:/export/primary /primary-cloud
# mount -t nfs 192.168.100.12:/export/secondary /secondary-cloud
# df -h
Filesystem Size Used Avail Use% Mounted on

192.168.100.12:/export/primary 459G 36G 400G 9% /primary-cloud
192.168.100.12:/export/secondary 459G 36G 400G 9% /secondary-cloud

시스템 VM template 준비(여기서는 KVM을 사용할 것이다).

VM과 iso 이미지 등은 Secondary storage(위에서 /export/secondary 로 설정)를 사용하므로, 아래 커맨드로 템플릿을 생성한다.

마운트는 cloudstack이 나중에 자동으로 하므로, 모두 nfs는 모두 umount 해준다.

# /usr/lib/cloud/common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2 -h kvm -F

여기서, 템플릿이 다운로드 되는 위치가 중요하다. 나중에, system VM을 실행하지 못한다면, 이것을 확인해 보아야 한다.

마지막으로, cloud-setup-management 커맨드를 실행하여, 설치를 마무리 하도록 한다.

# cloud-setup-management
Starting to configure CloudStack Management Server:
Configure sudoers … [OK]
Configure Firewall … [OK]
Configure CloudStack Management Server …[OK]
CloudStack Management Server setup is Done!

4. UI로 로그인

웹브라우저를 실행하고 manager server가 설치된 ip주소로 접속한다. http://192.168.100.12:8080/client

아래 그림처럼 로그인 화면이 나오면, id는 admin ,비밀번호는 password 로 로그인 할 수 있다.

cloudstack-login

로그인이 정상적으로 진행되면, cloudstack에 관한 소개가 나오며 하단에 두개의 버튼이 나온다. 이 중에서, “Continue with basic setup”을 선택하면 비밀번호를 변경하는 화면이 나오게 된다. 그렇지 않고, “I have used CloudStack before”를 선택하면 관리자 페이지를 볼 수 있다.

5. 클라우드 설정.

UI로 로그인 한 후 “Skip his guide”를 선택하면 대쉬보드로 들어가게 된다. 왼쪽의 Global Settings 메뉴를 누르고 나오는 화면의 오른쪽 상단 검색창에 “swift.enable”을 입력한 후 찾기 버튼을 누른후, true을 입력하고 저장한 후 management server를 재시작한다.

cloudstack-enable-swift

# service cloud-management restart

다시 로그인 한 후에, 왼쪽 Infrastructure > Zone >View More > Add Zone 을 차례대로 선택한다.

cloudstack-addzone

 

Basic 타입과 Advanced 타입 두가지가 있는데, 여기서는 Basic을 선택.

cloudstack-addzone1

 

이름은 fox-cloud 로, DNS 는 모두 구글 퍼블릭 DNS인 8.8.8.8로 설정했으며, hypervisor는 KVM을 선택했다. (Xen, VMware, 심지어 OVM도 지원된다.)

cloudstack-addzone2

 

여기서는 가장 간단한 구성을 사용할 것이므로 다음으로 진행. 다음은 pod 설정화면이다.

cloudstack-addzone3

다음은, Guest traffic 설정. VM 들이 사용할 ip주소를 설정해 준다.

cloudstack-addzone4

다음은 Cluster 이름 설정.

cloudstack-addzone5

Host 설정(여기서는  KVM  서버)

cloudstack-addzone6

Primary Storage 설정

cloudstack-addzone7

Secondary Storage 설정

cloudstack-addzone8

여기까지 한후 Launch Zone 버튼을 눌러 설정을 적용한다.

host 생성시 unable to add the host 오류가 발생했다. 이 문제는 의외로 많은 사람들이 경험하고 있는것 같다.

http://www.mirantis.com/blog/an-openstack-guy-takes-cloudstack-for-a-test-drive/ 에 따르면, host가 생성되지 않는것은 주로 두 가지 가 원인이라고 하는데, 첫번째는, sshd 접속이 안되는 문제이거나 두번째는(우분투의경우) /etc/network/interfaces 설정 문제라고 한다.

내 경우 문제는, 두번째 였다. 추가하려는 kvm 호스트가 이미 kvm 을 사용하고 있는 상태였고, 네트워크 인터페이스는 br0로 설정되어 있는 상황이었다.  결국, br0 를 cloudbr0 로 바꾸니 문제가 해결되었다. 설치문서상에도, kvm 이 실행되고 있으면 안된다는 내용이 나오는데, 이는, cloudstack이 kvm 관련 패키지를 설치하기 때문인것으로 이해 된다.

원래 /etc/network/interfaces

auto br0
#iface br0 inet dhcp
iface br0 inet static
address 192.168.100.12
netmask 255.255.255.0
gateway 192.168.100.1
bridge_ports eth0 eth1
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

변경후 interfaces 화일

auto cloudbr0
#iface br0 inet dhcp
iface cloudbr0 inet static
address 192.168.100.12
netmask 255.255.255.0
gateway 192.168.100.1
bridge_ports eth0 eth1
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

이렇게, cloudstack에 zone을 등록했다.(등록된 zone에, c

cloudstack-addzone9

 

또하나의 문제, SystemVM이 실행되지 않는 문제는, Secondary Storage의 경로가 잘못되었을 가능성이 크다. 내 경우는 Secondary Storage 에 템플릿이 없어서 발생했다. 정확한 경로에, 다시  템플릿을 다운로드 받아서 다시 설정하니 문제가 해결되었다.

System VM 이 잘 부팅이 되었다면, VM을 생성해 본다. 왼쪽의 Instance 를 누르고, 오른쪽 위의 Add Instance를 누르면, wizard가 실행될 것이다. 여기서 Template를 선택하면, Cent5.5 가 나온다.  이것을 선택하여, VM을 만든다(시간이 조금 걸린다).

cloudstack-addinstance

가상머신이 잘 생성된다!!!

 

=============================================

삭제는 생성의 역순

The Physical Network is not deletable because there are networks associated to this physical network. 메시지가 나오면서 network 삭제 안될때, 데이타베이스에 접속하여 physical_network 테이블에서 삭제해준다.

delete from physical_network where name=”네트워크이름”;

 

32 comments

Skip to comment form

    • 박창근 on 2013년 2월 14일 at 4:05 오후
    • Reply

    sudo apt-get install cloud-client를 입력했더니 패키지를 찾을수 없다고 나와요~ 그전까지 잘 따라왔는데 찾을수 없다고 나옵니다…ㅠ

  1. 두 가지 경우가 있을 수 있을것 같네요.
    먼저, cloudstack 패키징시 cloud-client가 만들어졌는지 확인해보시고,
    만들어졌다면, 운영하는 웹서버에 제대로 업로드 되어 있는지확인 해보셔야할 것 같습니다.

    패키지가 정상적으로 존재 한다면, apt-get install 대신, dpkg -i cloud-client* 해서 설치하셔도 됩니다.

    • 전성원 on 2013년 3월 1일 at 12:50 오후
    • Reply

    32비트에서는 설치할수있는 다른 프로그램은없나요??ㅠ

    1. 클라우드의 중요한 부분가운데 하나가 가상화입니다. 그런데, 가상화는 64bit CPU부터 지원되죠. 그러니까, 32Bit CPU로는 안된다고 보면 됩니다.

    • root_choi on 2013년 4월 11일 at 5:22 오후
    • Reply

    안녕하세요~
    여쭤볼게 있어서요.
    unable to add the host
    역시 이 부분인데요. 게시글에서 언급하신 서버의 네트워크 라는게
    KVM 서버 이신가요? 아니면 cloudstack 을 설치하신 서버이신가요?
    답변좀 부탁 드립니다. ㅠ ㅠ

    1. 제 경우는 한대의 서버에 매니지먼트서버(cloud-management)와, 가상머신호스트(cloud-agent)를 같이 설치한 경우입니다.
      그리고, cloud-agent를 설치하기전에, kvm을 사용하고 있었습니다. 그래서, cloudstack을 사용하기전에 인터페이스가 br0 였고요, 이 br0가 cloudstack의 호스트 등록에서 문제가 생긴 경우였습니다. 그래서, br0를 cloudbr0로 바꾼 거고요.
      도움이 될라나 모르겠네요…
      일단 /var/log/cloud/management/management-server.log를 확인해 보셔야할 듯 합니다.

    • 김현욱 on 2013년 5월 16일 at 5:43 오후
    • Reply

    안녕하세요..
    apt-get install cloud-client 시.. 아래와 같이 에러가 발생합니다.
    오류 http://localhost/cloudstack/repo/ binary/ cloud-deps 1:4.0.0-incubating
    404 Not Found
    오류 http://localhost/cloudstack/repo/ binary/ cloud-utils 1:4.0.0-incubating
    404 Not Found
    오류 http://localhost/cloudstack/repo/ binary/ cloud-core 1:4.0.0-incubating
    404 Not Found
    오류 http://localhost/cloudstack/repo/ binary/ cloud-scripts 1:4.0.0-incubating
    404 Not Found
    오류 http://localhost/cloudstack/repo/ binary/ cloud-server 1:4.0.0-incubating
    404 Not Found
    오류 http://localhost/cloudstack/repo/ binary/ cloud-client-ui 1:4.0.0-incubating
    404 Not Found
    오류 http://localhost/cloudstack/repo/ binary/ cloud-python 1:4.0.0-incubating
    404 Not Found
    오류 http://localhost/cloudstack/repo/ binary/ cloud-setup 1:4.0.0-incubating
    404 Not Found
    오류 http://localhost/cloudstack/repo/ binary/ cloud-system-iso 1:4.0.0-incubating
    404 Not Found
    오류 http://localhost/cloudstack/repo/ binary/ cloud-client 1:4.0.0-incubating
    404 Not Found
    http://localhost/cloudstack/repo/./cloud-deps_4.0.0-incubating_amd64.deb 파일을 받는데 실패했습니다 404 Not Found
    http://localhost/cloudstack/repo/./cloud-utils_4.0.0-incubating_amd64.deb 파일을 받는데 실패했습니다 404 Not Found
    http://localhost/cloudstack/repo/./cloud-core_4.0.0-incubating_amd64.deb 파일을 받는데 실패했습니다 404 Not Found
    http://localhost/cloudstack/repo/./cloud-scripts_4.0.0-incubating_amd64.deb 파일을 받는데 실패했습니다 404 Not Found
    http://localhost/cloudstack/repo/./cloud-server_4.0.0-incubating_amd64.deb 파일을 받는데 실패했습니다 404 Not Found
    http://localhost/cloudstack/repo/./cloud-client-ui_4.0.0-incubating_amd64.deb 파일을 받는데 실패했습니다 404 Not Found
    http://localhost/cloudstack/repo/./cloud-python_4.0.0-incubating_amd64.deb 파일을 받는데 실패했습니다 404 Not Found
    http://localhost/cloudstack/repo/./cloud-setup_4.0.0-incubating_amd64.deb 파일을 받는데 실패했습니다 404 Not Found
    http://localhost/cloudstack/repo/./cloud-system-iso_4.0.0-incubating_amd64.deb 파일을 받는데 실패했습니다 404 Not Found
    http://localhost/cloudstack/repo/./cloud-client_4.0.0-incubating_amd64.deb 파일을 받는데 실패했습니다 404 Not Found
    E: 아카이브를 받을 수 없습니다. 아마도 apt-get update를 실행해야 하거나 –fix-missing 옵션을 줘서 실행해야 할 것입니다.

    … apt-get install cloud-client 이전까지는 설명해주신대로 잘 했는데요..ㅜㅜ

    1. 저 위에 7번은 localhost 에 구성한 repository가 잘못된 것으로 보이네요. 패키징한 화일 위치가 맞는 지요?
      그리고 localhost에 웹서버가 설치되어 있어야 합니다.

    • 김현욱 on 2013년 5월 16일 at 5:51 오후
    • Reply

    패키징시
    아래와 같은 워닝이 발생하기는 했습니다.
    dpkg-scanpackages: warning: Packages in archive but missing from override file:
    dpkg-scanpackages: warning: cloud-agent cloud-agent-deps cloud-agent-libs cloud-awsapi cloud-cli cloud-client cloud-client-ui cloud-core cloud-deps cloud-python cloud-scripts cloud-server cloud-setup cloud-system-iso cloud-usage cloud-utils
    dpkg-scanpackages: info: Wrote 16 entries to output Packages file.

    • 김현욱 on 2013년 5월 23일 at 1:58 오후
    • Reply

    안녕하세요.. 여쭤볼게 있습니다.
    저도 지금 unable to add the host 에러가 발생하는데요..
    블로그에 올려주신대로.. 우선 설치는 해서 클라우드스택 웹 UI까지는 나왔는데요.. ssh는 putty 같은걸로 잘 접속이 되는 것까지는 확인하였습니다.
    그리고 interface로 cloudbr0 으로 설정을 변경해 주었는데요.. 아직 unable to add the host 에러가 발생합니다.. 로그에서 어느부분을 확인해보면 될까요??;;

    1. 답변 늦어 죄송합니다. 제가 요즘 바빠서…

      암튼, 일단, /var/log/cloud/management/management-server.log 부분에서 secondary storage 부분을 확인 해 보시기 바랍니다.

      요부분은 주로 템플릿 오류일때…

    2. kvm-ok 커맨드 실행 결과가 아래와 같은지 확인해보아야 할것 같네요.
      # kvm-ok
      INFO: /dev/kvm exists
      KVM acceleration can be used

      위와같은 결과가 나오지 않는다면, 호스트 추가 안됩니다.

  2. 아, 죄송합니다… unable to add host죠?

    혹시 cloud-agent는 설치, 실행중인지요???

    /etc/init.d/cloud-agent status 로 확인 가능합니다

    이상 없으면, /var/log/cloud/agent/ 아래 로그 확인 해 보셔야 할 듯 합니다.

    • 김현욱 on 2013년 5월 28일 at 10:22 오전
    • Reply

    답변 감사합니다.
    아직 해결은 하지 못하였습니다. 현재 버츄어박스 위에 우분투를 실행하여 클라우드 스택 설치를 하였습니다. kvm-ok .. 메인보드 자체는 가상화를 지원하지만 버츄어박스로 실행하여 kvm과 같은 하이퍼바이저가 실행하지 않는 것 같습니다. 다시한번 진행해 보고 질문 올리도록 하겠습니다. ^^ 감사합니다.

    • 김현욱 on 2013년 5월 28일 at 10:24 오전
    • Reply

    아.. 질문이 하나 있습니다.

    혹시 하이퍼바이저로 XenServer같은 것은 따로 물리적으로 분류하여 설치하신 건지요??

    1. 따로 구성도 해보았고요, 하나의 서버에 모두 다 넣어서도 해 보았습니다.

    • 김현욱 on 2013년 5월 28일 at 2:54 오후
    • Reply

    2013-05-28 14:52:40,224 DEBUG [cloud.consoleproxy.ConsoleProxyManagerImpl] (consoleproxy-1:null) Skip capacity scan due to there is no Primary Storage UPintenance mode
    2013-05-28 14:52:40,926 DEBUG [network.router.VirtualNetworkApplianceManagerImpl] (RouterStatusMonitor-1:null) Found 0 routers.
    2013-05-28 14:52:54,800 DEBUG [cloud.server.StatsCollector] (StatsCollector-1:null) HostStatsCollector is running…
    2013-05-28 14:52:54,811 DEBUG [cloud.server.StatsCollector] (StatsCollector-3:null) StorageCollector is running…
    2013-05-28 14:52:54,832 DEBUG [cloud.server.StatsCollector] (StatsCollector-3:null) VmStatsCollector is running…

    현재 이 로그만 계속 올라옵니다.. 아무래도 Primary 또는 Secondary 경로를 못찾는 건가요???

    • 김현욱 on 2013년 5월 28일 at 3:10 오후
    • Reply

    2013-05-28 15:06:54,846 DEBUG [cloud.server.StatsCollector] (StatsCollector-1:null) StorageCollector is running…
    2013-05-28 15:06:54,856 DEBUG [cloud.server.StatsCollector] (StatsCollector-1:null) VmStatsCollector is running…
    2013-05-28 15:07:10,231 DEBUG [cloud.consoleproxy.ConsoleProxyManagerImpl] (consoleproxy-1:null) Skip capacity scan due to there is no Primary Storage UPintenance mode
    2013-05-28 15:07:10,933 DEBUG [network.router.VirtualNetworkApplianceManagerImpl] (RouterStatusMonitor-1:null) Found 0 routers.
    2013-05-28 15:07:40,231 DEBUG [cloud.consoleproxy.ConsoleProxyManagerImpl] (consoleproxy-1:null) Skip capacity scan due to there is no Primary Storage UPintenance mode
    2013-05-28 15:07:40,933 DEBUG [network.router.VirtualNetworkApplianceManagerImpl] (RouterStatusMonitor-1:null) Found 0 routers.
    2013-05-28 15:07:54,830 DEBUG [cloud.server.StatsCollector] (StatsCollector-1:null) HostStatsCollector is running…

    현재 위와 같은 로그가 반복되어 나오고 있습니다..

    • 김현욱 on 2013년 5월 28일 at 3:26 오후
    • Reply

    지금 현재는 바로 가상화지원되는 PC위에 우분투 Server 12.04 64bit 설치하여 나온것 입니다.

    • 김현욱 on 2013년 5월 29일 at 9:40 오전
    • Reply

    으음.. Host까지 뜨는 것까지 확인했씁니다.

    현재 템플릿을 올렸는데.. 인스턴스에서 VM생성시 템플릿이 보이지 않습니다. 로그를 보면 secondary storage에 문제가 있는 것 같은데 경로설정을 어떻게 변경하셨는지요??

    1. 템플릿 생성 안되는것은 제경우에, secondary storage문제 였습니다.

      1. secondary storage를 NFS로 설치할때, nfs서버를 이름대신 ip주소로 바꿔 봅니다.

      2. 시스템 템플릿 설치(cloud-install-sys-tmplt)한 후, NFS 서버와 Management 서버가 다른서버라면, nfs 를 umount 해주어야 하고, 같은 서버라면 umount하면 안됩니다.

    • 김현욱 on 2013년 5월 30일 at 5:03 오후
    • Reply

    안녕하세요
    말씀하신대로 nfs 서버를 이름대신 IP주소로 변경한 상태입니다. 그리고 현재 NFS서버와 Management 서버는 같은서버입니다. 말씀하신대로.. umount를 하지 않고 mount 해놓은 상태에서 동작시켰지만 .. 정상적인 동작이 되지 않고 있습니다.
    로그를 확인해보니.. 계속 반복적인 로그가 올라오고 있었습니다. 반복되는 로그가 너무 많아.. 제 블로그에 올려두었는데 확인가능하시다면 검토 부탁드립니다.
    아무래도 secondary server의 문제가 있는 것 같은데.. 해결이 어렵네요..
    제 블로그 주소는 http://blog.naver.com/gusdnr05/70168654155입니다.
    바쁘실텐데.. 친절하게 답변해주셔서 감사합니다.

    1. 로그를 확인해보니, secondary storage VM 이 실행되고 있지 않은것 같네요.
      먼저, Infrastruteure -> system VMs 에 표시되는 숫자가 2 인지 확인하시고,
      2 가 맞다면, ViewAll 을 눌러 secondary VM이 실행되고 있는지 확인.
      만약, VM이 실행되고 있다면, VM을 Reboot 해보시기 바랍니다. 그래도 안된다면,
      모든 infrastructure를 삭제하고 다시 생성해 보세요.

    • 김현욱 on 2013년 6월 7일 at 11:05 오전
    • Reply

    안녕하세요.. 말씀하신대로 재부팅을 해보니 잘 올라왔습니다.
    Template에서 기본으로 제공하는 centOS까지 다운은 잘 받아졌습니다.
    허나..ㅠㅠ 또 에러가 발생하였습니다.
    인스턴스에서 add instance시.. Unable to create a deployment for VM 이라고 상태팦업이 발생합니다. 이경우에는 주로 어떤 부분의 에러 인지 알 수 있을까요?

    1. NFS서버의 path 문제(오타)때문일 수도 있어요. 특히, vm 생성할 primary storage쪽 .

    • 루비 on 2013년 6월 9일 at 12:08 오전
    • Reply

    현재… VMWare 로 XenServer 와 CloudStack 을 설치했습니다.

    환경은…

    공유기
    192.168.0.1 => 게이트 웨이
    255.255.255.0 => 서브넷
    168.126.63.1 = DNS

    가 되어있고…

    가상 머신에서도 Xen 에 192.168.0.2
    CloudStack 에 192.168.0.7 이 잡혀 있습니다.
    (브릿지드네트워킹으로 잡혀있습니다 둘다)

    위의 설명을 보고 192.168.10.X 로 되어있는걸 192.168.0.X 로 제 환경에 맞게 설정하였는데… zone 등록이 전혀 안되네요… ㅠㅠ

    가상 머신 환경에서는 사용이 불가능 한가요?

    1. 가상머신에서는 cloud-agent 가 작동하지 않습니다. cloud-management와 storage서버는 사용 가능 합니다.
      cloud-agent 가 실제 xen이나 KVM을 이용하여, 가상머신을 생성하기 때문입니다.

    • 김현욱 on 2013년 6월 10일 at 1:48 오후
    • Reply

    안녕하세요..
    아직 Unable to create a deployment for VM 에러를 해결하지 못하였습니다. 경로설정은 맞는 듯한데.. 로그를 보니.. 몇가지 의심되는 부분이 있습니다.
    첫번째 부분

    2013-06-10 13:18:05,964 WARN [cloud.template.TemplateManagerImpl] (swift-template-sync-Executor-1:null) There is no Swift in this setup
    2013-06-10 13:18:05,964 WARN [cloud.template.TemplateManagerImpl] (swift-template-sync-Executor-1:null) There is no Swift in this setup
    2013-06-10 13:18:06,062 DEBUG [network.router.VirtualNetworkApplianceManagerImpl] (RouterStatusMonitor-1:null) Found 0 routers.
    2013-06-10 13:18:20,671 DEBUG [cloud.server.StatsCollector] (StatsCollector-3:null) VmStatsCollector is running…
    2013-06-10 13:18:25,529 DEBUG [cloud.server.StatsCollector] (StatsCollector-3:null) StorageCollector is running…
    2013-06-10 13:18:25,531 DEBUG [cloud.server.StatsCollector] (StatsCollector-3:null) There is no secondary storage VM for secondary storage host nfs://10.20.52.201/export/secondary
    2013-06-10 13:18:35,557 DEBUG [storage.secondary.SecondaryStorageManagerImpl]
    (secstorage-1:null) Zone 1 is not ready to launch secondary storage VM yet
    2013-06-10 13:18:35,649 DEBUG [cloud.consoleproxy.ConsoleProxyManagerImpl] (consoleproxy-1:null) Zone 1 is not ready to launch console proxy yet
    swift 설정은 현재 true로 해주었습니다. 그리고 router는 따로 생성하지 않았는데 별도의 설정이 필요한 것인가요?? 그리고 마지막 에러부분에서 secondary storage에러가 발생합니다. 이 부분도 IP로 직접 수정하여 주었지만.. 별 다른점이 없었습니다.

    두번째… swift 에러
    2013-06-10 13:19:05,964 WARN [cloud.template.TemplateManagerImpl] (swift-template-sync-Executor-1:null) There is no Swift in this setup

    세번째… 이부분은 아마도 웹 UI에 보여주는 메세지 인듯합니다.
    2013-06-10 13:31:45,777 DEBUG [cloud.capacity.CapacityManagerImpl] (Job-Executor-21:job-17) VM state transitted from :Stopped to Error with event: OperationFailedToErrorvm’s original host id: null new host id: null host id before state transition: null
    2013-06-10 13:31:46,103 INFO [api.commands.DeployVMCmd] (Job-Executor-21:job-17) com.cloud.exception.InsufficientServerCapacityException: Unable to create a deployment for VM[User|9237839e-e6e9-449a-9857-8782cea0b5b2]Scope=interface com.cloud.dc.DataCenter; id=1
    2013-06-10 13:31:46,103 WARN [cloud.api.ApiDispatcher] (Job-Executor-21:job-17) class com.cloud.api.ServerApiException : Unable to create a deployment for VM[User|9237839e-e6e9-449a-9857-8782cea0b5b2]
    2013-06-10 13:31:46,103 DEBUG [cloud.async.AsyncJobManagerImpl] (Job-Executor-21:job-17) Complete async job-17, jobStatus: 2, resultCode: 530, result: Error Code: 533 Error text: Unable to create a deployment for VM[User|9237839e-e6e9-449a-9857-8782cea0b5b2]

    … 거의 제 질문밖에 없네요..ㅠㅠ 항상 감사드립니다.

    1. Swift 사용 가능하도록 변경하고 cloud-management 재시작 하셨죠???

    • 김현욱 on 2013년 6월 10일 at 1:49 오후
    • Reply

    위 글의 에러로그는.. http://blog.naver.com/gusdnr05/70169353600 제 블로그에 따로 올려놨습니다…;; 일부분만 올리니.. 정확한 정보가 되지 않을 것 같아서..ㅎ

    • heavenkong on 2013년 8월 8일 at 4:47 오후
    • Reply

    안녕하세요. add host 되고 pri, sec storage도 add되었는데 system vm이 무한 루프를 돌면서 unable to create라는 error가 뜨네요. …
    2013-08-08 16:46:33,566 DEBUG [cloud.vm.VirtualMachineManagerImpl] (consoleproxy-1:null) Deployment found – P0=VM[ConsoleProxy|v-2-VM], P0=Dest[Zone(Id)-Pod(Id)-Cluster(Id)-Host(Id)-Storage(Volume(Id|Type–>Pool(Id))] : Dest[Zone(1)-Pod(1)-Cluster(1)-Host(1)-Storage()]
    2013-08-08 16:46:33,665 WARN [storage.secondary.SecondaryStorageManagerImpl] (secstorage-1:null) Exception while trying to start secondary storage vm
    com.cloud.exception.InsufficientServerCapacityException: Unable to create a deployment for VM[SecondaryStorageVm|s-65-VM]Scope=interface com.cloud.dc.DataCenter; id=1
    at com.cloud.vm.VirtualMachineManagerImpl.advanceStart(VirtualMachineManagerImpl.java:728)
    at com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerImpl.java:471)
    at com.cloud.vm.VirtualMachineManagerImpl.start(VirtualMachineManagerImpl.java:464)
    at com.cloud.storage.secondary.SecondaryStorageManagerImpl.startSecStorageVm(SecondaryStorageManagerImpl.java:269)
    at com.cloud.storage.secondary.SecondaryStorageManagerImpl.allocCapacity(SecondaryStorageManagerImpl.java:696)
    at com.cloud.storage.secondary.SecondaryStorageManagerImpl.expandPool(SecondaryStorageManagerImpl.java:1307)
    at com.cloud.secstorage.PremiumSecondaryStorageManagerImpl.scanPool(PremiumSecondaryStorageManagerImpl.java:121)
    at com.cloud.secstorage.PremiumSecondaryStorageManagerImpl.scanPool(PremiumSecondaryStorageManagerImpl.java:52)
    at com.cloud.vm.SystemVmLoadScanner.loadScan(SystemVmLoadScanner.java:104)
    at com.cloud.vm.SystemVmLoadScanner.access$100(SystemVmLoadScanner.java:33)
    at com.cloud.vm.SystemVmLoadScanner$1.reallyRun(SystemVmLoadScanner.java:81)
    at com.cloud.vm.SystemVmLoadScanner$1.run(SystemVmLoadScanner.java:72)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
    2013-08-08 16:46:33,666 INFO [storage.secondary.SecondaryStorageManagerImpl] (secstorage-1:null) Unable to start secondary storage vm for standby capacity, secStorageVm vm Id : 65, will recycle it and start a new one

    1. 로그메시지를 보면 secondary storage VM 에 문제가 있다고 나오네요. secondary storage VM을 재 실행하거나, 다시 만들어 보시는건 어떨지요??

댓글 남기기

Your email address will not be published.

%d 블로거가 이것을 좋아합니다: