原文地址:http://zhu.vn/archives/1040

我这里是内网测试环境,宿主机为Server 2012R2 ,虚拟化技术为HYPER-V,域环境来的(不是域环境玩不了)。
先给宿主机安装上CS的Hyper-v代理先,这是最根本的根本.
下载http://jenkins.buildacloud.org/view/4.5/job/cloudstack-4.5-hyperv-agent/lastSuccessfulBuild/artifact/bin/cloudstack-4.5-200-hypervagent.zip
解压后随便丢到个目录,例如D:\Cloud 然后CMD 下运行AgentShell.exe –install 就会看到服务那里多出一个CloudStack Hyper-V Agent服务,并设置好登陆身份密码(我这里用的是SCVMM的账户).然后重启服务.

然后给8250端口,也就是hyper-v agent 的端口绑定个ssl 证书,我的环境内有CA服务,所以就不创建自签证书了.

复制内容到剪贴板

代码:

Get-Childitem Cert:\LocalMachine\My

华丽的分割线———- —————–
得到结果
EC64AE5D5F21622852117B06171598F805BE5A62 CN=DC01.GAMEDEV.COM
然后输入

复制内容到剪贴板

代码:

netsh
http add sslcert ipport=0.0.0.0:8250
certhash=EC64AE5D5F21622852117B06171598F805BE5A62
appid="{727beb1c-6e7c-49b2-8fbd-f03dbe481b08}"

完事!

接下来是CS VM的部署。
首先得安装一台CentOS 6.6 X64的VPS…….下载地址:http://mirrors.kernel.org/centos/6/isos/x86_64/CentOS-6.6-x86_64-minimal.iso
安装途中记得设定hostname,不然后头修改麻烦,我这里设置为:CloudStack.GameDev.com
IP:10.182.207.239 Mask:255.255.255.0 Gw:10.182.207.200 DNS:10.182.207.253(这是我内部的DNS服务器)
并在DNS上添加A记录CloudStack—->10.182.207.239
系统安装好后,ssh-输入hostname –fqdn 检查正确的输出结果,因为CS要求域名是xxx.xx.xx 形式的.

这时还需要设置SELINUX 为setenforce 0,直接在SSH命令行下输入即可,并修改配置文件/etc/selinux/config设置为permissive 使之永久生效.

为了同步云平台中主机的时间,需要配置NTP,但NTP默认没有安装。因此需要先安装NTP,然后进行配置。通过以下命令进行安装:

复制内容到剪贴板

代码:

yum install ntp

并配置CS的软件库,vi /etc/yum.repos.d/cloudstack.repo 键入以下信息并保存。

复制内容到剪贴板

代码:

[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/rhel/4.4/
enabled=1
gpgcheck=0

然后yum install cifs-utils 安装cifs,不然CS VM 无法链接到Windows SMB 共享存储.Windows 设置一个secondary的共享作为辅助存储.并把Hyper-v 设置那里的虚拟硬盘目录也得设置为共享,否则无法继续部署.

复制内容到剪贴板

代码:

PS C:\Users\Administrator> net share
共享名 资源 注解
----------------------------------------------------------------------
C$ C:\ 默认共享
D$ D:\ 默认共享
IPC$ 远程 IPC
Secondary D:\Hyper-V\Secondary
VHDX D:\Hyper-V\Virtual Hard Disks
命令成功完成。

CS创建一个辅助存储的挂载目录,并挂载之.因为要下载系统VM的虚拟磁盘文件.

复制内容到剪贴板

代码:

mkdir /secondary
mount -t cifs //10.182.207.253/Secondary /secondary -o username=share@gamedev.com

回车然后输入密码即可挂载OK。 接下来还需配置防火墙策略,允许客户端访问。

复制内容到剪贴板

代码:

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

将这些插入到-A INPUT -i lo -j ACCEPT 下面,千万别放到最后面了,然后重启iptabels服务,service iptables restart


安装MYSQL先

复制内容到剪贴板

代码:

yum -y install mysql-server

mysql安装完成之后需要修改/etc/my.cnf,添加内容如下

复制内容到剪贴板

代码:

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

然后重启下mysql服务,开始安装管理服务器

复制内容到剪贴板

代码:

yum -y install cloudstack-management

看到成功的 提示后,现在要开始初始化数据库.

复制内容到剪贴板

代码:

cloudstack-setup-databases cloud:你要设置的密码@localhost --deploy-as=root:你的root密码

当看到成功的提示后,执行配置管理服务器.SSH命令如下:

复制内容到剪贴板

代码:

cloudstack-setup-management

看到成功的提示后,现在开始下载系统VM模板.

复制内容到剪贴板

代码:

/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt
-m /secondary -u http://dc01/systemvm64template-4.5-hyperv.vhd -h
hyperv -F

因为我提前把系统模板下到内网了,所以直接这样即可。
系统模板下载地址:
点这里下载
下载后解压,然后丢到内网的IIS目录即可.千万可别直接替换以上命令的下载地址,我被坑过。
完事之后,把挂载取消,umount /secondary,否则等着ssh key 不对的问题出现吧。
现在CS安装完成了.开始设置基础架构了。
打开http://10.182.207.239:8080/client 输入默认的用户密码 admin,password 登入。 因为要使用本地存储,和下载内网的ISO镜像,所以要修改一下全局设置的参数.


则就等着ISO 无法下载报错吧。当然你下载外网的ISO 倒不用这么设置.然后根据提示重启。ssh
输入cloudstack-setup-management.
重启后登陆CS面板,基础架构-区域-添加区域,因为HYPERV的特殊性。故此只能选择高级配置模式,才能确保成功。

下一步,设置区域名称,DNS和虚拟机管理程序,并启用本地存储

继续下一步,
下面是设置公共IP地址池,CS是NAT模式的东东。如果部署在外网的话,就输入你的空闲外网IP吧.我这里是拿内网IP 当外网IP用,部署VM实例是分来宾网络的IP.如果有VLAN 就写上,没有的话就写0,不能不写。

下面是设置提供点,也就是系统VM 将分配的IP地址。如果有多个网卡的话建议使用专属内网IP段来设定.如果只有一块网卡,那么就设置和上面一样即可,图方便。

点下一步是设置来宾网络的VLAN ID,随便写个范围例如100-200即可然后继续下一步,设置群集名,名称随意即可,这里就不截图了。这里呢是设置宿主机链接信息............我是域环境...........so~

设置辅助存储咯~~我是用WINDOWS 的SMB 共享做的辅助存储~~

大功告成!顺利的话你会看到............有2个系统VM在运行了.........

然后添加服务方案,因为默认的服务方案使用的是共享存储我们需要添加个本地存储的服务方案...

这里要注意一点。首先,你的CPU MHZ 不能大于物理CPU的MHZ,否则是不会成功的.然后开始添加实例添加实例之前得先确认默认的CENTOS 模板是否下载完成.

下载完成后部署第一个实例,一路回车即可,顺利的话,你会看到虚拟路由器VM已经创建并启动接下来就能看到实例VM在运行ing了.

创建好后,默认情况下实例VM是不能上网的,得修改来宾网络的出口规则。

然后想访问实例VM 怎么访问捏~因为分配的是10.1.1.x 的IP用VLAN 隔离的....so~还得配置公共IP的防火墙策略,还有转发规则。

先设置允许外部可PING NAT源IP,并允许访问所有TCP端口。

再配置转发规则,这里是把实例VM的SSH 端口转发到公共IP上~不然没法访问的.

然后测试下~是否能PING了,是否能SSH了~

OK,基本的部署已结束,后续工作么,就是自己做系统模板神马的了,设置允许密码对接hostbill for cloudstack........ 等等xxxoxx...

CLOUDSTACK FOR HYPER-V的更多相关文章

  1. windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理

    windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理 今天在dell r710 上用windows server 2008 r2企业版hyper v 做虚拟化,添 ...

  2. 设置Hyper V

    1.打开服务器管理器 2.添加角色和功能 3.安装类型 -> 基于角色或基于功能的安装 4.服务器选择 -> 下一步 5.服务器角色 勾选"Hyper V"

  3. HYPER -V 独立安装的 2016版本 中文版 下载好慢啊

    HYPER -V 独立安装的 2016版本 中文版 下载好慢啊

  4. Hyper V NAT 网络设置 固定IP / DHCP

    Hyper V 默认的Default Switch同时支持了NAT网络以及DHCP,虚拟机能够访问外网. 但使用过程中发现这个IP网段经常变化,而且Hyper V没有提供管理其NAT网络与DHCP的图 ...

  5. HYPER V 文件共享 复制文件 共享硬盘 来宾服务

    虚拟机的设置   -->  集成服务 –> 来宾服务  勾选    文件就可以在本地机器和虚拟机上来回复制了. 他可让 Hyper-V 管理员在运行虚拟机的同时将文件复制到虚拟机,且无需使 ...

  6. win10自带虚拟机Hyper V联网

      在控制面板里打开程序和功能     打开启用或关闭windows 功能     勾选Hyper-V     在windows 管理工具打开Hyper-V 管理器   打开虚拟交换机管理器     ...

  7. 自带hyper -v 或者 Vmware安装Linux centos

    centos系统存在网盘,链接: https://pan.baidu.com/s/1A5ywyLjIegcftaT_xCvPbA 密码: n6v4 https://blog.csdn.net/nanc ...

  8. 在Windows 10 系统上启用Hyper V遇到的错误:0x800f0831

    Hyper-V是微软的一款虚拟化技术,是微软第一个采用类似Vmware和Citrix开源Xen一样的基于hypervisor的技术. 在Windows 10的powershell命令里,输入如下的命令 ...

  9. docker入门、LXC、windows container 和 Hyper知识基础、实用情况

    虚拟机与容器 很明显可以看出两者在操作系统级别上的隔离和进程上的隔离的区别,VM因为隔离级别更高明显更重. linux容器主要技术特点: 文件系统隔离:每个容器都有自己的root文件系统 进程隔离:每 ...

  10. 自己家里搭建NAS服务器有什么好方案?

    转自:https://www.zhihu.com/question/21359049 作者:陈二发链接:https://www.zhihu.com/question/21359049/answer/6 ...

随机推荐

  1. Vue.js(2.x)之Class 与 Style 绑定

    1.前面看数据绑定时还很困惑v-bind处理class时可以使用json格式的值,为什么换成id.href等其他属性就不行.看了下文档解释后明白了些: 2.对象语法主要有以下三种形式: 1)直接在v- ...

  2. 海海DRM视频保护解密流程分析

    环境及工具 手机    :小米手机 MI 2A 系统版本: Android 4.1.1 工具    : IDA pro 6.6 .C32Asm .VS2005 一:第一次打开加密视频会出现如下验证: ...

  3. [转]Tomcat日志详解

    Tomcat下相关的日志文件: 1.Cataline引擎的日志文件,文件名为catalina.{date}.log 2.Tomcat下内部代码丢出的日志,文件名为localhost.{date}.lo ...

  4. intellij idea中设置SVN插件教程

    1.选择VCS→Browser VCS Repository→Browse Subversion Repository 2.在弹出的SVN Repository菜单中,选择左上角的绿色“+”号,填写S ...

  5. Pylint 是什么

    Pylint 是什么 Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8,具体信息,请参阅参考 ...

  6. LeetCode OJ 3Sum 3个整数之和

    题意:给一个vector<int>容器,要求每当找到3个元素之和为0时就将这3个数按大小顺序记下来,用一个二维vector返回.也就是vector< vector<int> ...

  7. Linux运维工程师是什么鬼?

    第一部分:定义 运维工程师,字面理解运行维护. linux运维即linux运维工程师,集合网络.系统.数据库.开发.安全工作于一身的“复合性人才”.   除了传统IT运维部分,运维人员还是管理制度.规 ...

  8. python_35_进度条

    import sys for i in range(50): sys.stdout.write("+")#此命令不会像print语句执行一次,换行一次\ sys.stdout.fl ...

  9. USACO09FEB Fair Shuttle

    题目传送门 据说\(NOIp\)前发题解可以\(\mathfrak{RP}\)++ 因为要尽可能满足更多奶牛,所以按照这种区间贪心题的套路,先按右端点排序,然后依次遍历,能坐车的就让它们坐车,这样一定 ...

  10. 0.5px的边框

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...