博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
私有云平台CloudStack V4.11安装和配置连载1
阅读量:7240 次
发布时间:2019-06-29

本文共 10996 字,大约阅读时间需要 36 分钟。

CloudStack 的安装和使用

1. CloudStack简介:

  Apache CloudStack是一种开源软件,旨在部署和管理大型虚拟机网络,作为高度可用,高度可扩展的基础架构即服务(IaaS)云计算平台。CloudStack被许多服务提供商用于提供公共云服务,并由许多公司提供内部(私有)云产品,或作为混合云解决方案的一部分。

  CloudStack是一个开箱即用的解决方案,包括大多数组织希望使用IaaS云的整个“堆栈”功能:计算编排,网络即服务,用户和帐户管理,完整和开放的本机API,资源记帐和一流的用户界面(UI)。

  CloudStack目前支持最流行的虚拟机管理程序:VMware,KVM,Citrix XenServer,Xen Cloud Platform(XCP),Oracle VM服务器和Microsoft Hyper-V。

  用户可以使用易于使用的Web界面,命令行工具和/或功能齐全的RESTful API来管理他们的云。此外,CloudStack还为希望部署混合云的组织提供与AWS EC2和S3兼容的API

2. Cloudstack 私有云平台规划

机器名 操作系统 软件版本 IP地址
cloudstack-node5 CentOS 7.4 cloudstack-agent-4.11.1.0-1.el7.centos.x86_64 10.83.32.83
cloudstack-node6 CentOS 7.4 cloudstack-agent-4.11.1.0-1.el7.centos.x86_64 10.83.32.46
cloudstack-node7 CentOS 7.4 cloudstack-agent-4.11.1.0-1.el7.centos.x86_64 10.83.32.47
cloudstack-node8 CentOS 7.4 cloudstack-agent-4.11.1.0-1.el7.centos.x86_64 10.83.32.48
cloudstack-node4 CentOS 7.4 cloudstack-agent-4.11.1.0-1.el7.centos.x86_64 10.83.32.50
cloudstack-node3 CentOS 7.4 cloudstack-agent-4.11.1.0-1.el7.centos.x86_64 10.83.32.49
cloudstack-node2 CentOS 7.4 cloudstack-agent-4.11.1.0-1.el7.centos.x86_64 10.83.32.84
cloudstack-node1 CentOS 7.4 cloudstack-agent-4.11.1.0-1.el7.centos.x86_64 10.83.32.82
cloudstack-management CentOS 7.4 cloudstack-management-4.11.1.0-1.el7.centos.x86_64 mariadb-server-5.5.56-2.el7.x86_64 10.83.32.45
cloudstack-nfs CentOS 7.4 cloudstack-agent-4.11.1.0-1.el7.centos.x86_64 10.83.32.81

3. CloudStack 安装要求

  • 所有机器的内存不能低于2G,否则无法搭建成功。
  • Hypervisor 所在的主机,要求CPU 和主板支持硬件虚拟化(需要在主板的 BIOS 中设置 Intel-VT 为 enable)
  • 操作系统为64位,Hypervisor 的主机不能有任何正在运行的虚拟机,否则在后续的 add host 操作中会遇到失败。最佳的建议是 hypervisor 主机上的操作系统为全新安装,且没有部署任何其余虚拟机
  • 无论是管理服务器还是 hypervisor所在主机,都需要以 root 登录进行 CloudStack 组件安装。
  • Management Server 和 Hypervisor 主机必须是有独立静态 IP的主机,并且该网络段内不要有DHCP服务存在。

4. CloudStack 的安装步骤描述

  CloudStack+KVM组合其实就是CloudStack-Management服务与CloudStack-Agent的合作,Agent端还有libvirt(虚拟化)这个重要组件。

管理端安装步骤:

  1. 安装操作系统
  2. 配置YUM源,安装cloudstack-management ,mysql-server 组件
  3. 初始化cloudstack的mysql数据库文件
  4. 挂载二级存储,导入系统VM模板
  5. 通过cloudstack-setup-management命令完成cloustack管理服务启动以及防火墙策略配置

agent端安装步骤:

  1. 安装操作系统
  2. 配置YUM源,安装cloudstack-agent组件,安装libvirt虚拟化组件
  3. 配置libvirt相关配置文件,/etc/libvirt/libvirtd.conf以及/etc/sysconfig/libvirtd

