http://cloudstack.apt-get.eu/systemvm/4.6/  模板地址

http://cloudstack.apt-get.eu/centos7/4.6/  代理及管理地址

http://mirrors.ustc.edu.cn/fedora/epel/7/x86_64/e/ epel源

http://www.xenproject.org/developers/teams/windows-pv-drivers.html  pvdrivers for xenserver

http://www.serverwatch.com/server-tutorials/installing-xenserver-tools-on-windows-8-and-windows-server-2012-virtual-machines.html  win8下不能安装pv drivers 和xentools的解决方法

概念

系统虚机在CloudStack中扮演着重要的角色,如系统虚机没有正确导入,CloudStack将无法管理二级存储,也就无法完成导入模板、创建新的虚机等操作。
不同的虚拟机实现方案系统虚机模板也是不同的 导入系统虚拟机模板 /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /nfs/secondary/ -u http://192.168.1.98/4/systemvm64template-4.4.1-xen.vhd.bz2 -h xenserver -F /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /nfs/secondary/ -u http://192.168.1.98/4/systemvm64template-4.4.0-6-kvm.qcow2.bz2 -h kvm -F 服务方案包括计算方案,系统方案,磁盘方案,网络方案
计算方案通俗的说就是服务器配置,比如4核cpu,8G内存,20G硬盘,这里可以定义服务器硬件配置
定义磁盘方案可以在新增虚拟机的时候,选择磁盘大小 Cloudstack基于tomcat提供web服务,默认使用了8080端口。如果你想改用其它端口,可以修改 /etc/tomcat6/server.xml 文件进行配置。
Cloudstack默认安装在 /etc/cloudstack/management 目录下,你可以通过修改 log4j-cloud.xml文件来调整日志的输出级别、路径等。
cloudstack默认日志在/var/log/cloudstack下

xenserver6.2+cs4.4.2问题

http://ask.cloudstack-china.org/question/111
http://support.citrix.com/article/CTX126531
http://shankerbalan.net/blog/cloudstack-and-xenserver-vhd-util/
问题已经解决!
是xenserver里面的有些设置的问题。我照着下面的做了之后,host就up了:
通过 ssh 登录到 xenserver 主机 1、调整DOM0内存值
//备份配置文件
# cp /boot/extlinux.conf /boot/extlinux.conf.bak20160324
修改dom0_mem值为2940M或者更大(最大不超过4G)
# sed -i '10s/dom0_mem=752M/dom0_mem=2940M/g' /boot/extlinux.conf
修改完成之后,重启系统
# reboot
修改文件权限为722
# chmod 722 /etc/xensource-inventory
2、如果该 主机所在的 CloudStack 的 zone 使用 的是基本网络,则需要禁用OpenVswitch(OVS)
# xe-switch-network-backend bridge
出现 You *MUST* now reboot your system 表示完成
重新启动后OK 如果你发现注册ISO或注册模板时,状态字段一直不动,已就绪永远都是no,那一般都是因为二级存储有问题或Secondary Storage VM 有问题了。
检查二级存储容量是否正确。
检查系统VM中的Secondary Storage VM是否正常启动。 CloudStack不能添加主存储或二级存储
检查/etc/sysconfig/nfs配置文件是否把端口都开放了。
检查iptables是否有阻挡。
检查CloudStack的“全局设置”,secstorage.allowed.internal.sites属性是否设置正确。可以简单地允许一个网段192.168.1.0/24   如果要重来,只需要下面步骤就可以了,清库   298  service cloudstack-management stop
  299  cloudstack-setup-databases cloud:password@localhost --deploy-as=root:123456
  300  cloudstack-setup-management
  301  service cloudstack-management start
  302  service iptables stop
  307  /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /nfs/secondary/ -u http://192.168.1.98/4/systemvm64template-4.4.1-xen.vhd.bz2 -h xenserver -F
