CloudStack 4.4學習總結之cloudstack-agent安裝

CloudStack 4.4學習總結之cloudstack-agent安裝


 

2、節點安裝(cloudstack-agent、KVM):

 

    注:每個Hypervisor上,都要保證【/mnt】目錄爲空,否則,可能會出現InsufficientServerCapacityException (服務器資源不足)的報錯。

 

cloud-agent-2.perofu.com和cloud-agent-1.perofu.com的安裝步驟一樣,即,所有cloudstack-agent節點的安裝步驟均一樣。

 

    下面以cloud-agent-1.perofu.com進行演示。

 

①、以 root 身份登錄並設置主機名:

【cloud-agent-1.perofu.com】

hostname cloud-agent-1.perofu.com

vi /etc/sysconfig/network

    HOSTNAME=cloud-agent-1.perofu.com                                           

vi /etc/hosts

    127.0.0.1       cloud-agent-1.perofu.com

    172.22.2.76          cloud-server.perofu.com

    172.22.2.87     cloud-agent-1.perofu.com

    172.22.2.100    cloud-agent-2.perofu.com

 

②、設置SELinux、關閉iptables並同步時間:

vi /etc/sysconfig/selinux

    SELINUX=disabled

setenforce 0

service iptables stop

chkconfig iptables off

yum install ntpdate -y

echo '#ntpd' >>   /var/spool/cron/root

echo "10 5 * * *   /usr/sbin/ntpdate ntp.api.bz &> /dev/null" >>   /var/spool/cron/root

echo '' >>   /var/spool/cron/root

service ntpd stop

chkconfig ntpd off

/usr/sbin/ntpdate   ntp.api.bz &> /dev/null

 

③、安裝Management agent

 

V4.4

vi   /etc/yum.repos.d/cloudstack.repo

[cloudstack]  

name=cloudstack  

baseurl=http://cloudstack.apt-get.eu/rhel/4.4/                                  

enabled=1  

gpgcheck=0

yum -y install cloudstack-agent

 

 

V3.0

tar -axf   CloudStack-oss-3.0.2-1-rhel6.2.tar.gz -C /usr/local/src/

cd   /usr/local/src/CloudStack-oss-3.0.2-1-rhel6.2/

./install.sh

    A                                                                           

 

    A”------>    安裝 CloudStack Agent 軟件, CloudStack客戶端。

 

 

④、安裝KVM虛擬化環境:

 

1)、查看CPU是否支持虛擬化:

 

grep -E -o 'vmx|svm' /proc/cpuinfo                                                                             

 

VMX:它是Intel處理器虛擬機技術標誌;

SVM:它是AMD處理器虛擬機技術的標誌。

 

注:linux發行版本必須在64bit環境中才能使用KVM

 

[root@localhost ~]# grep -E -o 'vmx|svm'   /proc/cpuinfo                                           

vmx

 

 

2)、安裝kvm

 

         yum源使用的是Centos 6.4的光盤鏡像。

yum -y install kvm python-virtinst libvirt tunctl   bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v   libguestfs-tools

 

3)、修改vnc的監聽端口:

 

         vnc默認的監聽127.0.0.1

         因爲,在創建虛擬機時,需要連接vnc,去手動安裝新系統。

 

cp /etc/libvirt/qemu.conf /etc/libvirt/qemu.conf.bak

vi /etc/libvirt/qemu.conf

         vnc_listen=0.0.0.0                                                                                                  

 

4)、配置Libvirt

vi /etc/libvirt/libvirtd.conf

    listen_tls = 0                                                              

    listen_tcp = 1

    tcp_port = "16509"

    auth_tcp = "none"

    mdns_adv = 0

vi /etc/sysconfig/libvirtd

    LIBVIRTD_ARGS="--listen"

service libvirtd restart

chkconfig libvirtd on

 

5)、檢查KVM是否加載成功:

 

         如果沒有輸出信息,則表示沒有加載成功。


lsmod | grep kvm                                                                                                          

 

[root@localhost ~]# lsmod | grep kvm                                                                       

kvm_intel              53484  0

kvm                   316506  1 kvm_intel

 

6)、檢查KVM是否成功安裝:

 

         -all關閉的也會顯示。

 

virsh list --all                     

 

[root@localhost ~]# virsh list --all

 Id      Name                             State

----------------------------------------------------

 

7)、配置網卡:

 

    虛擬機的網卡名稱是:cloudbr0不要自作聰明,用了br0,報了一個下午的錯。

 