web管理控制台初始化CloudStack集群:

  配置完成之后,通过cloudstack管理节点的web界面登录: ip:8080/client

默认用户名为admin,默认密码为password 登录之后进行区域【Zone】的创建即可。

5. Cloudstack 安装初始化配置

1. 主机名和hosts文件配置

hostnamectl set-hostname cloudstack-node7[root@cloudstack-node7 ~]# cat /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4#::1         localhost localhost.localdomain localhost6 localhost6.localdomain610.83.32.83 cloudstack-node510.83.32.82 cloudstack-node110.83.32.84 cloudstack-node210.83.32.49 cloudstack-node310.83.32.50 cloudstack-node410.83.32.45 cloudstack-management10.83.32.46 cloudstack-node610.83.32.47 cloudstack-node710.83.32.48 cloudstack-node810.83.32.81 cloudstack-nfs

2. Selinux和Iptables配置

[root@cloudstack-node7 ~]# cat /etc/selinux/config# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:#     disabled - SELinux security policy is enforced.#     permissive - SELinux prints warnings instead of disabled.#     disabled - No SELinux policy is loaded.SELINUX=disabled# SELINUXTYPE= can take one of three two values:#     targeted - Targeted processes are protected,#     minimum - Modification of targeted policy. Only selected processes are protected.#     mls - Multi Level Security protection.SELINUXTYPE=targeted#关闭selinuxsystemctl disable firewalldsystemctl stop firewalldsystemctl stop iptablessystemctl disable iptables#关闭iptables

3. NTP时间服务器配置:

[root@cloudstack-node7 ~]# crontab -l0 1 * * * /usr/sbin/ntpdate 10.10.0.11 > /dev/null 2>&1

  因为公司有内网的NTP服务器,所以直接使用内网的NTP服务器,每一分钟同步一次时间。CentOS 7操作系统时间服务器的软件是Chrony.具体的配置可以参考网址https://www.centos.bz/2018/03/centos-7-chrony-%E8%AE%BE%E7%BD%AE%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%9B%86%E7%BE%A4%E7%B3%BB%E7%BB%9F%E6%97%B6%E9%97%B4%E5%90%8C%E6%AD%A5/

4. yum源配置

[root@cloudstack-node7 ~]# cat /etc/yum.repos.d/cloudstack.repo[cloudstack]name=cloudstackbaseurl=http://cloudstack.apt-get.eu/centos/7/4.11/enabled=1gpgcheck=0[root@c1 ~]# vi /etc/yum.repos.d/mysql.repo[mysql-connectors-community]name=MySQL Community connectorsbaseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/x86_64/enabled=1gpgcheck=1[root@cloudstack-node5 ~]# cat /etc/yum.repos.d/epel.repo[epel]name=Extra Packages for Enterprise Linux 7 - $basearchbaseurl=http://mirrors.aliyun.com/epel/7/$basearch        http://mirrors.aliyuncs.com/epel/7/$basearch#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearchfailovermethod=priorityenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7[epel-debuginfo]name=Extra Packages for Enterprise Linux 7 - $basearch - Debugbaseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug        http://mirrors.aliyuncs.com/epel/7/$basearch/debug#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearchfailovermethod=priorityenabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7gpgcheck=0[epel-source]name=Extra Packages for Enterprise Linux 7 - $basearch - Sourcebaseurl=http://mirrors.aliyun.com/epel/7/SRPMS        http://mirrors.aliyuncs.com/epel/7/SRPMS#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearchfailovermethod=priorityenabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7gpgcheck=0

#一个是cloudstack的yum源,一个是EPEL yum源,一个是mysql-connector-python源,安装cloudstack-management,它依赖于mysql-connector-python,cloudstack-common,tomcat等其它组件。

5. 网卡绑定设置

