概述:
在CloudStack(一)简介及相关理论介绍里面简单的介绍了下cloudstack的相关概念好让我们安装部署的时候好理解一点,在cloudstack的区域里面有两种网络模式,
基础模式
基础网络模式只提供了简单的网络模型,管理网络、来宾网络(只支持1个来宾网络)、存储网络、V-Route(只提供了NDS、dhcp)等
高级模式
高级网络模式相对于基础模式来说灵活性更好,功能也比较多,比如网络有管理网络、来宾网络(支持多个来宾网络)、存储网络、公共网络,V-Route提供的功能更是丰富如,×××、DHCP、DNS、防火墙、负载均衡(HaProxy实现)、SNAT、静态NAT、端口转发、安全组、网络ACL、等
下面我们来着手部署下cloudstack并创建一个基础模式的区域
一、环境介绍
IP |
角色 |
Hypervisor |
系统 |
主机名 |
NIC |
172.10.10.80 |
管理节点、Mysql |
… |
CentOS6.5 |
cloudstack.andy.com |
Eth0 |
172.10.10.81 |
Node1 |
KVM |
CentOS6.5 |
node1.andy.com |
Br0 --> eth0 |
172.10.10.88 |
Node2 |
KVM |
CentOS6.5 |
node2.andy.com |
Br0 --> eth0 |
172.10.10.89 |
NAS存储 |
… |
CentOS6.5 |
NAS-Storage.andy.com |
Bond0 --> eth0/1/2/3 |
从上面的图及表格应该可以很清楚的知道各服务器的角色及网络是怎么连接的等信息,这里简单说下计算节点跟NAS存储的网络配置,计算节点有一块网卡桥接到br0上、NAS存储有4块网卡做的bind
二、安装部署
2.1,、初始化配置
初始化配置包括安装操作系统、ip地址配置、yum仓库配置、ntp时间同步配置、selinux配置、系统安装跟IP地址的配置这里就不说明了,如果连系统、ip都不会搞的话就回家洗洗睡吧, 另外需要注意的是计算节点的网桥需要自己配置下,这样也不说明,这里的配置所有节点的配置都是一样的
关闭selinux
vim /etc/sysconfig/selinux SELINUX=disabled setenforce 0
配置yum仓库,CentOS的yum源这里就说明了,这里只配置cloudstack的yum源
vim /etc/yum.repos.d/cloudstack.repo [CloudStack] name=CloudStack 4.3 baseurl=http://cloudstack.apt-get.eu/rhel/4.3/ enabled=1 gpgcheck=0
配置ntp时间同步
yum -y install ntp service ntpd start chkconfig ntpd on
2.2、安装并配置NFS存储
设置hostname
hostname NAS-Storage.andy.com vim /etc/sysconfig/network HOSTNAME=NAS-Storage.andy.com vim /etc/hosts 172.10.10.89 NAS-Storage.andy.com
安装并配置nfs
yum –y install nfs-utils vim /etc/exports /data/secondary *(rw,async,no_root_squash) /data/primary *(rw,async,no_root_squash) mkdir -p /data/{secondary,primary}
启动nfs并设置开机自动启动,和防火墙配置
service rpcbind restart service nfs start chkconfig nfs on chkconfig rpcbind on iptables -F service iptables save
注释:
primary为主存储(一级存储),主要用来存储实例及系统虚拟机等镜像文件的存储,访问主存储的机器有ssvm(Secondary Storage VM)、Hypervisor
secondary为辅助存储(二级存储),主要用来存储模版、快照、卷等文件,访问辅助存储的机器一般为ssvm(Secondary Storage VM)
2.3、安装并配置cloudstack管理节点
设置hostname
hostname cloudstack.andy.com echo "172.10.10.80 cloudstack.andy.com" >>/etc/hosts vim /etc/sysconfig/network HOSTNAME= cloudstack.andy.com
安装并配置mysql数据库
yum install -y mysql-server vim /etc/my.cnf [mysqld] innodb_rollback_on_timeout=1 innodb_lock_wait_timeout=600 max_connections=350 log-bin=mysql-bin binlog-format = 'ROW' service mysqld start chkconfig mysqld on mysqladmin -u root password "redhat"
安装配置cloudstack管理节点
yum install cloud-client cloudstack-setup-databases cloud:redhat@localhost --deploy-as=root:redhat cloudstack-setup-management
到这步为止cloudstack管理节点就算配置完成了,这个时候可以在浏览器中输入
http://你的管理节点IP:8080/client 就可以看到cloudstack的界面了
默认用户名 admin 密码password
下面我们来导入系统虚拟机需要使用的模版,在这里需要注意下,不同的Hypervisor模版文件也是不一样的,这里提供几种Hypervisor的系统模版导入方式,
导入系统模版
mount -t nfs 172.10.10.89:/data/secondary /mnt /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt \ -m /mnt -u http://download.cloud.com/templates/4.3/systemvm64template-2014-01-14-master-kvm.qcow2.bz2 -h kvm -F umount /mnt
其他类型的Hypervisor
for vSphere /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt -u http://download.cloud.com/templates/4.3/systemvm64template-2014-01-14-master-vmware.ova -h vmware -F for xen /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt -u http://download.cloud.com/templates/4.3/systemvm64template-2014-01-14-master-xen.vhd.bz2 -h xenserver -F for Hyper-V /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/4.3/systemvm64template-2013-12-23-hyperv.vhd.bz2 -h hyperv -F
2.4、安装并配置cloudstack计算节点
注释:所有的计算节点的配置都一样的,除了hostname之外
配置hostname
hostname node1.andy.com echo "172.10.10.81 node1.andy.com" >>/etc/hosts vim /etc/sysconfig/network HOSTNAME= node1.andy.com
安装cloud-agent并配置libvirtd
yum install –y cloud-agent vim /etc/libvirt/qemu.conf vnc_listen = 0.0.0.0 vim /etc/libvirt/libvirtd.conf listen_tls=0 listen_tcp=1 tcp_port="16509" mdns_adv = 0 auth_tcp="none" vim /etc/sysconfig/libvirtd LIBVIRTD_ARGS="--listen" service libvirtd restart
关闭iptables
iptables -F service iptables save
到这里cloudstack的计算节点已经安装成功了,下面我们来添加一个区域
三、初识CloudStack WEB界面并添加第一个区域
3.1、登录cloudstack web界面
在浏览器地址栏输入http://172.10.10.80:8080/client 把IP换成你环境中的IP
用户名 admin
密码 password
是否要通过向导完成cloudstack的配置,我们点击跳过
cloudstack的dashboard,可以随便点下,了解下里面的功能,这里不详细说明.各功能使用方法您继续往下看
3.2、添加第一个区域
点击查看全部
点击添加区域
选择基本网络模式
填写区域信息
注释:
区域名称: 自己随便定义,不过建议是 地区-机房名称 或其他更详细的内容
外部dns: 填写外网DNS服务器的IP
内部dns: 如有内网的DNS服务器可把ip填到此处,反之则填写个公网的dns即可
虚拟机管理程序: 选择默认的Hypervisor类型
网络域: 可以把自己公司的域名填上,不填也可以,
Dedicated: 意思是给某个域或某个用户专用的区域
已启用本地存储: 意思是把虚拟机的镜像文件存在某Hypervisor的本地文件系统上,而非共享存储
设置网络流量标签
注释:
流量标签: 流量标签的意思是让某一个网络的流量从某个接口走
默认情况下存储的流量标签是跟管理网络一样,所以这里就没选存储网络
填写提供点信息
注释:
提供点名称:可以自己随便定义
预留的系统网关: 指的是cloudstack中管理IP的网关
预留系统网络掩码: 不解释
起始预留系统IP: 不解释
结束预留系统IP: 不解释
填写来宾网络信息
注释:
来宾网关: 指的是虚拟机实例的网关
来宾网络掩码: 不解释
来宾起始IP:不解释
来宾结束IP:不解释
设置集群信息
注释:
集群名称: 可自己定义,建议使用一些明了的名字
填写要添加的host信息
注释:
主机名称: 指计算节点的IP
用户名: 不解释
密码: 不解释
主机标签: 可以理解为别名,但这个标签后面设置HA的时候会用到
填写主存储信息
注释:
名称: 可自己随便定义
范围: 指能够使用此存储的范围
协议: 指存储的类型.点下下拉菜单可以看到主存储只支持NFS,共享挂载点,clvm
服务器: 指nfs服务器的IP
path: 只nfs共享目录的路径
存储标签: 标识
填写辅助存储信息
注释:
provider: 选择二级存储的类型
名称: 自己随便定义了
服务器: 二级存储的服务器IP
路径: nfs存储的路径
启动区域
点击是 启用此区域,
可以在基础架构里看到刚才所添加的区域、提供点、集群、主机等信息了,在这里需要注意下,系统VM在区域添加好之后要个1-2分钟才有,因为cloudstack正在创建系统虚拟机.
此时我们的host里面只有1台主机,接下来我们来添加第二个计算节点
3.2、添加第二个计算节点
在基础架构里点击查看主机
点击添加主机
填写主机的信息
注释:
zone: 选择添加的主机属于某个区域
提供点: 添加的主机属于某个提供点
集群:添加的主机属于某个集群
主机名称: 填写计算节点的IP
用户名:不解释
密码:不解释
主机标签:不解释
此时可以看到第二个计算节点已经添加完成了
总结:
CloudStack的安装部署是不是很简单呢?..但还需要注意几个地方,上述所有的保留ip地址段中的IP一定是没有使用过的IP,有的时候在创建区域的时候或者添加host的时候会提示”Unable to add the host”一般会有这几种原因造成的,从管理节点到计算节点的ssh连不上、计算节点是否支持硬件虚拟化、计算节点kvm内核模块是否被加载、等
高级网络模式及如何使用cloudstack等下回再说