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

cloudstack4.0.1平台安装过程记录

借3/30技术沙龙实践日之际,在CloudStack4.0.1发布版本的基础上,从零开始部署了异构的Hypervisor(KVM,XenServer).本着分享的精神,在这里重新部署一遍并详细记录流程以方便日后自己和他人作为参照.用到的术语或缩写(知道的可直接跳过):术语/缩写全称

借3/30技术沙龙实践日之际, 在CloudStack 4.0.1发布版本的基础上,从零开始部署了异构的Hypervisor (KVM, XenServer). 本着分享的精神,在这里重新部署一遍并详细记录流程以方便日后自己和他人作为参照.

用到的术语或缩写 (知道的可直接跳过):

术语/缩写

全称

解释

MS

Management Server

CloudStack管理服务器

主存储

Primary Storage

虚机镜像的存储, 承担虚机实例的I/O操作, 要求性能比较好

二级存储

Secondary Storage

虚机快照, 模板或ISO安装镜像存储的区域, 承担一次写多次读的操作, 不要求很高的IOPS

根卷

Root Volume

虚机系统盘存储的卷, 比如Windows的系统盘(一般是C:盘), Linux的root(“/”)卷

数据卷

Data Volume

虚机数据盘存储的卷, 比如Windows的数据盘(比如,D:, E:盘), Linux下挂载的其它卷

系统虚拟机

System VM

CloudStack为完成特定功能而添加的虚机, Debian 6.0系统, 共有三种(SSVM, CPVM, vRouter)

SSVM

Secondary Storage VM

二级存储系统虚机,提供模板, ISO等到二级存储的上传下载

CPVM

Console Proxy VM

提供基于Web的到虚机控制台的VNC访问

vRouter

Vritual Router

又称DomR; 是CloudStack提供丰富网络功能的基础, 基于vRouter的网络功能有: DHCP, DNS, Port Forwarding, Static NAT, Source NAT, Load Balancing, Network Tier, VPN, s-2-s VPN等

Public Network

接入外部流量所走的网络, 这里的外部流量是相对的, 可以是internet或其它

Management Network

管理网络, 用于CloudStack对主机或系统虚拟机控制时走的流量

Guest Network

来宾网络的流量, 即虚拟机之间的网络流量

Stroage Network

二级存储系统虚拟机与二级存储之间的网络流量, 默认走管理网络

安装前的准备:

1. CloudStack安装文件

1> CentOS 6.3 x64 ISO文件, 建议选择一个中国的镜像站点下载: http://goo.gl/mWJ5Z

2> CloudStack 4.0.1 安装文件, 本次采用的安装包: http://goo.gl/WY90o

3> XenServer 6.0.201 ISO文件, 下载路径:http://goo.gl/4Ejip

2. 部署规划

3. 网络规划

Network

IP

CIDR

VLAN

Others

Public

172.16.206.133~139

172.16.206.0/24

access

10.10.70.30~50

10.10.70.0/24

access

Management

10.10.80.50~80

10.10.80.0/24

access

Guest

10.1.1.2~253

10.1.1.0/24

300 ~ 500

Storage

同Public

4. 节点及角色

Node

Role

IP

Office IP

System

Others

democs

ms/mysql

10.10.80.5

172.16.206.110

CentOS6.3 x64

安装ntp服务器

demostorage

主存储/二级存储

10.10.80.6

172.16.206.39

CentOS6.3 x64

安装http服务器

demokvm1

kvm

10.10.80.7

CentOS6.3 x64

demokvm2

kvm

10.10.80.8

CentOS6.3 x64

demoxs1

xenserver

10.10.80.9

XenServer 6.0.2

demoxs2

xenserver

10.10.80.10

XenServer 6.0.2

winbridge

win7

10.10.80.11

172.16.206.7

可选, 作为跳板机使用

各节点的安装及配置:

1. Storage安装及配置

Demo环境将使用NFS作为XenServer和KVM的主存储, 同时作为共同的二级存储, 使用iSCSI作为XenServer的另一个主存储

1.1 CentOS6.3 x64最小化安装 (硬件配置: 1CPU, 2G内存, 400G硬盘)

默认最小化安装即可, 设置root密码

1.2 配置本地DVD源

建立目录: /home/export/nfs 作为NFS共享的根路径 (默认安装后, /home挂载点空间最大)

新建/home/export/nfs/iso目录, 将CentOS 6.3 x64 两个ISO安装文件放置在此目录下 (请注意如何将ISO放置过来, 也可以直接mount过来, 这里假定你ISO有办法拷过来)

