安裝Cloud Stack Agent端(即Host主機也就是物理服務器)

做者:沈小然    日期:2013-11-15
html

安裝Cloud Stack代理(即Host主機端物理服務器)

本文安裝版本:cloudstack-agent-4.2.0-1 linux

官網參考文檔:

http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.2.0/html/Installation_Guide/hypervisor-installation.html web

總統來講,安裝部署CloudStack Agent端很簡單,只要安裝後Agentrpm包就OK了。其餘配置工做都是由管理端鏈接過來之後自動完成的。 apache

1. 操做系統要求及軟件要求

  • CentOS / RHEL: 6.3以上版本
  • Ubuntu: 12.04(.1)

KVM虛擬化要求: 服務器

  • libvirt: 0.9.11 or higher
  • Qemu/KVM: 1.0 or higher

橋接軟件須要(可選,不是必須使用): 網絡

openvswitch: 1.7.1 or higher ssh

2. 安裝ntp

yum install ntp tcp

配置與本地Management Server時鐘同步 ide

vi /etc/ntp.conf 工具

# Please consider joining the pool下面添加

server 192.168.123.151

保存

設置開機自動啓動

# /etc/init.d/ntpdate restart

chkconfig ntpdate on

重複這個步驟在每一臺Host主機。

手動與cloudstack 管理節點時間同步

# ntpdate 192.168.123.149

 6 Dec 12:20:43 ntpdate[4924]: step time server 192.168.123.149 offset 11.906624 sec

3. 安裝KVMlibvirtd

主要須要安裝的包:kvmqemu-kvm  qemu-imgvirt-viewer  virt-managelibvirt

1.       yum install kvm

執行上面命令,將自動安裝圖上畫圈的軟件包。

2.       yum install virt*

執行上面命令,將自動安裝圖上畫圈的軟件包。

測試是否安裝成功,kvm模塊是否加載

# lsmod |grep kvm

kvm_intel              53484  0

kvm                   316506  1 kvm_intel

上面表面kvm已經成功加載,kvm已經成功安裝完成了。

之後能夠使用Linux自帶的圖形管理工具「Virtual Machine Manager」來管理建立虛擬機,還能夠安裝第三方開發的虛擬機管理軟件來建立虛擬機,例如Web Virtual Manager開源web管理界面,咱們使用CloudStack來管理。

3.1            配置libvirtd

# 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"

爲了使用VNC控制檯工做咱們必須確保它將綁定在0.0.0.0

# vi /etc/libvirt/qemu.conf

vnc_listen = "0.0.0.0"

# /etc/init.d/libvirtd restart

Stopping libvirtd daemon:                                 [  OK  ]

Starting libvirtd daemon:                                  [  OK  ]

4. 安裝cloudstack-agent並配置

配置CloudStackyum

# cat /etc/yum.repos.d/cloudstack.repo

[apache-cloudstack]

name=ApacheCloudStack

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

enabled=0

gpgcheck=0

保存

yum install cloudstack-agent

編輯agent配置文件 /etc/cloudstack/agent/agent.properties,添加下面內容

guest.cpu.mode=custom|host-model|host-passthrough

若選擇 guest.cpu.mode=custom就須要增長下面這行,選其餘的沒必要添加下面這行

guest.cpu.model=xxxx

xxxx內容是從 /usr/share/libvirt/cpu_map.xml 文件中選取的,是選擇CPU的類型

解釋說明:

  • custom: 選擇custrom時你能夠直接顯視的給出CPUmodule name規範,這個規範從文件 /usr/share/libvirt/cpu_map.xml中查找。
  • host-model: libvirt 根據/usr/share/libvirt/cpu_map.xml 文件來自動肯定 CPU 模型。選擇和主機最相近的匹配。 儘量找到CPU性能和flags參數相近的主機。
  • host-passthrough: libvirt 會告訴KVM向沒有修改過CPU的主機遷移. host-model的差異是不只匹配flags特性,還要匹配CPU的每個特性. 這將給出絕對最好的性能, 同時對一些應用程序很重要,但這樣作會付出一些代價:虛擬機之間的遷移只會遷移到徹底匹配CPU的主機上。

提示:使用host-passthrough參數可能會致使遷移失敗,這個時候建議你改爲host-model custom參數。

例如

custom
    guest.cpu.mode=custom
    guest.cpu.model=SandyBridge
host-model
    guest.cpu.mode=host-model
host-passthrough
    guest.cpu.mode=host-passthrough

注意:cloudstack-agent服務沒必要手動開啓,ManagementServer在添加主機的時候會自動幫你啓動。

5. 配置SELinux

vi /etc/selinux/config

SELINUX=permissive

配置防火牆

iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT

iptables -I INPUT -p tcp -m tcp --dport 1798 -j ACCEPT

iptables -I INPUT -p tcp -m tcp --dport 16509 -j ACCEPT

iptables -I INPUT -p tcp -m tcp --dport 5900:6100 -j ACCEPT

iptables -I INPUT -p tcp -m tcp --dport 49152:49216 -j ACCEPT

保存防火牆設置

iptables-save > /etc/sysconfig/iptables

重啓操做系統

注意:官網給出的安裝手冊要求配置網橋,通過我屢次的測試,這一步徹底是誤導你們,Agent端在網絡方面徹底不須要作任何的操做(而且官網提供的手冊還存在錯誤,按照他寫的配置會斷掉物理網絡,儘管官網提醒你們要提早準備IPMI,坑爹啊)

在Management Server添加主機的時候,管理端會與Agent端通訊,並自動完成下面幾件事:

1.自動啓動cloudstack-agent服務;

2.自動配置網絡,添加cloud0、cloudbr0兩個虛擬網卡,並修改eth0物理網卡;

cloud0    Link encap:Ethernet  HWaddr FE:00:A9:FE:00:E9  
          inet addr:169.254.0.1  Bcast:169.254.255.255  Mask:255.255.0.0
          inet6 addr: fe80::74b1:15ff:fe93:728c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:234 errors:0 dropped:0 overruns:0 frame:0
          TX packets:328 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:36244 (35.3 KiB)  TX bytes:43258 (42.2 KiB)

cloudbr0  Link encap:Ethernet  HWaddr 00:1A:A0:35:80:CE  
          inet addr:192.168.123.152  Bcast:192.168.123.255  Mask:255.255.255.0
          inet6 addr: fe80::21a:a0ff:fe35:80ce/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1118783 errors:0 dropped:0 overruns:0 frame:0
          TX packets:505837 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:637398726 (607.8 MiB)  TX bytes:494227987 (471.3 MiB)

eth0      Link encap:Ethernet  HWaddr 00:1A:A0:35:80:CE  
          inet6 addr: fe80::21a:a0ff:fe35:80ce/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5117453 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3023312 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3708637905 (3.4 GiB)  TX bytes:2973785600 (2.7 GiB)

3.自動掛載Primary Storage。

ManagementServer經過Agent調用libvirtd建立兩個系統VM(s-1-vm和v-2-vm),這兩個系統VM是根據ManagementServer下載的模版來建立的。這兩個系統VM模板中已經植入了一個ssh的private key,ManagementServer經過本身的public key就能夠直接訪問這兩個虛擬機。這兩個系統VM啓動之後ssvm也就啓動了,而後ManagementServer就能夠經過ssvm在Agent端掛載Secondary Storage(二級存儲),由於snapshot, volume, iso, template都保存在Secondary Storage中,那麼管理端就可以讓每臺Host主機直接管理虛擬機的鏡像、卷、iso文件、模版文件了。

Host主機端物理服務器配置完成

相關文章
相關標籤/搜索