• 搭建一台安装了XenServer的服务器
  • 搭建一台安装了CloudStack的服务器用以管理云平台
  • 可以使用CloudStack云平台进行虚拟机管理
  • 使用远程桌面访问windows虚拟机
由于最近实验室要搭建cloudstack+xenserver环境,先写出这个配置文档,以便后期查阅,文章后面我会给出一个shell脚本安装cloudstack (*^__^*) 嘻嘻……
安装cloudstack的那台机器安装的操作系统为centos6.3 desktop版本,xenserver安装的是xenserver6.0.2版,因为根据官方文档指示,目前cloudstack4.2只支持到6.0.2版本的xenserver。(注意所有的机器的主机名要有统一的后缀,比如cloudstack.cloud.priv,Xenserver.cloud.priv)

一、
首先要做的是先安装centos,然后配置官方的repo,把/etc/yum.conf文件的里的keepcache设置为1,用于保存下载下来的rpm包,以后用来创建本地源,接下来,按照官方文档上写的一步一步安装下去,此部分主要是把rpm包保存下来。

二、
在centos上开启web服务
service httpd start
切换到/var/www/html/目录下,mkdir my_repo ;切换到/var/cache/yum/x86_64/6/使用如下命令把保存下来的rpm包找到并放到my_repo下
find . -name "*.rpm" |xargs -I{} cp {} /var/www/html/my_repo/
在my_repo下使用createrepo命令,创建本地源。编写my.repo文件如下:
[my]
name=cs
baseurl=http://10.10.10.12/my_repo
enabled=1
gpgcheck=0
其中10.10.10.12是本地web服务的ip地址,该文件放置于/etc/yum.repos.d/目录下

三、

yum makecache
yum install -y cloudstack-management
在makecache之前,若是无网络的情况下,最好删掉/etc/yum.repos.d/目录下的所有的repo文件,防止yum重新尝试从网络上获取rpm
下载vhd-util
点击打开链接这步是xenserver必须做的一步,切记切记 !拷贝 vhd-util 到 /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver

四、
yum install mysql-server

安装mysql-server,并修改/etc/my.cnf为如下(注意红色字体,别放到别的地方):

[mysqld]
datadir=/var/lib/mysql


innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid


然后执行
service mysqld start

五、

下面处理有关linux安全机制的问题,防止cloudstack被阻挡——关闭selinux
修改 /etc/selinux/config
使得

SELINUX=enforcing
成为

SELINUX=permissive

然后临时的修改并立即生效:

setenforce permissive
创建cloudstack的mysql数据库表:
cloudstack-setup-databases cloud:123456@localhost --deploy-as=root
配置cloudstack:
cloudstack-setup-management
注意此步会自动打开iptables,如防火墙策略还没有写 清楚,切记关 闭防火墙
六、设置nfs服务
mkdir -p /export/primary
mkdir -p /export/secondary
yum install -y nfs-utils
然后修改/etc/export文件
如下:
/export *(rw,async,no_root_squash,no_subtree_check)

然后执行:

exportfs -a

修改文件/etc/sysconfig/nfs, 把 下列注释的部分去 掉

LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020

修改/etc/idmapd.conf其中的Domain,使得集群中的所有机器的Domain相同

我们修改成了cloud.priv
然后重启服务
service rpcbind start
service nfs start
chkconfig nfs on
chkconfig rpcbind on

七、

安装模板,可以事先从外网上下载,然后再放在我们的http服务器上,从本地的web服务上下载

/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary -u http://10.10.10.12/systemvmtemplate-2013-07-12-master-xen.vhd.bz2 -h xenserver -F
其中10.10.10.12为本地web服务器IP,然后这里的/export/secondary即二级存储目的,这个目录一定要是刚才我们nfs上的路径,待会在配置cloudstack时需要配置这个路径,方便cloudstack的两个的诞生虚拟机从模板产生,即SSVM和CPVM
八、配置cloudstack
service cloudstack-management start

后即可从http://10.10.10.12:8080/client打开cloudstack的UI界面

不要着着急打开这个web页面,可使用tailf  /var/log/cloudstack/management/managemet-server.log 打开,直到Notifying mangement server join event took 。。。。这行显示,才能打开web界面并进入。
用户名和密码分别为admin和password

选择已经使用过cloudstack


点击全局设置
搜索secs并回车



找到secstorage.allowed.internal.sites这个选项,把值写入10.10.10.0/24,这表示允许子网为10.10.10.*的ip访问二级存储
继续搜索system.vm


修改system.vm.use.local.storage,使得false为true,这个表示,允许使用xenserver本地的存储作为虚拟机的硬盘,因为在一台主机安装完xenserver后,发现其“巨大”的磁盘空间可使用量为0,全部被xenserver隐藏了,为了不浪费空间,我们允许使用本地硬盘,这样也能减轻虚拟机硬盘使用nfs所产生的网络负载。
接下来,
service cloudstack-managment restart

