热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在CentOS6.5系统安装CloudStack4.2云计算平台

又到年底,下月开始休假,所以这周基本上算今年“努力”的最后一周,接下来六周都不会有技术文章更新。和OpenStack,OpenNebula类似,CloudStack是另一款开源云计算平台。CloudStack的前身是Cloud.com家的一款商业云计算产品(也有开源版本),2011

  又到年底,下月开始休假,所以这周基本上算今年 “努力” 的最后一周,接下来六周都不会有技术文章更新。

  和 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,登录后修改密码、做一些配置后就可以开始用了:

  


推荐阅读
  • 本文为初学者提供了一条清晰的学习路线,帮助他们逐步成长为优秀的Web开发人员。通过十个关键步骤,涵盖从基础到高级的各个方面,确保每位学习者都能找到适合自己的学习方向。 ... [详细]
  • Ubuntu 环境下配置 LAMP 服务器
    本文详细介绍了如何在 Ubuntu 系统上安装和配置 LAMP(Linux、Apache、MySQL 和 PHP)服务器。包括 Apache 的安装、PHP 的配置以及 MySQL 数据库的设置,确保读者能够顺利搭建完整的 Web 开发环境。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • Linux 防火墙与端口管理必备命令
    在使用 Linux 系统进行服务部署和问题排查时,防火墙和端口管理是不可或缺的操作。本文将详细介绍如何查看防火墙状态、端口占用情况,以及如何开放和关闭端口,帮助初学者更好地掌握这些技能。 ... [详细]
  • 本文介绍了如何查看PHP网站及其源码的方法,包括环境搭建、本地测试、源码查看和在线查找等步骤。 ... [详细]
  • 本文详细介绍了如何在Linux系统(以CentOS为例)上彻底卸载Zimbra邮件系统,包括停止服务、删除文件和用户等步骤。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • 本文详细介绍了如何在 CentOS 7 及其衍生发行版(如 Red Hat, Oracle, Scientific Linux 7)上安装和完全卸载 GitLab。包括安装必要的依赖关系、配置防火墙、安装 GitLab 软件包以及常见问题的解决方法。 ... [详细]
  • CentOS 7 默认安装了 MariaDB,作为 MySQL 的一个分支。然而,出于特定需求,我们可能仍需在系统中安装 MySQL。本文将详细介绍如何通过 Yum 包管理器在 CentOS 7 上安装 MySQL,并提供一些常用的 MySQL 命令。 ... [详细]
  • Python学习day3网络基础之网络协议篇
    一、互联网协议连接两台计算机之间的Internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列网络协议。二、为什么要有互联网协议互联网协议就相当于计 ... [详细]
  • http:blog.csdn.netzeo112140articledetails7675195使用TCPdump工具,抓TCP数据包。将数据包上传到PC,通过Wireshark查 ... [详细]
  • ipsec 加密流程(二):ipsec初始化操作
    《openswan》专栏系列文章主要是记录openswan源码学习过程中的笔记。Author:叨陪鲤Email:vip_13031075266163.comDate:2020.1 ... [详细]
  • 1.tarzxfapache-activemq-5.12.0-bin.tar.gztarzxfapache-activemq-5.12.0-bin.tar.gz2.cdapac ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
author-avatar
瑶瑶2502863511
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有