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=cloudstack
baseurl=http:
//cloudstack
.apt-get.eu
/centos/6/4
.8/
enabled=1
gpgcheck=0
|
或者直接至 http://cloudstack.apt-get.eu/centos/ 下载rpm包进行安装
3、NTP安装
1
|
yum -y
install
ntp
|
设置服务开机启动
1
2
|
chkconfig ntpd on
service 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/fstab
mount
-a
|
配置NFS,在/etc/sysconfig/nfs文件中取消如下选项的注释:
1
2
3
4
5
6
|
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_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 start
service nfs start
chkconfig rpcbind on
chkconfig 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/fstab
mount
-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=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-
format
=
'ROW'
|
设置开机自启动
1
2
|
service mysqld start
chkconfig mysqld on
|
设置mysql 密码及范围权限
1
2
|
mysqladmin -uroot password 123456
mysql -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 = 0
listen_tcp = 1
tcp_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 kvm
modprobe kvm_intel
|