CloudStack_ManageMent 安装

 安装CloudStackManager 的方法很多,我主要参考了  http://www.cnblogs.com/skyme/p/3135458.html

几个重要的步骤拷贝过来:

配置安装源 

sudo gedit /etc/apt/sources.list

配置国内的镜像,我配置的是:

deb http://mirrors.sohu.com/ubuntu/ precise main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ precise-security main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ precise-updates main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ precise-proposed main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ precise main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ precise-security main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ precise-updates main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ precise-proposed main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse

 

配置CloudStack官方源:

 

sudo vi /etc/apt/sources.list.d/cloudstack.list

添加:

deb http://cloudstack.apt-get.eu/ubuntu precise 4.0

配置CloudStack官方源证书:

wget -O - http://cloudstack.apt-get.eu/release.asc| sudo apt-key add -

更新系统的安装源:

sudo apt-get update

 

配置CloudStack Management Server

查看主机名:

hostname --fqdn

sudo vi /etc/hosts

添加ip和显示的domain名称

安装ntp:

sudo apt-get install openntpd

sudo apt-get install cloud-client

将用户cloud加入到sudo用户组  //CloudStack默认以cloud用户启动,但默认会通过sudo以root身份管理相关文件与目录

sudo adduser cloud

配置sudo用户组免密码切换  //同样是为了解决和上面相同的权限问题

sudo vi /etc/sudoers

修改:

%sudo ALL=(ALL:ALL) NOPASSWD:ALL

添加一行:cloud ALL =NOPASSWD : ALL

初始化root用户密码,如cloudstack   //CloudStack默认需要root权限远程SSH连接到Agent

sudo -i

passwd

下载vhd-util

sudo wget http://download.cloud.com.s3.amazonaws.com/tools/vhd-util sudo mv vhd-util /usr/lib/cloud/common/scripts/vm/hypervisor/xenserver/

然后安装mysql

sudo apt-get install mysql-server

在弹出的界面中输入密码,如: cloudstack

修改MySQL配置文件参数

sudo vi /etc/mysql/my.cnf

在[mysqld]模块中加入以下参数

innodb_rollback_on_timeout=1innodb_lock_wait_timeout=600max_connections=350log-bin=mysql-binbinlog-format = 'ROW'

 重启MySQL

sudo service mysql restart

初始化数据库cloud

sudo cloud-setup-databases cloud:cloudstack@localhost --deploy-as=root:cloudstack

 

CloudStack_ManageMent 安装_第1张图片

CloudStack 需要一个地方来存放Primar和Secondary Storage,官方推荐使用NFS共享。

安装NFS

sudo apt-get install nfs-common nfs-kernel-server

创建目录

sudo mkdir -p /export/primarysudo mkdir-p /export/secondary

编辑NFS配置文件

sudo vi /etc/exports

 

添加如下信息

/export *(rw,async,no_root_squash,no_subtree_check)

刷新配置

sudo exportfs -a

挂载测试NFS共享

sudo mkdir /mnt/primary

sudo mount-t nfs 10.6.203.10:/export/primary /mnt/primary

sudo mkdir /mnt/secondary

sudo mount-t nfs 10.6.203.10:/export/secondary /mnt/secondary

 

执行df -h查看

CloudStack_ManageMent 安装_第2张图片

可见挂载成功,然后输入

sudo vi /etc/fstab

添加

192.168.74.144:/export/primary /mnt/primary nfs rw,tcp,intr 0 1

192.168.74.144:/export/secondary /mnt/secondary nfs rw,tcp,intr0 1

安装kvm模板

sudo /usr/lib/cloud/common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary \-u http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2 -h kvm -F

注意:这个地方有个bug,我修改了脚本 /usr/lib/cloud/common/scripts/storage/secondary/cloud-install-sys-tmplt 中的一处代码

if [ "$templateId" == "" ]then   if [ "$hyper" == "kvm" ]   then     ext="qcow2.bz2"      templateId=(`mysql -h $dbHost --user=$dbUser --password=$dbPassword --skip-column-names -U cloud -e "select max(id) from cloud.vm_template where type = \"SYSTEM\" and hypervisor_type = \"KVM\" and removed is null"`)   elif [ "$hyper" == "xenserver" ]   then      ext="vhd"

 

等待……

安装成功后显示:

 