删除所有的一级与二级中的相关文件及目录,清空环境,有利于简化问题。
然后再将xenserver上的相关虚拟磁盘全删除,删除pool,再重新创建pool,将主机添加进来。
检查CloudStack的“全局设置”,secstorage.allowed.internal.sites属性是否设置正确。可以简单地允许一个网段192.168.1.0/24,这步是用来注册template/iso用的

报错信息1:
  Installing : cloudstack-management-4.6.0-1.el6.x86_64                                                                                                                                                                              137/146
Please download vhd-util from http://download.cloud.com.s3.amazonaws.com/tools/vhd-util and put it in
/usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/
Unable to determine ssl settings for server.xml, please run cloudstack-setup-management manually
Unable to determine ssl settings for tomcat.conf, please run cloudstack-setup-management manually
  Updating   : db4-utils-4.7.25-20.el6_7.x86_64                                                                   报错信息2:如果开始把selinux做成permissive,这步就不会报错
[root@localhost ~]# cloudstack-setup-databases cloud:password@localhost --deploy-as=root
Mysql user name:cloud                                                           [ OK ]
Mysql user password:******                                                      [ OK ]
Mysql server ip:localhost                                                       [ OK ]
Mysql server port:3306                                                          [ OK ]
Mysql root user name:root                                                       [ OK ]
Mysql root user password:******                                                 [ OK ]
Checking Cloud database files ...                                               [ OK ]
Checking local machine hostname ...                                             [ OK ]
Checking SELinux setup ...                                                      checkSelinux failed with error continuing...                                    SELinux is set to enforcing. There are two options:
1> Set it permissive in /etc/selinux/config, then reboot the machine.
2> Type 'setenforce Permissive' in commandline, after which you can run this program again. We strongly suggest you doing the option 1 that makes sure SELinux goes into permissive after system reboot.
[ OK ]
Detected local IP address as 192.168.1.111, will use as cluster management server node IP[ OK ]
Preparing /etc/cloudstack/management/db.properties                              [ OK ]
Applying /usr/share/cloudstack-management/setup/create-database.sql             [ OK ]
Applying /usr/share/cloudstack-management/setup/create-schema.sql               [ OK ]
Applying /usr/share/cloudstack-management/setup/create-database-premium.sql     [ OK ]
Applying /usr/share/cloudstack-management/setup/create-schema-premium.sql       [ OK ]
Applying /usr/share/cloudstack-management/setup/server-setup.sql                [ OK ]
Applying /usr/share/cloudstack-management/setup/templates.sql                   [ OK ]
Processing encryption ...                                                       [ OK ]
Finalizing setup ...                                                            [ OK ] CloudStack has successfully initialized database, you can check your database configuration in /etc/cloudstack/management/db.properties 报错信息3
[root@cs-manage management]# cloudstack-setup-management
Starting to configure CloudStack Management Server:
Configure Firewall ...        [OK]
Configure CloudStack Management Server ...[Failed]
Cannot find /etc/cloudstack/management/server-nonssl.xml or /etc/cloudstack/management/tomcat6-nonssl.conf, https enable failed
Try to restore your system:
Restore Firewall ...          [OK]
Restore CloudStack Management Server ...[OK] [root@cs-manage management]# cloudstack-setup-management --tomcat7
Starting to configure CloudStack Management Server:
Configure Firewall ...        [OK]
Configure CloudStack Management Server ...[OK]
CloudStack Management Server setup is Done!

正常信息:

安装cloudstack数据库
[root@manage ~]# cloudstack-setup-databases cloud:password@localhost --deploy-as=root:123456
Mysql user name:cloud [ OK ]
Mysql user password:****** [ OK ]
Mysql server ip:localhost [ OK ]
Mysql server port:3306 [ OK ]
Mysql root user name:root [ OK ]
Mysql root user password:****** [ OK ]
Checking Cloud database files ... [ OK ]
Checking local machine hostname ... [ OK ]
Checking SELinux setup ... [ OK ]
Detected local IP address as 192.168.1.171, will use as cluster management server node IP[ OK ]
Preparing /etc/cloudstack/management/db.properties [ OK ]
Applying /usr/share/cloudstack-management/setup/create-database.sql [ OK ]
Applying /usr/share/cloudstack-management/setup/create-schema.sql [ OK ]
Applying /usr/share/cloudstack-management/setup/create-database-premium.sql [ OK ]
Applying /usr/share/cloudstack-management/setup/create-schema-premium.sql [ OK ]
Applying /usr/share/cloudstack-management/setup/server-setup.sql [ OK ]
Applying /usr/share/cloudstack-management/setup/templates.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_db.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_schema.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_multipart.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_index.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_multipart_alter.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_bucketpolicy.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_policy_alter.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_offering.sql [ OK ]
Applying /usr/share/cloudstack-bridge/setup/cloudbridge_offering_alter.sql [ OK ]
Processing encryption ... [ OK ]
Finalizing setup ... [ OK ] CloudStack has successfully initialized database, you can check your database configuration in /etc/cloudstack/management/db.properties 初始化管理节点
[root@manage ~]# cloudstack-setup-management
Starting to configure CloudStack Management Server:
Configure sudoers ... [OK]
Configure Firewall ... [OK]
Configure CloudStack Management Server ...[OK]
CloudStack Management Server setup is Done!

启动管理节点
[root@manage ~]# service cloudstack-management start
Starting cloudstack-management: [ OK ] 导入系统模板
[root@manage mnt]# /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary/ -u http://192.168.1.98/4/systemvm64template-4.4.0-6-kvm.qcow2.bz2 -h kvm -F
--2016-03-21 12:09:03--  http://192.168.1.98/4/systemvm64template-4.4.0-6-kvm.qcow2.bz2
Connecting to 192.168.1.98:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 303968528 (290M) [application/x-bzip2]
Saving to: “/usr/share/cloudstack-common/scripts/storage/secondary/bae66adf-d2c3-412d-906e-53db2bc232e8.qcow2” 100%[===================================================================================================================================================================================================>] 303,968,528 11.2M/s   in 26s 2016-03-21 12:09:29 (11.2 MB/s) - “/usr/share/cloudstack-common/scripts/storage/secondary/bae66adf-d2c3-412d-906e-53db2bc232e8.qcow2” saved [303968528/303968528] Uncompressing to /usr/share/cloudstack-common/scripts/storage/secondary/bae66adf-d2c3-412d-906e-53db2bc232e8.qcow2.tmp (type bz2)...could take a long time
Moving to /mnt/secondary/template/tmpl/1/3///bae66adf-d2c3-412d-906e-53db2bc232e8.qcow2...could take a while
Successfully installed system VM template  to /mnt/secondary/template/tmpl/1/3/ 安装usage
[root@manage mnt]# yum install cloudstack-usage
[root@manage mnt]# service cloudstack-usage start
Starting CloudStack Usage Monitor cloudstack-usage         [  OK  ]

[root@localhost ~]# history
    1  vi /etc/sysconfig/network-scripts/ifcfg-eth0
    2  service network restart
    7  vi /etc/selinux/config
    8  chkconfig iptables off
   10  ping qq.com
   11  vi /etc/hosts
   12  hostname --fqdn
   14  service network restart
   15  hostname --fqdn
   16  yum install -y ntp
   17  chkconfig ntpd on
   18  service ntpd start
   20  vi /etc/yum.repos.d/cloudstack.repo
   21  yum -y install nfs-utils
   22  mkdir /primary
   23  mkdir /secondary
   25  vi /etc/exports
   26  service rpcbind start
   27  service nfs start
   32  chkconfig rpcbind on
   33  chkconfig --list|grep rpc
   34  chkconfig nfs on
   35  chkconfig --list|grep nfs
   37  yum install mysql-server
   38  vi /etc/my.cnf
   42  chkconfig mysqld on
   43  service mysqld start
   45  yum install cloudstack-management
   53  cloudstack-setup-databases cloud:password@localhost --deploy-as=root
   60  cloudstack-setup-management
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt \
-m /secondary \
-u http://cloudstack.apt-get.eu/systemvm/4.6/systemvm64template-4.6.0-kvm.qcow2.bz2 \
-h kvm -F