新建两个目录:

# mkdir /media/dvd1 /media/dvd2

配置yum本地DVD源:

 # cd /etc/yum.repos.d

      # mv CentOS-* ~

      # cp ~/CentOS-Media.repo dvd.repo

      # vi dvd.repo

 [c6-media]

      name=CentOS-$releasever ? Media

      baseurl=file:///media/dvd1/

        file:///media/dvd2/

      gpgcheck=0

      enabled=1

更新yum源缓存:

 # yum makecache

1.3 安装apache tomcat并配置

配置满足我们需求的http服务器再简单不过了:

# yum install httpd -y

配置apache tomcat:

 # vi /etc/httpd/conf/httpd.conf

      ServerName 10.10.80.6:80

      DocumentRoot “/var/www”

     

         Options Indexes FollowSymLinks Includes ExecCGI

         AllowOverride All

         Order allow,deny

         Allow from all

     

1.4 配置安全策略及防火墙

关闭selinux:

 # setenforce 0

      # sed -i s/SELINUX=enforcing/SELINUX=permissive/g /etc/selinux/config

配置防火墙添加相应规则, 注意添加的位置在第一条 “-A INPUT …” 之前:

# vi /etc/sysconfig/iptables

      -A INPUT -p tcp -m tcp ?dport 80 -j ACCEPT

      -A INPUT -p tcp -m tcp ?dport 3260 -j ACCEPT

      -A INPUT -m state ?state NEW -p udp ?dport 111 -j ACCEPT

      -A INPUT -m state ?state NEW -p tcp ?dport 111 -j ACCEPT

      -A INPUT -m state ?state NEW -p tcp ?dport 2049 -j ACCEPT

      -A INPUT -m state ?state NEW -p tcp ?dport 32803 -j ACCEPT

      -A INPUT -m state ?state NEW -p udp ?dport 32769 -j ACCEPT

      -A INPUT -m state ?state NEW -p tcp ?dport 892 -j ACCEPT

      -A INPUT -m state ?state NEW -p udp ?dport 892 -j ACCEPT

      -A INPUT -m state ?state NEW -p tcp ?dport 875 -j ACCEPT

      -A INPUT -m state ?state NEW -p udp ?dport 875 -j ACCEPT

      -A INPUT -m state ?state NEW -p tcp ?dport 662 -j ACCEPT

      -A INPUT -m state ?state NEW -p udp ?dport 662 -j ACCEPT

1.5 安装配置NFS工具

# yum install nfs-utils -y

      # yum install rpcbind -y

将下面文件的一些注释去掉

# vi /etc/sysconfig/nfs

        LOCKD_TCPPORT=32803

        LOCKD_UDPPORT=32769

        MOUNTD_PORT=892

        RQUOTAD_PORT=875

        STATD_PORT=662

        STATD_OUTGOING_PORT=2020

        RPCNFSDARGS=”-N 4″   # 对于KVM集群是必须的, 否则存储异常导致系统虚机无法启动

 # chkconfig nfs on

      # chkconfig rpcbind on

配置NFS服务及路径:

# echo “/home/export/nfs *(rw,async,no_root_squash)” >> /etc/exports

      # exportfs

      # service rpcbind restart

      # service nfs restart

1.6 将CentOS 6.3安装ISO文件拷贝到/home/export/nfs/iso下备用

1.7 安装配置iSCSI工具

暂略.

1.8 检查存储服务及http服务是否正常

2. MS安装及配置

2.1 CentOS 6.3 x64最小化安装 (硬件配置: 1CPU, 2G内存, 30G硬盘)

默认最小化安装即可, 设置root密码

2.2 配置本地DVD源

由于之前已设置好NFS存储服务并且CentOS安装ISO已在NFS路径下

这里需要做的操作:

 # mkdir /media/dvd1 /media/dvd2 /media/iso

      # mount -t nfs 10.10.80.6:/home/export/nfs/iso /media/iso

      # mount -o loop /media/iso/<>.iso /media/dvd1

      # mount -o loop /media/iso/<>.iso /media/dvd2

以下配置yum本地DVD源同1.2

2.3 安装本地NTP服务器

 # yum install ntp -y

      # vi /etc/ntp.conf

      server 10.10.80.5

      restrict default ignore

      restrict 10.10.80.0 mask 255.255.255.0 nomodify notrap

      # chkconfig ntp on

      # service ntp restart

