搭建自己的XenServer+CloudStack云平台,提供IaaS服务(一)环境搭建
目标
搭建一个完整的基于XenServer和CloudStack的虚拟化平台,提供IaaS服务。
- 搭建三台安装了XenServer的服务器
- 搭建一台安装了CloudStack的服务器用以管理云平台
- 搭建一个NFS服务器负责进行存储工作
- 可以使用CloudStack云平台进行虚拟机管理
先期准备
服务器准备
- 三台服务器安装XenServer
- 一台安装CentOS和CloudStack进行管理
- 一台安装CentOS和NFS服务负责存储
- 一台HTTP服务器公共,用来进行模板,iso下载等支持
需要准备的各种安装包
- XenServer安装包,下载地址: http://downloadns.citrix.com.edgesuite.net/6793/XenServer-6.1-install-cd.iso
- CentOS6.2安装包,下载地址: http://mirrors.kernel.org/centos/6.2/isos/x8664/CentOS-6.2-x8664-minimal.iso
- CloudStack安装包,下载地址: http://sourceforge.net/projects/cloudstack/files/CloudStack%20Acton/3.0.2/CloudStack-oss-3.0.2-1-rhel6.2.tar.gz/download
然后使用工具软件将iso文件刻录成光盘或者启动U盘。
环境准备
IP地址分配:
机器名: XS1 系统:XenServer IP地址:192.168.100.61
机器名: XS2 系统:XenServer IP地址:192.168.100.62
机器名: XS3 系统:XenServer IP地址:192.168.100.63
机器名: NFS 系统:CentOS6.2 IP地址:192.168.100.64
机器名: MGR 系统:CentOS6.2 IP地址:192.168.100.65
虚拟机地址分配:
虚拟机地址分配池使用192.168.7.X地址段
安装NFS服务器
安装操作系统
安装CentOS操作系统到服务器,插入光盘,选择默认安装。
配置服务器名称
默认的服务器名为 localhost
,可以修改 /etc/hosts
文件来更换服务器名。将 etc/hosts
添加下面的语句
192.168.100.64 nfs
12.0.0.1 localhost nfs
配置服务器的SELinux
SELinux是一个linux下的安全模块,具体说明见 这里,我们这里需要将SELinux打开,需要执行如下指令。
setenforce permissive
为确保其持久生效需更改配置文件/etc/selinux/config,设置为permissive,修改或添加配置文件的内容,添加上下面两句话。
SELINUX=permissive
SELINUXTYPE=targeted
安装NTP服务
NTP服务是一个时间服务,最好所有服务器都有个统一的时间管理,所以需要安装NTP服务。
yum install ntp
service ntpd start
配置NFS服务
首先,安装NFS服务
yum install nfs-utils
建立挂载点目录。使用root建立,为了方便,讲目录权限设置为777
mkdir /primary
mkdir /secondary
修改 /etc/exports
文件,建立挂载点信息,在文件中添加如下两行
/primary *(rw,async,norootsquash)
/secondary *(rw,async,norootsquash)
配置防火墙信息,允许NFS访问权限,修改 /etc/sysconfig/iptables
,添加如下内容
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 32803 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p udp --dport 32769 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 892 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p udp --dport 892 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 875 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p udp --dport 875 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p udp --dport 662 -j ACCEPT
重启防火墙
service iptables restart
配置NFS为开机自启动
service rpcbind start
service nfs start
chkconfig rpcbind on
chkconfig nfs on
至此,NFS服务器已经配置完成,可以使用 mount
命令检查是否配置成功,最好使用其他机器进行测试,来保证防火墙是否配置成功,用另外一台连接到一个局域网下的Linux机器,在命令行输入:
mount -t nfs 192.168.0.24:/primary /mnt/primary
如果挂载成功表示NFS配置完成。
安装CloudStack服务器
操作系统安装
将一台服务器安装成CloudStack管理服务器,首先也要安装CentOS操作系统,和NFS一样,操作系统安装默认安装即可。
安装完操作系统以后同样要按照NFS服务器的方式设置一下IP地址和HOSTNAME以及SELinux配置。
安装CloudStack
解压缩安装包
tar zxvf CloudStack-oss-3.0.2-1-rhel6.2.tar.gz
安装数据库
使用 ./install.sh
的D选项自动安装mysql数据库,安装完成以后,可以更改数据库配置 /etc/my.cnf
文件,添加以下内容
innodbrollbackontimeout=1
innodblockwaittimeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'
启动数据库
service mysqld restart
配置防火墙,编辑 /etc/sysconfig/iptables
,添加
-A INPUT -p tcp --dport 3306 -j ACCEPT
重启iptables服务
service iptables restart
安装管理平台
执行 ./install.sh
的M,安装管理平台。
初始化数据库
cloud-setup-databases cloud:password@localhost --deploy-as=root
配置管理服务器
cloud-setup-mangament
至此,管理服务器安装完成。
安装XenServer虚拟机
XenServer虚拟机安装较为简单,按照步骤进行安装即可,注意虚拟机的服务器名,IP地址之类的选择我们之前约定好的服务器名和IP地址。