zoukankan      html  css  js  c++  java
  • 在 CentOS 6.4 上安装 CloudStack 4.2

    在 CentOS 6.4上安装CloudStack 4.2

    原文路径:http://www.vpsee.com/2013/11/install-cloudstack-4-2-on-centos-6-4/

    和 OpenStack,OpenNebula 类似,CloudStack 是另一款开源云计算平台。CloudStack的前身是 Cloud.com 家的一款商业云计算产品(也有开源版本),2011年 Cloud.com 被Citrix 收购,2012年的时候 Citrix 将收购的云平台 CloudStack 全部捐给了 Apache 基金会,自己则以 Citrix CloudPlatform (powered by Apache CloudStack) 的形式为客户提供商业化的云计算解决方案。

    按照《OpenStack,OpenNebula, Eucalyptus, CloudStack社区活跃度比较》的统计,貌似 CloudStack 项目的活跃程度仅次于 OpenStack. 和大多数云计算、集群软件一样,CloudStack 也是控制节点+计算节点这种架构,控制节点(cloudstack-management)用来统一管理计算节点,提供资源分配和任务,提供 API、GUI、数据库等服务;计算节点(cloudstack-agent)则用来跑虚拟机。我们需要做的是,

    • 在控制节点上安装 cloudstack-management;
    • 在(每个)计算节点上安装 cloudstack-agent 和 kvm.

    在控制节点上

    安装完 CentOS 6.4 系统后,升级系统并修改 hostname 后重启:

    # yum update
     
    # echo "cloudstack.vpsee.com" > /etc/hostname
     
    # vi /etc/sysconfig/network
    NETWORKING=yes
    NETWORKING_IPV6=no
    HOSTNAME=cloudstack.vpsee.com
     
    # echo "192.168.2.150 cloudstack cloudstack.vpsee.com" >> /etc/hosts
     
    # reboot

    添加 cloudstack 软件包的官方源,安装 ntp, cloudstack-management, mysql 数据库服务器:

    # vi /etc/yum.repos.d/cloudstack.repo
    [cloudstack]
    name=cloudstack
    baseurl=http://cloudstack.apt-get.eu/rhel/4.2/
    enabled=1
    gpgcheck=0
     
    # yum update
     
    # yum install ntp
    # yum install cloudstack-management
    # yum install mysql-server

    修改 mysql 配置文件,加入下面几行,启动 ntp, mysql 服务并运行 mysql_secure_installation 给 mysql 设置密码:

    # 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'
     
    [mysqld_safe]
    ...
     
     
    # service ntpd start
    # chkconfig ntpd on
     
    # service mysqld start
    # chkconfig mysqld on
     
    # mysql_secure_installation

    修改 SELINUX 设置,并配置防火墙允许访问 mysql 的 3306 端口:

    # vi /etc/selinux/config
    ...
    SELINUX=permissive
    ...
     
    # setenforce permissive
     
    # vi /etc/sysconfig/iptables
    ...
    -A INPUT -p tcp --dport 3306 -j ACCEPT
    ...
     
    # service iptables restart

    使用cloudstack-setup-databases 初始化 ClouStack 数据库,完成后运行 cloudstack-setup-management:

    # cloudstack-setup-databases cloud:cloud@localhost --deploy-as=root:root -i 192.168.2.150
     
    # 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!

    控制节点应该和存储分开,这里为了方便,我们把 NFS 也装在这个控制节点上,并自己挂载自己的 NFS 分区:

    # yum install nfs-utils
    # mkdir -p /export/primary
    # mkdir -p /export/secondary
     
    # vi /etc/exports
    /export  *(rw,async,no_root_squash,no_subtree_check)
     
    # exportfs -a
    # vi /etc/sysconfig/nfs
    ...
    LOCKD_TCPPORT=32803
    LOCKD_UDPPORT=32769
    MOUNTD_PORT=892
    RQUOTAD_PORT=875
    STATD_PORT=662
    STATD_OUTGOING_PORT=2020
    ...
     
    # service rpcbind start
    # service nfs start
    # chkconfig nfs on
    # chkconfig rpcbind on
    # reboot
     
    # mkdir -p /mnt/primary
    # mkdir -p /mnt/secondary
    # mount -t nfs 192.168.2.150:/export/primary /mnt/primary
    # mount -t nfs 192.168.2.150:/export/secondary /mnt/secondary

    修改防火墙配置,开放下面一些端口:

    # vi /etc/sysconfig/iptables
    ...
    -A INPUT -s 192.168.2.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT
    -A INPUT -s 192.168.2.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT
    -A INPUT -s 192.168.2.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT
    -A INPUT -s 192.168.2.0/24 -m state --state NEW -p tcp --dport 32803 -j ACCEPT
    -A INPUT -s 192.168.2.0/24 -m state --state NEW -p udp --dport 32769 -j ACCEPT
    -A INPUT -s 192.168.2.0/24 -m state --state NEW -p tcp --dport 892 -j ACCEPT
    -A INPUT -s 192.168.2.0/24 -m state --state NEW -p udp --dport 892 -j ACCEPT
    -A INPUT -s 192.168.2.0/24 -m state --state NEW -p tcp --dport 875 -j ACCEPT
    -A INPUT -s 192.168.2.0/24 -m state --state NEW -p udp --dport 875 -j ACCEPT
    -A INPUT -s 192.168.2.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT
    -A INPUT -s 192.168.2.0/24 -m state --state NEW -p udp --dport 662 -j ACCEPT
    ...
     
    # service iptables restart
    # service iptables save

    创建虚拟机需要有模版,这个模版可以自己做,也可以下载官方现成的。需要注意的是,官方文档中的 /usr/lib64/cloud/common/… 路径不对,应该是/usr/share/cloudstack-common/…:

    # /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://d21ifhcun6b1t2.cloudfront.net/templates/4.2/systemvmtemplate-2013-06-12-master-kvm.qcow2.bz2 -h kvm -s -F

    在计算节点上

    为了保持一致,我们在计算节点上也采用 CentOS 6.4. 在每个计算节点上都需要如下的安装和配置。升级系统并修改hostname、重启:

    # yum update
     
    # echo "cloudstack01.vpsee.com" > /etc/hostname
     
    # vi /etc/sysconfig/network
    NETWORKING=yes
    NETWORKING_IPV6=no
    HOSTNAME=cloudstack01.vpsee.com
     
    # echo "192.168.2.151 cloudstack01 cloudstack.vpsee.com" >> /etc/hosts
     
    # reboot

    添加 cloudstack 软件包的官方源,安装 ntp, cloudstack-agent 和 kvm:

    # vi /etc/yum.repos.d/cloudstack.repo
    [cloudstack]
    name=cloudstack
    baseurl=http://cloudstack.apt-get.eu/rhel/4.2/
    enabled=1
    gpgcheck=0
     
    # yum update
     
    # yum install ntp
    # yum install cloudstack-agent
    # yum install qemu-kvm

    修改 libvirt 相关配置文件,去掉下面几行的注释,注意把 auth_tcp 改成 “none”,如果需要 vnc 访问的话别忘了取消 qemu.conf 里面的 vnc_listen 相关注释,重启 libvirtd 服务使配置生效:

    # vi /etc/libvirt/libvirtd.conf
    ...
    listen_tls = 0
    listen_tcp = 1
    tcp_port = "16509"
    auth_tcp = "none"
    mdns_adv = 0
    ...
     
    # vi /etc/sysconfig/libvirtd
    ...
    LIBVIRTD_ARGS="--listen"
    ...
     
    # vi /etc/libvirt/qemu.conf
    ...
    vnc_listen = "0.0.0.0"
    ...
     
    # service libvirtd restart

    别忘了让防火墙开放必要的端口:

    # iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT
    # iptables -I INPUT -p tcp -m tcp --dport 1798 -j ACCEPT
    # iptables -I INPUT -p tcp -m tcp --dport 16509 -j ACCEPT
    # iptables -I INPUT -p tcp -m tcp --dport 5900:6100 -j ACCEPT
    # iptables -I INPUT -p tcp -m tcp --dport 49152:49216 -j ACCEPT
    # iptables-save > /etc/sysconfig/iptables

    测试

    打开浏览器,访问控制节点http://192.168.2.150:8080/client/ 就会看到登录界面,默认用户名和密码是admin/password,登录后修改密码、做一些配置后就可以开始用了:


    其中的192.168.2.150替换为自己的ip地址

  • 相关阅读:
    使用ASP.Net WebAPI构建REST服务(一)——简单的示例
    SQL Server 自定义字符串分割函数
    [转]JSP中EL表达式三元运算符的使用
    [转]JSP页面的动态包含和静态包含示例及介绍
    jstl报错:Property 'name' not found on type java.lang.String
    [转]Extjs中的迭代方法
    eclipse mars 4.5.1 自定义工具栏
    [转]Commons IO 官方文档
    【转】eclipse运行 Ant报错Could not find the main class: org.eclipse.ant.internal.launching.remote.InternalAntRunner. Program
    【转】亲测plsql Developer配置免安装oralce客户端步骤
  • 原文地址:https://www.cnblogs.com/JZZ1026/p/4417332.html
Copyright © 2011-2022 走看看