Centos7.4 + Cloudstack4.11 + Xenserver7.2安装配置

最近折腾了一下Cloudstack4.11+Xenserver7,2的安装,刚开始使用的Xenserver7.4,最后翻看Cloudstack Supported Hypervisor Versions文档,发现对Xenserver最高只是支持到7.2,出现的问题是安装步骤什么都是正确的,系统VM也是可以正常启动,但是在Xencenter中进入命令行,使用ip a命令查看ip,l列出四个网卡,但是却没有正确分配ip,导致系统VM一直循环创建,无法正常启动,重启后发现status是Running但是代理状态永远都是没有Up,很是纠结郁闷,下面来记录下安装过程:

首先安装 cloudstack management

安装之前最好先看下Xenserver和cloudstack各自的硬件要求。

配置hosts

查看当前系统hostname
hostname --fqdn  
localhost
设置hosts
vi /etc/hosts  
在文件中添加:   
    182.168.0.111 cloudstack.cloud.priv # cloudstack management管理节点
    192.168.0.112 xen1.cloud.priv # xenserver主机节点
查看是否可以ping通该host
ping cloudstack.cloud.priv   
到时候安装完主机节点也是同样的设置hosts,同时ping一下是否可以ping通

安装NTP时间同步

yum install ntp
记得安装xenserver的时候,设置NTP同步节点的ip就是这个管理节点的ip

安装cloudstack management server【必须确保设备可以联网】

配置yum安装源
vim /etc/yum.repos.d/cloudstack.repo

