Cloudstack安装
官方文档参考: http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/4.9/qig.html#environment
Cloudstack主要分Management和Agent两部分。
系统版本:CentOS 6.8
Management: cpu1,ram 2048MB,disk 50GB
Agent: cpu1,ram 4096MB,disk 50GB
1、安装epel源
|
1
|
yum -y install epel-release |
2、安装 cloudstack 源
|
1
2
3
4
5
6
|
vim /etc/yum.repos.d/cloudstack.repo[cloudstack]name=cloudstackbaseurl=http://cloudstack.apt-get.eu/centos/6/4.8/enabled=1gpgcheck=0 |
或者直接至 http://cloudstack.apt-get.eu/centos/ 下载rpm包进行安装
3、NTP安装
|
1
|
yum -y install ntp |
设置服务开机启动
|
1
2
|
chkconfig ntpd onservice ntpd start |
4、NFS安装
1) Management
使用NFS做为主存储和辅助存储,它主要在Management上安装。他主要作为二级存储,用于存储模板文件,ISO 镜像和磁盘卷快照。
|
1
|
yum -y install nfs-utils |
配置NFS提供两个不同的挂载点。通过编辑/etc/exports文件即可简单实现。
|
1
2
|
vim /etc/exports/export/secondary *(rw,async,no_root_squash,no_subtree_check) |
注意配置文件中指定了系统中并不存在的目录,下面需要创建这些目录并设置合适的权限。
|
1
|
mkdir -p /export/secondary |
查看需要使用的磁盘,格式化
|
1
|
fdisk -l |

|
1
|
mkfs.ext4 /dev/sdb |
输入y

挂载
|
1
2
|
echo "/dev/sdb /export/secondary ext4 defaults 0 0" >> /etc/fstabmount -a |

配置NFS,在/etc/sysconfig/nfs文件中取消如下选项的注释:
|
1
2
3
4
5
6
|
LOCKD_TCPPORT=32803LOCKD_UDPPORT=32769MOUNTD_PORT=892RQUOTAD_PORT=875STATD_PORT=662STATD_OUTGOING_PORT=2020 |
如果服务器的防火墙开启,需配置防火墙策略,允许NFS客户端访问。编辑文件/etc/sysconfig/iptables
|
1
2
3
4
5
6
7
8
9
10
11
12
|
-A INPUT -m state --state NEW -p udp --dport 111 -j ACCEPT-A INPUT -m state --state NEW -p tcp --dport 111 -j ACCEPT-A INPUT -m state --state NEW -p tcp --dport 2049 -j ACCEPT-A INPUT -m state --state NEW -p tcp --dport 32803 -j ACCEPT-A INPUT -m state --state NEW -p udp --dport 32769 -j ACCEPT-A INPUT -m state --state NEW -p tcp --dport 892 -j ACCEPT-A INPUT -m state --state NEW -p tcp --dport 892 -j ACCEPT-A INPUT -m state --state NEW -p udp --dport 892 -j ACCEPT-A INPUT -m state --state NEW -p tcp --dport 875 -j ACCEPT-A INPUT -m state --state NEW -p udp --dport 875 -j ACCEPT-A INPUT -m state --state NEW -p tcp --dport 662 -j ACCEPT-A INPUT -m state --state NEW -p udp --dport 662 -j ACCEPT |
重新启动iptables服务
|
1
|
service iptables restart |
最后需要配置NFS服务为开机自启动,执行如下命令:
|
1
2
3
4
|
service rpcbind startservice nfs startchkconfig rpcbind onchkconfig nfs on |
hosts文件配置
|
1
|
vi /etc/hosts |

2)Agent
|
1
|
mkdir -p /export/primary |
查看需要使用的磁盘,格式化
|
1
|
fdisk -l |
|
1
|
mkfs.ext4 /dev/sdb |
输入y
挂载
|
1
2
|
echo "/dev/sdb /export/primary ext4 defaults 0 0" >> /etc/fstabmount -a |

hosts文件配置
|
1
|
vi /etc/hosts |

3) 测试nfs服务端是否能访问
在 agent端执行showmount -e 主机地址

mount -t nfs 192.168.137.13:/export/secondary /opt
管理服务器(Management)搭建
1、安装Management
|
1
|
yum -y install cloudstack-management cloudstack-common |
2、数据库安装和配置
|
1
|
yum -y install mysql-server |
配置文件/etc/my.cnf。在[mysqld]下添加下列参数:
|
1
2
3
4
5
|
innodb_rollback_on_timeout=1innodb_lock_wait_timeout=600max_connections=350log-bin=mysql-binbinlog-format='ROW' |
设置开机自启动
|
1
2
|
service mysqld startchkconfig mysqld on |
设置mysql 密码及范围权限
|
1
2
|
mysqladmin -uroot password 123456mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123456'"; |
3、Cloudstack数据库初始化
|
1
|
cloudstack-setup-databases cloud:123456@localhost --deploy-as=root:123456 |

4、启动Management服务
|
1
|
cloudstack-setup-management |
5、上传系统模板
CloudStack通过一系列系统虚拟机提供功能,如访问虚拟机控制台,如提供各类网络服务,以及管理辅助存储的中的各类资源。该步骤会获取系统虚拟机模板,用于云平台引导后系统虚拟机的部署。
然后需要下载系统虚拟机模板,并把这些模板部署于刚才创建的辅助存储中;管理服务器包含一个脚本可以正确的操作这些系统虚拟机模板:
|
1
2
3
4
|
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary -u http://cloudstack.apt-get.eu/systemvm/4.6/systemvm64template-4.6.0-kvm.qcow2.bz2 -h kvm -F |
6、访问页面 http://IP:8080/client/

默认用户’admin’和密码’password’来登录。
Agent搭建
1、安装Agent
|
1
|
yum -y install cloudstack-agent cloudstack-common |
2、虚拟化配置
KVM中我们有两部分需要进行配置, libvirt和QEMU
1)编辑QEMU VNC配置文件/etc/libvirt/qemu.conf
|
1
|
vnc_listen=0.0.0.0 |
2)CloudStack使用libvirt管理虚拟机,/etc/libvirt/libvirtd.conf文件中进行配置
|
1
2
3
4
5
|
listen_tls = 0listen_tcp = 1tcp_port = "16059"auth_tcp = "none"mdns_adv = 0 |
配置/etc/sysconfig/libvirtd文件
|
1
|
LIBVIRTD_ARGS="--listen" |
3)重启libvirtd
|
1
|
service libvirtd restart |
4)检查
|
1
|
lsmod | grep kvm |

如果没有结果执行
|
1
2
|
modprobe kvmmodprobe kvm_intel |