做者:沈小然 日期:2013-11-15
html
本文安裝版本: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端很簡單,只要安裝後Agent的rpm包就OK了。其餘配置工做都是由管理端鏈接過來之後自動完成的。 apache
KVM虛擬化要求: 服務器
橋接軟件須要(可選,不是必須使用): 網絡
openvswitch: 1.7.1 or higher ssh
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
主要須要安裝的包:kvm、qemu-kvm qemu-img、virt-viewer virt-manage、libvirt
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來管理。
# 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 ]
配置CloudStack的yum源
# 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的類型
解釋說明:
提示:使用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在添加主機的時候會自動幫你啓動。
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主機端物理服務器配置完成