重启cloudstack服务


还是选择已经使用过cloudstack,然后点基础架构,选择区域的查看全部,选择添加新的区域


然后next,选择dns设置为8.8.8.8(公网的话),若是内网,这会在后面会产生问题,后面再提~~


一定要选择一起用本地存储!!!
网络部分直接next
然后转到这里:


提供点的意思即xenserver主机的ip地址范围,这些ip将用作host主机的ip范围
下面是来宾网络:



这个来宾网络的意思即虚拟机将要使用的ip范围.
集群名称随便写个就好了


下面添加主机


这里10.10.10.181即一台已经安装了xenserver的主机,它的ip为181,此外主机名称为xenserver.cloud.priv,还有修改了/etc/hosts,加入了cloudstack管理节点的ip
10.10.10.12 cloudstack.cloud.priv

还要修改/etc/idmapd.conf,同样把Domain改为cloud.priv

下面进入二级存储的选择

这里选择nfs,然后nfs服务器即前面写的cloudstack管理节点作为nfs服务,我们知道前面的/export/secondary目录里已经下好了虚拟机的模板,就那条很长很长的命令~
最好在选择next前,先在机器上用
mount -t nfs 10.10.10.12:/export/secondary /mnt

试试看,能不能重新mount,若出错,则重新配置10.10.10.12的nfs服务,看是否是服务没有重启

下面launch~~


已经完成了所有的步骤~:


选择“是”~
在控制板的选项下,能够看见,已经有内存被使用,还有1Ghz的cpu被使用,是因为SSVM和CPVM正在被启动呢~
还在基础架构里能够看见有两个虚拟机的状态:



等待两个虚拟机的状态为“up”状态:


现在就可以上传iso镜像了
点击模板按钮:
在选择视图里选择ISO


选择注册iso


注意在确定前,尝试下这个url是否正确
查看iso状态能看到正在被下载


如果状态一直为空,请检查防火墙设置,或者直接关闭防火墙,重启SSVM虚拟机
直到iso状态为就绪


下面新建我们的虚拟机服务方案


选择存储类型为local,注意cpu主频务必要低于xenserver主机的单核cpu主频大小,不然创建虚拟机时失败
下面添加实例:









点击launch实例
虚拟机正在creating~稍等后,就会转变为Running状态,这时就可以通过web界面打开这个虚拟机了




在内网状态下,会报这样的问题:
这是由于dns服务器没有响应的缘故,要么配置自己内部集群的dns服务器,通过解析*-*-*-*.realhostip.com成为*.*.*.*即可解决这个问题,但是这么做比较麻烦
可以简单地通过修改hosts文件把10-10-10-202.realhostip.com映射为10.10.10.202即可解决问题


重新刷新界面就好了


下面安装windows xp的步骤和配置远程桌面的部分就不再赘述了,如果出现web界面刷不出来的情况,不要紧张,重启下CPVM就好了,这个web界面用的不多,安装完操作系统,直接远程登陆就好了,这个web界面的响应速度还是不能恭维的。
接下来,我们还需要修改一个安全组的策略,才能顺利的于虚拟机进行tcp/udp/icmp通信。
在网络里选择安全组:


修改default的入口规则和出口规则,如下图所示(出口规则与入口规则同样):




我们安装好xp后,即可查看它的ip


而这个ip,我们也能从虚拟机的信息中得到
在nic这个tab中,我们能看到cloudstack给这台虚拟机分配了地址203


下面我们远程登录试试,这应该是最常用的方式了~


点击确定,即可以进入10.10.10.203的桌面,这个时候,一点也不卡了~~


配置的过程到此结束~。

