作者:沈小然 日期:2013-11-15
本文安装版本:cloudstack-agent-4.2.0-1
官网参考文档:http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.2.0/html/Installation_Guide/hypervisor-installation.html
总统来说,安装部署CloudStack Agent端很简单,只要安装后Agent的rpm包就OK了。其他配置工作都是由管理端连接过来以后自动完成的。
KVM虚拟化要求:
桥接软件需要(可选,不是必须使用):
openvswitch: 1.7.1 or higher
yum install ntp
配置与本地Management Server时钟同步
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主机端物理服务器配置完成