yum install -y tunctl

cat << EOF > /etc/sysconfig/network-scripts/ifcfg-cloudbr0

DEVICE=cloudbr0

TYPE=Bridge

BOOTPROTO=static

IPV6INIT=no

ONBOOT=yes

IPADDR=172.22.2.87

NETMASK=255.255.0.0

GATEWAY=172.22.1.3

DNS1=8.8.8.8

DELAY=0

EOF

 

cp /etc/sysconfig/network-scripts/ifcfg-eth0   /etc/sysconfig/network-scripts/bak_ifcfg-eth0

cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=none

BRIDGE=cloudbr0

IPV6INIT=no

EOF

 

/etc/init.d/network   restart

 

#查看橋接網絡

brctl show

 

[root@localhost   CloudStack-oss-3.0.2-1-rhel6.2]# ifconfig

cloudbr0   Link   encap:Ethernet  HWaddr   00:0C:29:40:7F:1D 

          inet addr:172.22.2.87  Bcast:172.22.255.255  Mask:255.255.0.0

          inet6 addr:   fe80::20c:29ff:fe40:7f1d/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500    Metric:1

          RX packets:226 errors:0 dropped:0   overruns:0 frame:0

          TX packets:28 errors:0 dropped:0   overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:18457 (18.0 KiB)  TX bytes:3116 (3.0 KiB)

 

eth0      Link encap:Ethernet  HWaddr 00:0C:29:40:7F:1D 

          inet6 addr:   fe80::20c:29ff:fe40:7f1d/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500    Metric:1

          RX packets:175448 errors:0   dropped:0 overruns:0 frame:0

          TX packets:94709 errors:0 dropped:0   overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:191337793 (182.4 MiB)  TX bytes:7210912 (6.8 MiB)

 

⑤、配置cloudstack-agent

 

    這裏也可以省略,只是在初始化的時候需要手動輸入cloudstack-management的ip。

 

V4.4

vi /etc/cloudstack/agent/agent.properties

#   cloudstack管理服務器地址                                                   

host= 172.22.2.76

 

 

V3.0

vi /etc/cloud/agent/agent.properties

#   cloudstack管理服務器地址                                                    

host= 172.22.2.76

 

⑥、配置nfs域名:

 

vi /etc/idmapd.conf

Domain   = perofu.com                                                           

 

⑦、初始化cloudstack-agent

    一路回車,即可。

 

V4.4

cloudstack-setup-agent                                                         

 

 

V3.0

cloud-setup-agent                                                                

 

[root@cloud-agent-1   ~]# cloud-setup-agent

Welcome   to Cloud Agent Setup:

Please   input the Management Server Name/IP:[172.22.2.76]

Please   input the Zone Id:[default]

Please   input the Pod Id:[default]

Please   input the Cluster Id:[]

Please   choose which network used to create VM:[br0]

Starting   to configure your system:

Configure   SElinux ...         [OK]

Configure   Network ...         [OK]

Configure   Libvirt ...         [OK]

Configure   Firewall ...        [OK]

Configure   cloudAgent ...      [OK]

Cloud   Agent setup is Done!

 

 

Libvirt報錯:

[root@cloud-agent-1   ~]# cloud-setup-agent

Welcome   to Cloud Agent Setup:

Please   input the Management Server Name/IP:[172.22.2.76]

Please   input the Zone Id:[default]

Please   input the Pod Id:[default]

Please   input the Cluster Id:[]

Please   choose which network used to create VM:[br0]

Starting   to configure your system:

Configure   SElinux ...         [OK]

Configure   Network ...         [OK]

Configure Libvirt ...         [Failed]

Traceback   (most recent call last):

  File   "/usr/bin/cloud-setup-agent", line 112, in <module>

    syscfg.config()

  File "/usr/lib/python2.6/site-packages/cloudutils/syscfg.py",   line 76, in config

    raise CloudInternalException()

TypeError:   __init__() takes exactly 2 arguments (1 given)

 

解決:

 

    Libvirt啓動失敗,端口沒看到。

 

[root@localhost   CloudStack-oss-3.0.2-1-rhel6.2]# /etc/init.d/libvirtd restart

Stopping   libvirtd daemon:                                  [FAILED]

Starting   libvirtd daemon: libcgroup   initialization failed: Cgroup is not mounted

                                                             [FAILED]

yum list libcgroup -y

vi /etc/cgconfig.conf

    group virt {

        cpu {

                cpu.shares = 9216;

        }

}