九、
配置cloudstack的安装脚本install.sh,适用于centos6.3
#!/bin/sh
IP=10.10.10.12
\rm my.repo
touch my.repo
echo "[my]" >> my.repo
echo "name=cs" >> my.repo
echo "baseurl=http://$IP/my_repo" >> my.repo
echo "enabled=1" >> my.repo
echo "gpgcheck=0" >> my.repo
\cp ./config /etc/selinux/config
setenforce permissive
\rm /etc/yum.repos.d/*.repo
\cp my.repo /etc/yum.repos.d/
\cp -r ./my_repo /var/www/html/
\cp ./systemvmtemplate-2013-07-12-master-xen.vhd.bz2 /var/www/html/systemvmtemplate-2013-07-12-master-xen.vhd.bz2
\cp ./*.iso /var/www/html/
service httpd start
yum makecache
yum install -y cloudstack-management
\cp ./vhd-util /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/
chmod 777 /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/vhd-util
yum install -y mysql-server
\cp ./my.cnf /etc/my.cnf
service mysqld restart
cloudstack-setup-databases cloud:123456@localhost --deploy-as=root
cloudstack-setup-management
service iptables stop
yum install -y nfs-utils
mkdir -p /export/primary
mkdir -p /export/secondary
\cp ./exports /etc/exports
exportfs -a
\cp ./nfs /etc/sysconfig/nfs
service iptables stop
\cp ./idmapd.conf /etc/idmapd.conf
service rpcbind start
service nfs start
chkconfig nfs on
chkconfig rpcbind on
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary/ -u http://$IP/systemvmtemplate-2013-07-12-master-xen.vhd.bz2 -h xenserver -F
service iptables stop

注意这里的相关文件要预先写好,方便覆盖系统的本来配置文件



cloudstack4.2+xenserver6.0.2 详细配置攻略的更多相关文章

  1. linux下安装apache与php;Apache+PHP+MySQL配置攻略

    1.apache   在如下页面下载apache的for Linux 的源码包    http://www.apache.org/dist/httpd/;   存至/home/xx目录,xx是自建文件 ...

  2. GitHub超详细图文攻略

    GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git 分类: 转载2014-03-25 21:10 10641人阅读 评论(2) 收藏 举报 GitHubbr ...

  3. Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)

    http://my.phirobot.com/blog/2014-02-opencv_configuration_in_vs.html 2012年4月给同学写了篇傻瓜式的 VS2010+Opencv- ...

  4. DNS 和 IPv6 配置攻略

    Windows 2003 DNS配置攻略 http://lgzeng2360.blog.51cto.com/275998/161908/ http://ask.zol.com.cn/q/21861.h ...

  5. HDFS Federation客户端(viewfs)配置攻略

    转自:http://dongxicheng.org/hadoop-hdfs/hdfs-federation-viewfs/ 1. HDFS Federation产生背景 在Hadoop 1.0中,HD ...

  6. Kaggle大牛小姐姐自述:我是怎么成为竞赛中Top 0.3%的 | 干货攻略

    天天跟数据打交道的研究人员,都有一个成为Kaggle顶级大师(Grandmaster)的梦想. 但每年的Kaggle参赛团队众多,通常一个项目都有数千人至上万人报名,如何在其中脱颖而出? 最近,自动化 ...

  7. Intelligencia.UrlRewriter在IIS 7.0下的完全配置攻略

    在项目中,之前公司是使用IIS 7.0官方的URL重写模块,官方的使用说明请参见官方URLRewrite  ,添加伪静态支持,后来经理问我有没有涉及伪静态,我说之前项目中我一直是用Intelligen ...

  8. java+eclipse+tomcat+mysql+jdbc——完美配置攻略

    说明: 软件均采用最新版本,请大家详细阅读,注意每个细节,无需分门别类的百度各种教程,配置java环境这一篇就够了. 所需软件及版本(参考): java8; - jdk1.8.0_60; - jre1 ...

  9. GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

    最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮 ...

随机推荐

  1. 【笨嘴拙舌WINDOWS】伟大的变革

    "改革"."革命"."变革" 这几个词语毫无疑问是每一个时代必须被呼吁的词语,当一个国家没有人求变时,那是一个时代的悲剧.无论是文景之治,贞 ...

  2. ASP.NET 共用类库1

    using System; using System.Collections.Generic; using System.Text; using System.Web; using System.We ...

  3. uvalive 4255 Guess(拓扑排序)

    算好题目,反正我没想到可以用图论做(虽然现在做的是图论专题= =) 首先是要把求每个位置上的值转化为求 “前缀和之差”,这是一个很有用的技巧 其次,由输入的(n+(n-1)+...+2+1)个符号,可 ...

  4. Cocoa Touch(一)开发基础:Xcode概念、目录结构、设计模式、代码风格

    Xcode相关概念: 概念:project 指一个项目,该项目会负责管理软件产品的全部源代码文件.全部资源文件.相关配置,一个Project可以包含多个Target. 概念:target 一个targ ...

  5. validate.plugin.js 验证插件

    /*编写时间:2015-6-4*/ (function ($) { $.fn.isValidate = function (obj) { if ($(this).val()!="" ...

  6. [转] “error LNK2019: 无法解析的外部符号”之分析

    HiLoveS原文“error LNK2019: 无法解析的外部符号”之分析 最近在用VS 2008开发,初学遇到不少问题,最头疼的问题之一就是:LNK2019. 百度一下讲的并不够全面,反正都没解决 ...

  7. 网站sqlserver提权操作

    在入侵过程中,得到SQLserver的权限,想进一步得到system权限的方法总结 *************************** 利用xp_cmdshell **************** ...

  8. The Bookcase

    题意: 有n本宽w高h的书,向三层书架上放,每层不能为空,求占用的整体的最小面积(总高度*三层中最宽的) 分析: 不太好想,dp[i][j]表示第一层宽度为i第二层为j放的最小高度 dp[i][j]= ...

  9. cocos2d CCLayer 触摸相关

    要让一个  CCLayer 能够接受触摸输入  需要进行如下设置: [selfsetTouchEnabled:YES]; cocos2d-x提供了两种触摸事件处理机制, 分别是CCStandardTo ...

  10. html在图片上实现下雨效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...