cloudstack-setup-agent  -m 192.168.1.62 -z 1 -p 1 -c 1 -g d3de6722-e034-34fa-8879-c62e656201a8 -a --pubNic=cloudbr0 --prvNic=cloudbr1 --guestNic=cloud0 --hypervisor=kvm
service cloud-management restart

vi /etc/selinux/config
SELINUX=permissive
   
vi /etc/yum.repo.d/cloudstack
[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/centos/6/4.6/
enabled=1
gpgcheck=0

vi /etc/exports
/primary *(rw,async,no_root_squash,no_subtree_check)
/secondary *(rw,async,no_root_squash,no_subtree_check)

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'

计算节点上安装代理
yum install cloudstack-agent
Transaction Summary
=============================================================================================================================================================================================================================================
Install     132 Package(s)
Upgrade       6 Package(s)

Total download size: 256 M

[root@computer ~]# history
    1  ifconfig
    2  vi /etc/sysconfig/network-scripts/ifcfg-eth0
    3  service network restart
    5  vi /etc/selinux/config
    6  chkconfig iptables off
    7  reboot
    8  getenforce
    9  ping qq.com
   10  vi /etc/hosts
   11  hostname --fqdn
   12  service network restart
   18  hostname --fqdn
   23  yum install ntp
   24  chkconfig --list|grep ntp
   25  chkconfig ntpd on
   26  service ntpd start
   27  vi /etc/yum.repos.d/cloudstack.repo
   28  yum install cloudstack-agent
   29  vi /etc/libvirt/qemu.conf
   30  vi /etc/libvirt/libvirt.conf
   32  vi /etc/sysconfig/libvirtd
   33  service libvirtd start
   44  libvirtd -d
   45  service libvirtd status
   46  lsmod|grep kvm

好像还得安装下面的
yum install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v libguestfs-tools

[root@compute network-scripts]# cloudstack-setup-agent
Welcome to the CloudStack Agent Setup:
Please input the Management Server Hostname/IP-Address:[192.168.1.171]
Please input the Zone Id:[default]
Please input the Pod Id:[default]
Please input the Cluster Id:[default]
Please input the Hypervisor type kvm/lxc:[default]kvm
Please choose which network used to create VM:[cloudbr0]
Starting to configure your system:
Configure Cgroup ... [OK]
Configure SElinux ... [OK]
Configure Network ... [OK]
Configure Libvirt ... [OK]
Configure Firewall ... [OK]
Configure Nfs ... [OK]
Configure cloudAgent ... [OK]
CloudStack Agent setup is done!

vi /etc/libvirt/qemu.conf
vnc_listen=0.0.0.0
   
vi /etc/libvirt/libvirtd.conf
listen_tls = 0
listen_tcp = 1
tcp_port = "16059"
auth_tcp = "none"
mdns_adv = 0

vi /etc/sysconfig/libvirtd
LIBVIRTD_ARGS="--listen"

公司前不久搭建的cloudstack 4.0(3台XenServer 6.1节点,Centos 6.3管理机器,freenas)由于机房意外停电,造成管理机器无法联系节点,系统vm无法启动,加上时间紧迫,上面有没有上面重要数据,就进行全新安装。安装后,为防止相同事件再次发生,做了简单的灾难恢复测试。

故障模拟
1,系统vm维护
步骤:维护模式关闭系统ssvm cpvm所在物理主机,启用主机维护模式,重启主机
现象:ssvm cpvm 状态处于stop状态
恢复:主机启动完成后,取消维护模式,ssvm cpvm自动启动(5分钟左右)
2,系统vm故障
故障:系统vm丢失
步骤:删除ssvm,cpvm
现象:无法进行添加删除vm操作
恢复:删除的ssvm,cpvm 会自动重建,重建完成后功能恢复
3,系统vrouter故障
故障:系统vrouter丢失
步骤:停止并删除vrouter
现象:客户vm无法通过域名访问,通过ip访问无影响
恢复:重新执行创建vm操作,vrouter自动创建;客户vm需要重启网络服务
4,重启CS管理机器
故障:管理服务器宕机
步骤:直接重启管理机器
现象:无法登陆控制台
恢复:系统启动完成后,正常登陆
5, 存储意外关闭
故障:模拟主存储故障
步骤:重启关闭主存储并禁用网卡10分钟
现象:cpvm,ssvm状态系统正常,cs控制台会有disconneting提示;用户vm状态running,但是无法通过console连接,停止后,无法重启;添加用户vm 一直处于starting状态
恢复:恢复通信后,自动恢复,如果有问题,依次重启各个vm主机
6, 集群主机故障1
故障:所有主机网络故障
步骤:直接关闭主机网络交换机
现象:所有主机状态都为down,系统vm为starting,无法进行用户vm操作
恢复:恢复交换机故障,当master主机通信故障时,及时其他主机通信恢复,其他主机状态依旧为down;master主机恢复通信后,其他主机依次恢复;最后重启用户vm
7, 集群主机故障2
故障:非master主机网络故障
步骤:直接关闭主机网络接口
现象:主机状态都为down,该主机上的用户vm处于shutdown;管理主机日志提示故障主机设置master异常
恢复:直接启动状态为shutdown的用户vm(cloudstack会自动在其他可用主机节点部署用户vm);恢复故障主机故障后重新加入
8, 集群主机故障3
故障:master主机故障
步骤:直接关闭主机网络接口,模拟意外关闭
现象:主机状态为down,该主机上的用户vm处于shutdown
恢复:其他主机会自动成为master主机;恢复原故障主机通信,仍旧无法加入主机,cs中删除主机,重启;本机登陆命令行,执行xe pool-join 加入到pool,cs中再次添加主机如果需要;资源池的每个成员都将包含担任主主机角色所需的所有信息。 在cloudstack一个cluster中的pool资源池中(通过xenCenter也可以创建资源池),有一个物理主机充当master主机,进行资源的分配;当一个pool中的master主机发生故障,将依次发生下列事件:
1. 成员意识到通信已中断,每个成员都重试 60 秒
2. 然后,各成员将自身置于紧急模式,这样,成员 XenServer 主机现在将仅接受池紧急命令(xe pool-emergency-reset-master 和 xe pool-emergency-transition-to-master)。此时,如果master主机恢复,它将重新建立与其成员的通信,成员退出紧急模式,操作恢复正常。不过,如果master主机已停用,您应该选择一个成员并对其执行 xe pool-emergency-transition-to-master 命令。当该成员成为master主机后,执行命令 xe pool-recover-slaves,其他成员现在将指向此新master主机。如果修复或替换用作原始master主机的服务器,您只需启动服务器,安装 XenServer 主机软件,然后将它添加到池中。由于池中的 XenServer 主机强制为同类主机,因此实际上不需要将替换的服务器设为主主机。将成员 XenServer 主机转换为master主机后,您还应检查默认池存储库是否设置了适当的值。通过使用 xe pool-param-list 命令并验证 default-SR 参数是否指向有效存储库,可实现此操作。 名词解释:xenserver master
在一个xenserver 组成的资源pool中,会选举一个xenserver作为该pool的master,管理工具cloudstack或者xencerter通过操作master,让master决定vm的资源分配情况
05-08 15:14