目标

搭建一个完整的基于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. iOS开发RunTime之函数调用

    文章来自小笨狼的iOS博客,一直认为csdn的博客UI不太好看,看博客不太爽.所以自己搭建了一个博客. 欢迎各位去链接中看我的博客.也欢迎大家加QQ群讨论iOS技术问题 经过两个多月的面试,工作最终尘 ...

  2. 梳理一下uboot是如何从nandflash挂载文件系统的

    只是找到了比较一点点的线索, 如下: 首先要有的概念是,内核在挂载文件系统之前,自己会做一个虚拟fs. 1. Uboot:从flash启动set bootcmd nand read 0x3000000 ...

  3. c语言: Standard C 语言标准函数库

    Standard C 语言标准函数库速查 (Cheat Sheet) http://ganquan.info/standard-c/ c语言标准头: <assert.h> 断言 <c ...

  4. C# 中 双问号??的用法

    int? x = null;int y = x ?? -1; 这里的y不能为null,但是等于x,x为null时赋值给y会报错.?? 可以在x==null时对y赋值-1 更多相关资料:https:// ...

  5. 关于innodb purge thread和master thread

    由innodb_purge_threads控制purge线程数. (>= 5.6.5)的版本号中该值默觉得1.最大值为32.默认值1表示innodb的purge操作被分离到purge线程中,ma ...

  6. 操作系统的页面置换C++算法:OPT FIFO LRU CLOCK 计算缺页率

    暴力直接上代码,主要是用了vector来实现,有些方法比較费时,不太好,请各位大神斧正.这是个人的作业,  这是代码下载页http://download.csdn.net/detail/l631068 ...

  7. Hibernate持久化对象状态

    在Hibernate中,持久化对象再被操作过程中分为三个时期.这三个时期和session周期相关. 各自是瞬时(Transient),持久太(persistent)和游离态(Detached) 瞬时状 ...

  8. c# in depth之泛型的类型约束详细

    类型约束 1.引用类型约束 这种约束(表示成T:class,必须是为类型参数指定的第一个约束)用于确保使用的类型实参是引用类型,这可能是任何类,接口,数组,委托或者已知是引用类型的另一个类型参数. 例 ...

  9. hdu 4687 带花树匹配

    其实吧,思路挺简单的,只不过昨天刚学,还有一些东西不太了解,然后就23333333... 吃晚饭回来就A了,我是有多傻啊,这么题都A不掉,不能忍啊... 我们可以先求出哪些边是可能存在于最大匹配中的, ...

  10. js与DOM初步:访问html元素

    1.DOM简介 DOM= Document Object Model,文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构.换句话说,这是表示和处理一个HTML或XML文 ...