centos7  设置br0桥接网卡[root@cloudstack-node5 yum.repos.d]# cat /etc/sysconfig/network-scripts/ifcfg-br0TYPE=BridgeBOOTPROTO=staticNAME=br0DEVICE=br0ONBOOT=yesHOTPLUG=noDELAY=0STP=noIPADDR=10.83.32.45NETWORK=255.255.255.0GATEWAY=10.83.32.1DNS1=10.10.0.5[root@cloudstack-node5 yum.repos.d]#[root@cloudstack-node5 yum.repos.d]# cat /etc/sysconfig/network-scripts/ifcfg-eth0TYPE=EthernetBRIDGE=br0BOOTPROTO=noneNAME=eth0DEVICE=eth0ONBOOT=yesHOTPLUG=no[root@cloudstack-node5 yum.repos.d]#设置默认路由,必须的[root@cloudstack-node5 yum.repos.d]# cat /etc/sysconfig/network-scripts/route-br00.0.0.0/0 via 10.83.32.1 dev br0[root@cloudstack-node5 yum.repos.d]#

  CloudStack 4.11版本开始每台机器都需要设置绑定网卡br0

6. CloudStack-Management 安装配置

  因为是最小化安装,所以需要安装一些依赖组件,同时cloudstack-management管理服务器需要安装mysql数据库服务器

yum groupinstall -y "Desktop Platform Development" "Server Platform Development" "Development Tools" "SNMP Support"yum install gcc gcc-c++ cmake make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel libevent-devel ncurses-devel mlocate flex sysstat libaio-devel ntp openldap-devel openssl-devel libcurl-devel unzip perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker iotop bzip2* ntpdate wget unzip zip htop vim iftop nc nmap dstat iostat lrzsz screen lftp wget curl sysstat strace lsof telnet tree tcpdumpyum -y install mariadb-server

  配置mysql服务:

[root@cloudstack-node5 ~]# cat /etc/my.cnf|egrep -v "^$|#"[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockinnodb_rollback_on_timeout=1innodb_lock_wait_timeout=600max_connections=350log-bin=mysql-binbinlog-format = 'ROW'symbolic-links=0[mysqld_safe]log-error=/var/log/mariadb/mariadb.logpid-file=/var/run/mariadb/mariadb.pid!includedir /etc/my.cnf.d[root@cloudstack-node5 ~]#systemctl start mariadbsystemctl enable mariadb#启动mysql服务

  安装Cloudstack-Management:

#从MySQL导入GPG公钥:rpm --import http://repo.mysql.com/RPM-GPG-KEY-mysql#安装mysql-connectoryum -y install mysql-connector-python现在要安装管理服务器,因为前期配置了cloudstack的yum源仓库yum -y install cloudstack-management安装了应用程序本身后,我们现在可以设置数据库,我们将使用以下命令和选项执行此操作:cloudstack-setup-databases cloud:123456@localhost --deploy-as=root完成此过程后,您应该会看到“CloudStack已成功初始化数据库”之类的消息。既然已经创建了数据库,我们可以通过发出以下命令来设置管理服务器的最后一步:cloudstack-setup-management  --tomcat7

  配置二级存储NFS Server:

yum -y  install rpcbind nfs-utilsvim /etc/exportsmkdir -p /home/export/secrond/home/export/secrond 10.83.32.0/24(rw,fsid=1,async,no_root_squash,no_subtree_check)

  系统模板设置:

  CloudStack使用许多系统VM来提供访问虚拟机控制台,包括Console Proxy VM和Secondary Storage VM。这两个虚拟机主要提供各种网络服务以及管理存储的各个方面的功能。当我们引导您的云时,此步骤将获取准备部署的系统映像。
现在我们需要下载系统VM模板并将其部署到我们刚刚挂载的共享。管理服务器包括用于正确操作系统VMs映像的脚本。

cd /softwarewget  http://download.cloudstack.org/systemvm/4.11/systemvmtemplate-4.11.1-kvm.qcow2.bz2#下载虚拟机模板映像文件mkdir -p /export/secondary/mount -t nfs -o nolock 10.83.32.81:/home/export/secrond /export/secondary/vim /etc/rc.d/rc.localmount -t nfs -o nolock 10.83.32.81:/home/export/secrond /export/secondary/#挂载NFS存储/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary/ -f /software/systemvmtemplate-4.11.1-kvm.qcow2.bz2 -h kvm -F#导入系统虚拟机模板

  启动Cloudstack management服务:

systemctl start cloudstack-management

  打开浏览器访问:用户名/密码为:admin/password

私有云平台CloudStack V4.11安装和配置连载1

7. CloudStack-Agent 安装配置

  一定要保证/mnt目录没有被使用,且目录为空,否则CloudStack无法对其挂载Primary Storage,新建实例,可能会失败,除非你有多个agent,/mnt已有的数据,请提前保存好