2.4 配置安全策略及防火墙

selinux配置同1.4

防火墙配置规划, 注意添加位置在第一个”-A INPUT …”之前:

# vi /etc/sysconfig/iptables

       -A INPUT -p tcp ?dport 3306 -j ACCEPT

# service iptables restart

2.5 安装管理服务

解压cloudstack安装包至: /root/CloudStack-non-OSS-13

 # cd /root/CloudStack-non-OSS-13

       # ./install.sh

       >M

2.6 安装MySQL服务

# ./install.sh

       >D

2.7 设置DB root访问的密码为password

 #mysql

       mysql> set password=password(‘password’);

2.8 初始化CloudStack数据库, 创建cloud用户; DB的管理员我们创建cloud/cloud的账户, 其它保持默认

 # cloud-setup-databases cloud:cloud@localhost ?deploy-as=root:password

2.9 配置管理服务器服务并启动服务

 # cloud-setup-management

2.7 检查管理服务

 # service cloud-management status

       # tail -n 200 -f /var/log/cloud/management/managementserver.log

3. KVM安装及配置

3.1 CentOS6.3 x64最小化安装 (硬件配置: 4CPU, 4G内存, 20G硬盘)

3.2 配置本地DVD源

同2.2

3.3 配置安全策略及防火墙

selinux配置同1.4

防火墙配置规划, 注意添加位置在第一个”-A INPUT …”之前:

# vi /etc/sysconfig/iptables

      -A INPUT -p tcp -m tcp ?dport 22 -j ACCEPT

      -A INPUT -p tcp -m tcp ?dport 1798 -j ACCEPT

      -A INPUT -p tcp -m tcp ?dport 16509 -j ACCEPT

      -A INPUT -p tcp -m tcp ?dport 5900:6100 -j ACCEPT

      -A INPUT -p tcp -m tcp ?dport 49152:49216 -j ACCEPT

3.4 安装bridge工具

 # yum install bridge-utils

3.5 配置网络

cloudbr0: management, public及storage网络流量

cloudbr1: guest网络流量

3.5.1 配置hostname

# echo “10.10.80.7   kvm1 kvm1.cschina.org” >> /etc/hosts

            # vi /etc/sysconfig/Network

             HOSTNAME=kvm1.cschina.org

3.5.2 配置bridge

# cd /etc/sysconfig/network-scripts/; touch ifcfg-cloudbr0 ifcfg-cloudbr1

            # vi ifcfg-cloudbr0

            DEVICE=cloudbr0

            TYPE=Bridge

            BOOTPROTO=none

            OnBOOT=yes

            STP=yes

            DELAY=5

            IPV6INIT=no

            IPV6_AUTOCOnF=no

            IPADDR=10.10.80.7

            NETMASK=255.255.255.0

            GATEWAY=10.10.80.254

 

            # vi ifcfg-cloudbr1

            DEVICE=cloudbr1

            TYPE=Bridge

            BOOTPROTO=none

            OnBOOT=yes

            DELAY=5

            STP=yes

            IPV6INIT=no

            IPV6_AUTOCOnF=no

 

            # vi ifcfg-eth0

            DEVICE=eth0

            NM_COnTROLLED=yes

            OnBOOT=yes

            TYPE=Ethernet

            BRIDGE=cloudbr0

 

            # vi ifcfg-eth1

            DEVICE=eth1

            NM_COnTROLLED=yes

            OnBOOT=yes

            TYPE=Ethernet

            BRIDGE=cloudbr1

3.5.3 检查网络及bridge的配置:

# service network restart

           # brctl show

           bridge name  bridge id   STP enabled interfaces

           cloudbr0    8000.005056856a67 yes   eth0

           cloudbr1    8000.005056851eeb yes   eth1

3.6 配置cloudstack本地源

3.6.1 解压cloudstack 4.0.1 安装文件至: /root/CloudStack-non-OSS-13/

3.6.2 创建本地yum源

 # cd /etc/yum.repos.d/; touch cloudstack.repo

            # vi cloudstack.repo

            [cloudstack]

            name=cloudstack

            baseurl=file:///root/CloudStack-non-OSS-13/

            gpgcheck=0

            enabled=1

            # yum makecache

3.7 安装cloudstack agent

# yum install cloud-agent

3.8 安装配置libvirt

我们使用的是CentOS发行版的bridge, CloudStack要求 libvirt版本>=0.9.4, qemu可选; 上一步安装cloud-agent时, 想着依赖也已安装完毕.下面要对libvirt进行配置