Successfully installed system VM template to /mnt/secondary/template/tmpl/1/3/

(也可以下载到本地后执行)

./cloud-install-sys-tmplt -m /mnt/secondary/ -f /var/acton-systemvm-02062012.qcow2.bz2 -h kvm -F (执行这个的时候不需要修改脚本cloud-install-sys-tmplt)

 

安装配置KVM 以及cloud-agent:

  同cloudstack manage server 一样,需要配置cloudstack 官方源,这里不再描述

  安装KVM

   1、检查是否支持虚拟化:egrep '(vmx|svm)' --color=always /proc/cpuinfo

    2、apt-get install ubuntu-virt-server python-vm-builder kvm-ipxe

    3、查看是否已经安装成功:virsh -c qemu:///system list

   4、apt-get install bridge-utils

 

 

 安装cloud-agent

 sudo apt-get install cloud-agent

  安装配置libvirt:

 sudo vi /etc/libvirt/libvirtd.conf

 修改以下配置

listen_tls = 0

listen_tcp= 1

tcp_port= "16509"

auth_tcp= "none"

mdns_adv= 0

 

然后使用如下命令查看配置

 

cat /etc/libvirt/libvirtd.conf | grep -v'#' | grep -v "^$"

 

得到的内容如下:

CloudStack_ManageMent 安装_第3张图片

然后输入

 

sudo vi /etc/init/libvirt-bin.conf

修改以下参数

env libvirtd_opts="-d -l"

sudo vi /etc/libvirt/qemu.conf

修改以下参数

vnc_listen = "0.0.0.0"

重启服务

sudo service libvirt-bin restart

 

配置安全策略

sudo dpkg --list "apparmor"
sudo ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/

sudo ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aahelper /etc/apparmor.d/disable/

sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd

sudo apparmor_parser -R /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper

 

配置防火墙

sudo ufw allow proto tcp from any to any port 22

sudo ufw allow proto tcpfrom any to any port80

sudo ufw allow proto tcpfrom any to any port1798

sudo ufw allow proto tcpfrom any to any port16509

sudo ufw allow proto tcpfrom any to any port5900:6100

sudo ufw allow proto tcp from any to any port49152:49216

 

启动CloudStack

 登录CloudStack 管理节点

sudo /etc/init.d/tomcat6 stop
sudo update-rc.d -f tomcat6 remove

启动cloud-management

cd ~

sudo /etc/init.d/cloud-management restart

 

CloudStack_ManageMent 安装_第4张图片

 

netstat -an | grep 8080

通过上边的命令可以看到8080为listen状态。

输入http://{IP}:8080/client/

就可以看到cloudstack的登录界面了。

 

 附录

安装成功后,登录总是提示用户名和密码不正确。查看后台日志文件:/var/log/cloud/management  发现apiServer没有启动,查了好多资料,重置了一遍数据库:

方法:

   1、停止CloudStack服务。service cloud-management stop

   2、到mysql里查询select uuid from storage_pool;  使用http://blog.csdn.net/jkeven/article/details/8055523里的方法,删除存储的SR

  3、mysql -u root -p mysql;

     drop database cloud;

     drop database cloud;

4、sudo cloud-setup-databases cloud:cloudstack@localhost --deploy-as=root:cloudstack

   执行 cloud-setup-management

5、删除目录/mnt/primary /mnt/secondary /export/primary /export/secondary 下的文件

6、首先确保进行了挂载

 mount -t nfs 192.168.26.130:/export/primary /mnt/primary

 mount -t nfs 192.168.26.130:/export/secondary /mnt/secondary

安装系统VM模板 执行./cloud-install-sys-tmplt -m /mnt/secondary/ -f /var/acton-systemvm-02062012.qcow2.bz2 -h kvm -F

7、在安装KVM的主机上执行操作,删除/mnt下的全部文件,替换/etc/cloud/agent 下的agent.properties 为默认的agent.properties

8、重启agent  service cloud-agent restart

 

9、重启management-server :/etc/init.d/cloud-management restart

 

(中间一个小插曲,我登录后,修改了初始密码,然后做测试,告诉同事了原始密码,结果同事登录不进去,我狂看日志,怎么也找不到啥问题。。。。。。结果,尼玛 是我把原始密码给改了。。自己坑自己。。)

 

你可能感兴趣的:(CloudStack)