目标

搭建一个完整的基于XenServer和CloudStack的虚拟化平台,提供IaaS服务。

  • 搭建三台安装了XenServer的服务器
  • 搭建一台安装了CloudStack的服务器用以管理云平台
  • 搭建一个NFS服务器负责进行存储工作
  • 可以使用CloudStack云平台进行虚拟机管理

先期准备

服务器准备

  • 三台服务器安装XenServer
  • 一台安装CentOS和CloudStack进行管理
  • 一台安装CentOS和NFS服务负责存储
  • 一台HTTP服务器公共,用来进行模板,iso下载等支持

需要准备的各种安装包

然后使用工具软件将iso文件刻录成光盘或者启动U盘。

环境准备

IP地址分配:

机器名: XS1 系统:XenServer IP地址:192.168.100.61
机器名: XS2 系统:XenServer IP地址:192.168.100.62
机器名: XS3 系统:XenServer IP地址:192.168.100.63
机器名: NFS 系统:CentOS6.2 IP地址:192.168.100.64
机器名: MGR 系统:CentOS6.2 IP地址:192.168.100.65

虚拟机地址分配:

虚拟机地址分配池使用192.168.7.X地址段

安装NFS服务器

安装操作系统

安装CentOS操作系统到服务器,插入光盘,选择默认安装。

配置服务器名称

默认的服务器名为localhost,可以修改/etc/hosts文件来更换服务器名。将etc/hosts添加下面的语句

192.168.100.64 nfs
12.0.0.1 localhost nfs

配置服务器的SELinux

SELinux是一个linux下的安全模块,具体说明见这里,我们这里需要将SELinux打开,需要执行如下指令。

setenforce permissive

为确保其持久生效需更改配置文件/etc/selinux/config,设置为permissive,修改或添加配置文件的内容,添加上下面两句话。

SELINUX=permissive
SELINUXTYPE=targeted

安装NTP服务

NTP服务是一个时间服务,最好所有服务器都有个统一的时间管理,所以需要安装NTP服务。

yum install ntp
service ntpd start

配置NFS服务

首先,安装NFS服务

yum install nfs-utils

建立挂载点目录。使用root建立,为了方便,讲目录权限设置为777

mkdir /primary
mkdir /secondary

修改/etc/exports文件,建立挂载点信息,在文件中添加如下两行

/primary *(rw,async,norootsquash)
/secondary *(rw,async,norootsquash)

配置防火墙信息,允许NFS访问权限,修改/etc/sysconfig/iptables,添加如下内容

-A INPUT -s 192.168.100.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 32803 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p udp --dport 32769 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 892 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p udp --dport 892 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 875 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p udp --dport 875 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -m state --state NEW -p udp --dport 662 -j ACCEPT

重启防火墙

service iptables restart

配置NFS为开机自启动

service rpcbind start
service nfs start
chkconfig rpcbind on
chkconfig nfs on

至此,NFS服务器已经配置完成,可以使用mount命令检查是否配置成功,最好使用其他机器进行测试,来保证防火墙是否配置成功,用另外一台连接到一个局域网下的Linux机器,在命令行输入:

mount -t nfs 192.168.0.24:/primary /mnt/primary

如果挂载成功表示NFS配置完成。

安装CloudStack服务器

操作系统安装

将一台服务器安装成CloudStack管理服务器,首先也要安装CentOS操作系统,和NFS一样,操作系统安装默认安装即可。

安装完操作系统以后同样要按照NFS服务器的方式设置一下IP地址和HOSTNAME以及SELinux配置。

安装CloudStack

解压缩安装包

tar zxvf CloudStack-oss-3.0.2-1-rhel6.2.tar.gz

安装数据库

使用./install.sh的D选项自动安装mysql数据库,安装完成以后,可以更改数据库配置/etc/my.cnf文件,添加以下内容

innodbrollbackontimeout=1 
innodblockwaittimeout=600 
max_connections=350 
log-bin=mysql-bin 
binlog-format = 'ROW'

启动数据库

service mysqld restart

配置防火墙,编辑/etc/sysconfig/iptables,添加

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

重启iptables服务

service iptables restart

安装管理平台

执行./install.sh的M,安装管理平台。

初始化数据库

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

配置管理服务器

cloud-setup-mangament

至此,管理服务器安装完成。

安装XenServer虚拟机

XenServer虚拟机安装较为简单,按照步骤进行安装即可,注意虚拟机的服务器名,IP地址之类的选择我们之前约定好的服务器名和IP地址。