/etc/init.d/cgconfig   restart

/etc/init.d/libvirtd   restart

chkconfig cgconfig on

 

⑧、啓動cloud-agent

 

    這裏,不需要手動啓動cloud-agent,當在manager上創建主機時,manager會自動啓動cloud-agent的。

 

/etc/init.d/cloud-agent   start                                                  

 

    啓動失敗啊.

2014-09-29   05:54:34,892 INFO  [cloud.agent.Agent]   (main:null) id is

2014-09-29   05:54:35,044{GMT} INFO    [resource.virtualnetwork.VirtualRoutingResource] (main:)   VirtualRoutingResource _scriptDir to use: scripts/network/domr/kvm

2014-09-29   05:54:35,044 INFO    [resource.virtualnetwork.VirtualRoutingResource] (main:null)   VirtualRoutingResource _scriptDir to use: scripts/network/domr/kvm

2014-09-29   05:54:35,050{GMT} INFO    [resource.virtualnetwork.VirtualRoutingResource] (main:) ipassoc.sh   found in /usr/lib64/cloud/agent/./scripts/network/domr/ipassoc.sh

2014-09-29   05:54:35,050 INFO    [resource.virtualnetwork.VirtualRoutingResource] (main:null)   ipassoc.sh found in /usr/lib64/cloud/agent/./scripts/network/domr/ipassoc.sh

2014-09-29   05:54:35,649{GMT} INFO    [resource.computing.LibvirtComputingResource] (main:) agent.properties   found at /etc/cloud/agent/agent.properties

2014-09-29   05:54:35,649 INFO    [resource.computing.LibvirtComputingResource] (main:null)   agent.properties found at /etc/cloud/agent/agent.properties

2014-09-29   05:54:35,657{GMT} INFO    [cloud.agent.Agent] (main:) Agent [id = new : type =   LibvirtComputingResource : zone = default : pod = default : workers = 5 :   host = 172.22.2.76 : port = 8250

2014-09-29   05:54:35,657 INFO  [cloud.agent.Agent]   (main:null) Agent [id = new : type = LibvirtComputingResource : zone =   default : pod = default : workers = 5 : host = 172.22.2.76 : port = 8250

2014-09-29   05:54:35,665{GMT} INFO    [utils.nio.NioClient] (Agent-Selector:) Connecting to 172.22.2.76:8250

2014-09-29   05:54:35,665 INFO    [utils.nio.NioClient] (Agent-Selector:null) Connecting to 172.22.2.76:8250

2014-09-29   05:54:36,096{GMT} INFO    [utils.nio.NioClient] (Agent-Selector:) SSL: Handshake done

2014-09-29   05:54:36,096 INFO    [utils.nio.NioClient] (Agent-Selector:null) SSL: Handshake done

2014-09-29   05:54:36,312{GMT} INFO    [cloud.serializer.GsonHelper] (Agent-Handler-1:) Default Builder   inited.

2014-09-29   05:54:36,312 INFO    [cloud.serializer.GsonHelper] (Agent-Handler-1:null) Default Builder   inited.

2014-09-29   05:54:36,588{GMT} ERROR [cloud.agent.Agent] (Agent-Handler-2:) Not allowed to   connect to the server: java.lang.IllegalArgumentException: Host 172.22.2.87   sent incorrect data center: default

2014-09-29   05:54:36,588 ERROR [cloud.agent.Agent] (Agent-Handler-2:null) Not allowed to   connect to the server: java.lang.IllegalArgumentException: Host 172.22.2.87   sent incorrect data center: default

2014-09-29   05:54:36,591{GMT} INFO    [cloud.agent.Agent] (AgentShutdownThread:) Stopping the agent: Reason = sig.kill

2014-09-29   05:54:36,591 INFO  [cloud.agent.Agent]   (AgentShutdownThread:null) Stopping the agent: Reason = sig.kill

 

⑨、卸載並清空/mnt目錄:

 

    一定要保證/mnt目錄沒有被使用,且目錄爲空,否則CloudStack無法對其掛載Primary Storage,新建實例,可能會失敗,除非你有多個agent,/mnt已有的數據,請提前保存好。

 

umount /mnt                                                   

rm -rf /mnt/*

 

⑩、等待加入cloudstack

 

    到此cloudstack-agent就配置完成了,現在的cloudstack-agent可以在創建區域時加入,也可以在創建完區域後,手動加入,後面均有介紹。

 

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章