安装cloudstack-agent,需要cloudstack-common软件,还有其它附属软件包.

cd /softwarewget https://download.cloudstack.org/centos7/4.11/cloudstack-agent-4.11.1.0-1.el7.centos.x86_64.rpmwget https://download.cloudstack.org/centos7/4.11/cloudstack-common-4.11.1.0-1.el7.centos.x86_64.rpmyum groupinstall "Development Tools" -yyum remove java-1.8.0-openjdk-devel.x86_64 genisoimage ws-commons-util MySQL-python createrepoyum install -y java-1.8.0-openjdk-devel.x86_64 genisoimage ws-commons-util MySQL-python createrepoyum remove qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utilsyum install -y qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utilsyum localinstall -y cloudstack-agent-4.11.1.0-1.el7.centos.x86_64.rpm cloudstack-common-4.11.1.0-1.el7.centos.x86_64.rpm

  我们需要编辑QEMU VNC配置。编辑/etc/libvirt/qemu.conf并确保以下行存在并取消注释来完成。

vim /etc/libvirt/qemu.confvnc_listen=0.0.0.0或者也可以使用sed命令完成sed -i "s#\#vnc_listen = \"0.0.0.0\"#vnc_listen = \"0.0.0.0\"#g" /etc/libvirt/qemu.conf

  为了实时迁移工作,libvirt必须监听不安全的TCP连接。我们还需要关闭libvirts尝试使用多播DNS广告。这两个设置都在/etc/libvirt/libvirtd.conf中

cat <
> /etc/libvirt/libvirtd.conflisten_tls = 0listen_tcp = 1tcp_port = "16059"auth_tcp = "none"mdns_adv = 0EOF

  在libvirtd.conf中打开“listen_tcp”是不够的,我们还要更改参数,我们还需要修改/etc/sysconfig/libvirtd:

取消注释以下行:

#LIBVIRTD_ARGS="--listen" 修改为LIBVIRTD_ARGS="--listen"systemctl enable libvirtd && systemctl restart libvirtd

  libvirtd程序是libvirt的虚拟化管理系统的服务器端守护组件。此守护程序在主机服务器上运行,并为虚拟客户机执行所需的管理任务。这包括诸如在主机服务器之间启动,停止和迁移guest虚拟机,配置和操作网络以及管理存储以供guest虚拟机使用等活动。

libvirt客户端库和实用程序连接到此守护程序以发出任务并收集有关主机系统和guest虚拟机的配置和资源的信息。

  KVM配置完成为了完整起见,您应该检查KVM是否在您的计算机上运行正常:

[root@cloudstack-node6 ~]# lsmod | grep kvmkvm_intel             170086  9kvm                   566340  1 kvm_intelirqbypass              13503  9 kvm

关于《CloudStack 私有云平台的搭建和维护》未完待续,请持续关注

推荐关注我的个人微信公众号 “云时代IT运维”,周期性更新最新的应用运维类技术文档。关注虚拟化和容器技术、CI/CD、自动化运维等最新前沿运维技术和趋势;

私有云平台CloudStack V4.11安装和配置连载1

转载于:https://blog.51cto.com/zgui2000/2365586

你可能感兴趣的文章
Python:基础知识(二)
查看>>
EntityViewInfo包含了FilterInfo(过滤)、Selector(指定属性)以及Sorter(排序)
查看>>
hdfs的shell命令
查看>>
配置vue-devtools调试工具
查看>>
【酷熊科技】工作积累 ----------- Unity3D button 回调事件
查看>>
程序员修炼之道读后感2
查看>>
几个常见移动平台浏览器的User-Agent
查看>>
IOS 数据存储之 FMDB 详解
查看>>
纯数学教程 Page 324 正项级数绝对收敛的一种判别法
查看>>
关于键保留表的一些汇总
查看>>
python全栈开发 * 29知识点汇总 * 180712
查看>>
电源磁珠选择
查看>>
Android线控的使用
查看>>
《C陷阱与缺陷》阅读笔记(个人版)
查看>>
项目管理过程 (1)
查看>>
hdu 3033
查看>>
Redis (windows)安装
查看>>
Axure基础操作
查看>>
<转>boost 1.53 and STLPort build binary for windows
查看>>
洛谷 P1736 创意吃鱼法 Label:dp || 前缀和
查看>>