[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/centos/$releasever/4.11/
enabled=1
gpgcheck=0
执行安装命令
yum install cloudstack-management

下载vhd-util

cd /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver  
wget http://download.cloud.com.s3.amazonaws.com/tools/vhd-util  
chmod 755 -R /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver

在管理节点上安装MariaDB或者MYSQL

配置SELinux
rpm -qa | grep selinux # 查看selinux是否可用

vi /etc/selinux/config
将SELINUX=enforcing更改成SELINUX=permissive

setenforce permissive # 配置立即生效
安装配置mariadb数据库
yum install mariadb mariadb-server 

vi /etc/my.cnf 

[mysqld]
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'
启动数据库并设置为开机启动
systemctl start mariadb      ###启动数据库
systemctl enable mariadb     ###开机自启动
初始化数据库
mysql_secure_installation              
设置密码然后一路yyyy (yes)
使用cloudstack-setup-databases初始化ClouStack数据库:
后面如果安装配置失败,可以执行此命令重置数据库
cloudstack-setup-databases cloud:cloud@localhost --deploy-as=root:123456 -i 192.168.100.4 

### 192.168.100.4是当前系统的本地ip
### 重置数据库123456数据库密码

cloudstack安装tomcat服务器

cloudstack-setup-management

安装NFS[网络文件系统]

我的是在管理节点下面安装的NFS server
yum install nfs-utils # 有可能会无法下载,但是会自动重试
管理节点上创建主存储和二级存储的文件目录
可以找一个容量空余比较硬盘创建,否则后面创建VM可能会报系统容量不足的异常
mkdir -p /export/primary
mkdir -p /export/secondary
配置NFS文件目录导出
vi /etc/exports
添加:
/export/primary  *(rw,async,no_root_squash,no_subtree_check)
/export/secondary  *(rw,async,no_root_squash,no_subtree_check)
导出目录
exportfs -a
编辑配置nfs端口
vi /etc/sysconfig/nfs
直接添加:
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020
可以直接关闭防火墙(测试环境)或者在防火墙上开端口(点击查看配置

注意:centos7以上好像废弃了iptables,改用firewall,只需打开对应端口即可

如果客户机和服务器之间使用nfs v4通信,那么将域添加到管理程序主机和管理服务器上
vi /etc/idmapd.conf

修改Domain = cloud.priv # 后缀名要一致

我的配置:
    182.168.0.111 cloudstack.cloud.priv # cloudstack management管理节点
    192.168.0.112 xen1.cloud.priv # xenserver主机节点
在安装好的主机节点上测试NFS挂载是否可以成功,这一步是在安装Xenserver主机后验证是否可以正常挂载,否则添加主存储和二级存储会出现问题
mkdir /primary
mount -t nfs <management-server-name>:/export/primary
umount /primary
mkdir /secondary
mount -t nfs <management-server-name>:/export/secondary
umount /secondary

下载安装系统VM魔板

这个过程是比较慢的,可以使用迅雷或者其他加速加载工具下载模板到本地,然后再导入,注意下载的版本要对应,现在4.11的安装文档还是下载4.6的模板,如果下载4.6的模板,可能会出现问题,例如4.11的下载路径(http://cloudstack.apt-get.eu/systemvm/4.11/systemvm64template-4.11.0-xen.vhd.bz2)

/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt \
-m /mnt/secondary \
-u http://cloudstack.apt-get.eu/systemvm/4.11/systemvm64template-4.11.0-xen.vhd.bz2 \
-h xenserver \
-s <optional-management-server-secret-key> \
-F

然后安装Xenserver

安装成功后进入命令行,配置XenServer dom0 Memory

vim /etc/xensource-inventory

BUILD_NUMBER='39265p'
CURRENT_INTERFACES='xenbr0 xenbr1'
DOM0_MEM='752' ----------------------------------------------------------修改成2940
PRODUCT_BRAND='XenServer'
INSTALLATION_UUID='68406e3e-eeac-4b15-9b30-0bd37d95473b'
KERNEL_VERSION='2.6.32.12-0.7.1.xs5.6.100.307.170586xen'
DEFAULT_SR_PHYSDEVS='/dev/sda3'
CONTROL_DOMAIN_UUID='69d22f7c-417b-4b84-af8f-4a7bea6fc83b'
PRIMARY_DISK='/dev/disk/by-id/scsi-366c92bf00002d66015e6a64b16a0aa2d'
XEN_VERSION='3.4.2'
BACKUP_PARTITION='/dev/disk/by-id/scsi-366c92bf00002d66015e6a64b16a0aa2d-part2'
PRODUCT_NAME='xenenterprise'
INSTALLATION_DATE='2011-05-23 12:29:49.057341'
PRODUCT_VERSION='5.6.100'
MANAGEMENT_INTERFACE='xenbr0'

如果你安装的时候没有选择安装NTP,则现在你需要手动安装NTP

yum install ntp # 安装ntp  
vi /etc/ntp.conf # 配置ntp,下面是配置内容
    server 0.xenserver.pool.ntp.org
    server 1.xenserver.pool.ntp.org
    server 2.xenserver.pool.ntp.org
    server 3.xenserver.pool.ntp.org
service ntpd restart # 启动ntp
chkconfig ntpd on # 设置开机启动

如果后面要配置基本网络模式,应该将网络配置成网桥模式

xe-switch-network-backend bridge # 执行该命令会提示重启xenserver
配置:
    vi /etc/sysctl.conf
        net.bridge.bridge-nf-call-iptables = 1
        net.bridge.bridge-nf-call-ip6tables = 0
        net.bridge.bridge-nf-call-arptables = 1

    sysctl -p /etc/sysctl.conf

XenServer物理网络安装

先使用命令查看物理网络uuid:

1
2
3
4
5
6
7
8
9
10
11
xe network-list   
xenserver有两块物理网卡, 上述命令会显示xenbr0和xenbr1的网络UUID, 假设
uuid ( RO) : 3489fa11-66ed-6a71-926b-5336d69c62ba
bridge ( RO): xenbr0

uuid ( RO) : eb734bff-750b-ecac-32b6-9490179f9d33
bridge ( RO): xenbr1

则执行以下命令:
# xe network-param-set name-label=mgtpub uuid=3489fa11-66ed-6a71-926b-5336d69c62ba
# xe network-param-set name-label=guest uuid=eb734bff-750b-ecac-32b6-9490179f9d33

(全文完) 3/31/2018 12:57:35 PM