搭建自己的XenServer+CloudStack云平台,提供IaaS服务(一)环境搭建的更多相关文章

  1. 阿里云ACE下的PHP开发环境搭建

    阿里云ACE下的PHP开发环境搭建 本系列文章由ex_net(张建波)编写.转载请注明出处. http://blog.csdn.net/ex_net/article/details/23999053 ...

  2. 阿里云服务器SQLSERVER 2019 远程服务器环境搭建【原创】【转载请注明出处】

    之前做过本地服务器SQLSERVER环境搭建.局域网环境SQLSERVER搭建.一直没有尝试自己完成一个云端服务器的环境搭建.今天就根据一个成功的例子给大家分享一下. 一.云端数据库安装与搭建 我的服 ...

  3. 大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建

    大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建 大数据应用之Windows平台Hbase客户端Eclipse环境搭建-Java版 作者:张子良 版权所有,转载请注明出处 引子 ...

  4. spring-oauth-server实践:客户端和服务端环境搭建

    客户端:http://localhost:8080/spring-oauth-client/index.jsp 服务端:http://localhost:8080/spring-oauth-serve ...

  5. Docker搭建STF私有移动测试云平台

    一. STF介绍 Smartphone Test Farm(简称STF)是一个web应用程序,主要用于从指定的浏览器中远程调试智能手机.智能手表等,可远程调试超过160多台设备.STF可以便捷的管理移 ...

  6. Django项目: 项目环境搭建 ---- 三、在码云平台创建项目&推送到码云上

    三.在码云平台创建项目 git服务平台: 主要使用github(最主流) 国内访问速度慢 托管私有项目收费 国内一般使用码云gitee 国内访问速度快 托管私有项目免费(限制开发人数) 公司中使用gi ...

  7. 用JavaScript访问SAP云平台上的服务遇到跨域问题该怎么办

    关于JavaScript的跨域问题(Cross Domain)的讨论, 网上有太多的资源了.国内的程序猿写了非常多的优秀文章,Jerry这里就不再重复了. 直入主题,最近我正在做一个原型开发:通过SA ...

  8. Android中直播视频技术探究之---视频直播服务端环境搭建(Nginx+RTMP)

    一.前言 前面介绍了Android中视频直播中的一个重要类ByteBuffer,不了解的同学可以 点击查看 到这里开始,我们开始动手开发了,因为我们后续肯定是需要直播视频功能,然后把视频推流到服务端, ...

  9. Vue + Spring Boot从零开始搭建个人网站(一) 之 项目前端Vue.js环境搭建

    前言: 最近在考虑搭建个人网站,想了想决定采用前后端分离模式 前端使用Vue,负责接收数据 后端使用Spring Boot,负责提供前端需要的API 就这样开启了我边学习边实践之旅 Vue环境搭建步骤 ...

随机推荐

  1. hdu 2546 饭卡 01背包

    先将前n-1个从小到大排序.对m-5进行01背包.然后答案就是m-dp[m-5]-a[n-1] 至于为什么最后减去最贵的菜品,而不是把最贵的菜品也放到01背包里呢, 由于假设能够把最贵菜品a[n-1] ...

  2. 将表中null值替换成想要的值、查询某一列值为null

    用到ISNULL()函数 例如:SELECT 其他列名,ISNULL(列名,替换值)as 重命名  from 表名 (简单参考:http://www.cnblogs.com/netsa/archive ...

  3. ADO.NET 1创建连接、执行命令

    一无参构造函数的形式: 创建连接.创建命令.执行命令: string connstr = @"server=.;database=TestDataBase;uid=sa;pwd=130988 ...

  4. 基于visual Studio2013解决C语言竞赛题之1035最大数

          题目 解决代码及点评 /* 35. 用随机函数求出10组三位正整数,每组十个数, 调用一函数打印出每组数,并编一函数求出每组中的最大数. */ #include & ...

  5. 纯CSS设置Checkbox复选框控件的样式

    Checkbox复选框是一个可能每一个网站都在使用的HTML元素,但大多数人并不给它们设置样式,所以在绝大多数网站它们看起来是一样的.为什么不把你的网站中的Checkbox设置一个与众不同的样式,甚至 ...

  6. MSSQL、C# 、Winform、ASP.NET - 数据库备份与还原模块

    数据库备份还原类: using System; using System.Collections.Generic; using System.Linq; using System.Text; usin ...

  7. .Net有许多Office,PDF,Email,HTML的控件

    比如: Aspose.Total for .NET includes the following components: Aspose.Words for .NET 16.3.0 (4/13/2016 ...

  8. 编译mapnik(win7 环境下vs2008编译mapnik 0.7.1 成功)

    编译mapnik(win7 环境下vs2008编译mapnik 0.7.1 成功) ------by  wangsh 2012.02.22 Mapnik 是一个开源的 Python/C++ 地图渲染引 ...

  9. boost::asio 连接管理11 如何关闭连接

    在实际产品运行中,对连接管理有了更新的认识,这里分享一下. shared_ptr管理连接对象的生命周期 shared_ptr的引用计数器决定了连接对象的生命周期.这里我说的连接对象就是在我的前文:ht ...

  10. 《Head First 设计模式》学习笔记——状态模式

    在软件开发过程中.应用程序可能会依据不同的情况作出不同的处理. 最直接的解决方式是将这些全部可能发生的情况全都考虑到.然后使用if... ellse语句来做状态推断来进行不同情况的处理. 可是对复杂状 ...