# 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”

3.9 重启libvirtd服务

# service libvirtd restart

3.10 检查libvirt环境

# service libvirtd status

# virsh

#virsh -v

3.11 每一台kvm上重复上述步骤

4. XenServer安装及配置 (硬件配置: 4CPU, 4G内存, 20G硬盘)

4.1 安装XenServer 6.0.201 ISO

注意在安装XenServer过程中保持默认, 不要选择安装额外的包

4.2 配置管理网络

管理网络:

DHCP/Static: static

IP: 10.10.80.9

Netmask: 255.255.255.0

GW: 10.10.80.254

Hostname: xs1.cschina.org

NTP: enabled

4.3 配置NTP时间同步

NTP服务器: 10.10.80.5

4.4 配置网络流量标签

mgtpub:  management, public及storage网络流量

trunk: Guest网络流量

登入xenserver

 # ssh root@10.10.80.9

      # xe network-list

xenserver有两块物理网卡, 上述命令会显示xenbr0和xenbr1的网络UUID, 假设

uuid ( RO)                : 3489fa11-66ed-6a71-926b-5336d69c62ba

                    bridge ( RO): xenbr0

 

      uuid ( RO)                : eb734bff-750b-ecac-32b6-9490179f9d33

                    bridge ( RO): xenbr1

 

      # xe network-param-set name-label=mgtpub uuid=3489fa11-66ed-6a71-926b-5336d69c62ba

      # xe network-param-set name-label=guest uuid=eb734bff-750b-ecac-32b6-9490179f9d33

4.5 每一台xenserver重复上述步骤

5. 通过管理服务器添加资源域

5.1 通过浏览器访问管理服务器

 http://172.16.206.110:8080/client 或者 http://10.10.80.5:8080/client

5.2 更改全局配置

integration.api.port : 8096

       management.network.cidr : 10.10.80.0/24

       secstorage.allowed.internal.sites : 10.10.80.0/24

       host : 10.10.80.5

 

5.3 重启管理服务器服务

# service cloud-management restart

5.4 添加高级资源域

在同一个资源域, 机架下, 添加两个集群, 分别是XenServer和KVM的集群

5.4.1 在建立第一个高级资源域的时候添加第一个KVM集群

5.4.1.1 浏览器登入管理服务器

5.4.1.2 Infrastructure -> Zones -> Add Zone -> Advanced -> Next

5.4.1.3 Setup Zone

Name: advzone

DNS 1: 172.16.100.111

Internal DNS 1: 10.10.80.254

Hypervisor: KVM

Network Domain: cschina.org

Guest CIDR: 10.1.1.0/24

Public: Checked

Local Storage Enabled: Unchecked

5.4.1.4 Physical Network

5.4.1.5 Public Traffic

5.4.1.6 POD

Pod name: advpod

Reserved system gateway: 10.10.80.254

Reserved system netmask: 255.255.255.0

Start reserved system IP: 10.10.80.50

End Reserved system IP: 10.10.80.80

5.4.1.7 Guest Traffic

vlan range: 300 ~ 500

5.4.1.8 Cluster

Name: kvmcluster

5.4.1.9 Host

Host name: 10.10.80.7

username: root

password: password

Host tags: <无>

5.4.1.10 Add Primary Storage

name: kvmpri

protocol: nfs

Server: 10.10.80.6

Path: /home/export/nfs/kvmpri


推荐阅读
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 在日常生活中,支付宝已成为不可或缺的支付工具之一。本文将详细介绍如何通过支付宝实现免费提现,帮助用户更好地管理个人财务,避免不必要的手续费支出。 ... [详细]
  • 本文记录了在Windows 8.1系统环境下,使用IIS 8.5和Visual Studio 2013部署Orchard 1.7.2过程中遇到的问题及解决方案,包括503服务不可用错误和web.config配置错误。 ... [详细]
  • 本文介绍了一种方法,通过使用Python的ctypes库来调用C++代码。具体实例为实现一个简单的加法器,并详细说明了从编写C++代码到编译及最终在Python中调用的全过程。 ... [详细]
  • 高级缩放示例.就像谷歌地图一样.它仅缩放图块,但不缩放整个图像.因此,缩放的瓷砖占据了恒定的记忆,并且不会为大型缩放图像调整大小的图像.对于简化的缩放示例lookhere.在Win ... [详细]
author-avatar
舞倾城2010_217
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有