Presentation is loading. Please wait.

Presentation is loading. Please wait.

基于XCP和puppet的虚拟化云平台建设

Similar presentations


Presentation on theme: "基于XCP和puppet的虚拟化云平台建设"— Presentation transcript:

1 基于XCP和puppet的虚拟化云平台建设
演讲人:刘 斌 Tel: 北二外图书馆技术部

2 主要概要: puppet介绍 XCP介绍 OVCP开源虚拟化云平台 OVCP高级内容 4 2 1 3 服务器虚拟化

3 0.服务器虚拟化 1959年,克里斯托弗在报告《大型高速计算机中的时间共 享》第一次提到虚拟化技术概念。
1965年,IBM公司第一次商业上实现了虚拟化。 1999年,VMware在X86平台上实现了虚拟化,并发布了 VMware Workstation。 2001年,VMware发布了VMware ESX server进入服务器 虚拟化市场。 1990年,由Keir和Ian Pratt等人在剑桥大学成立了Xenoserver研究项目。 2002年,Xen Hypervisor开源化。 2006年,Citrix公司获取Xen并发布了XenServer。 2009年,Xen.org发布Xen Cloud Platform(XCP)。

4 虚拟化带来了什么?

5 商用服务器虚拟化之三国争霸 60% 25% 6%

6 为什么需要开源服务器虚拟化? Xen开源虚拟化方案 VMware虚拟化方案 资金 性能功能 管理和维护 功能扩展 免费 价格较高
HVM和PVM性能都很高 缺乏迁移和HA等重要功能 方案很成熟,功能相当完善 但PVM性能不是很高 管理和维护 需要对xen虚拟化非常精通 的人才可以进行管理和维护 缺乏商业支持。 有商业支持,不需要精通虚 拟化了解即可管理和维护 功能扩展 开放源代码,开发人员可 以添加新的功能如支持加密 狗,OpenvSwitch等 很难进行功能扩展

7 OVCP虚拟化云平台解决方案 XCP BISU OVCP 开源虚拟化云平台 puppet Openfiler
OVCP:OpenSource Virtualization Cloud Platfrom 基于Xen开源虚拟化平台 商业的XenServer开源实现 XCP BISU OVCP 开源虚拟化云平台 puppet Openfiler 开源的服务器自动化部署和配置管理工具 开源的存储管理平台 可用于iscsi和NAS

8 1.XCP介绍 Xen Cloud Platform (简称XCP) 开源的企业级服务器虚拟化平台
源自Citrix XenServer, 由Xen.org维护 遵循GPL v2 协议 具有Resource Pool和Live Migration等高级特性

9 Xen的基本概念 Control Domain :Dom0 Dom0 kernel with drivers
Xen Management Toolstack Trusted Computing Base Guest Domains Your apps E.g. your cloud management stack Driver/Stub/Service Domain(s) A “driver, device model or control service in a box” De-privileged and isolated Lifetime: start, stop, kill

10 XCP云计算中应用

11 XCP vs Ctrix XenServer

12 XCP 历史版本比较

13 XCP源码及源程序

14 2.puppet介绍 什么是puppet 数据中心自动化配置和管理软件 可用于管理Linux、Unix、Mac和Windows
遵循GPL v2 协议* (2.7.0), 基于ruby 语言开发 简单易懂的语言表达系统,用库实现配置 基于C/S架构,配置客户端和服务端,也可以独立运行 puppet 对于系统管理员是抽象,只依赖于ruby与facter. *注:2.7.0以后遵循Apache2.0协议 成功案例 2007年,goole使用puppet管理超过6000台mac电脑 开源社区Fedora使用puppet管理服务器 国内外各大知名IT企业逐步从cfengine转移到puppet上 facter是获取puppet管理的主机信息的系统分析工具

15 puppet整体架构 puppet服务器保存着所有对客户端服务器的配置代码,在puppet里叫manifest,客户端下载之后,可以根据manifest对服务器进行配置, 例如软件包管理,用户管理和文件管理等。 puppet可以用来管理文件、服务、软件包、用户、组、计划任务crontab、SSH密钥、Nagios配置

16 puppet master 目录结构

17 puppet的语法 puppet使用ruby编写,语法上也与ruby类似
e.g. 安装gcc和make e.g. 创建文件test 编写manifest文件/tmp/1.pp 执行puppet /tmp/1.pp 执行结果 1、/tmp目录下生成test文件 2、安装gcc,make软件包

18 puppet基于web管理工具Dashboard

19 puppet开源版和企业版对比 开源版 企业版 用户图形接口 内置Ec2模块 内置Vmware vms 配置管理-发现和克隆
配置管理-操作系统 配置管理-用户账户管理 管理应用 内置300+模块 统一跨平台组件安装 自动配置审记,依赖包在一个目录下 业务流程自动化 网络技术社区支持 7*24 小时技术支持,平滑升级和维护支持

20 3.OVCP开源虚拟化云平台 XCP BISU OVCP 开源虚拟化云平台 puppet Openfiler
OVCP (OpenSource Virtualization Cloud Platfrom) 完全基于开源软件建设的虚拟化云平台。 基于Xen开源虚拟化平台 XenServer开源版本 XCP BISU OVCP 开源虚拟化云平台 puppet Openfiler 开源的服务器自动化配置和管理工具 开源的存储管理平台 SAN和NAS开源实现 遵循GPLv2协议开源 可升级为商业版本 产品成熟,文档齐全

21 3.1 OVCP虚拟化云平台整体结构图

22 开源虚拟化云平台硬件和软件配置 硬件 软件 服务器 HP ProLiant DL580 G5*3 操作系统 Debian 6.0 CPU
Xeon X7460 (2.4GHZ)*4 虚拟化平台 XCP 1.0 (XenServer 5.6.1) 内存 4GB*16/4GB*16/2GB Xen版本 Xen 3.4.2 硬盘 73GB*2/73GB*2/146GB*8 puppet版本 puppet 2.7 facet,dashboard 网络 NC373i 1000MB*2 其他软件 XenCenter 5.6.1 XVP、XenWebManager 使用三台HP 580 服务器 一台作为核心存储,另两台作为XCP虚拟化资源池

23 3.2 安装和管理 XCP

24 修改xapi使用XenCenter代替XCP自带Web管理接口
修改xapi的shell脚本

25 用XenCenter建立和管理XCP资源池

26 3.3 建立核心存储 Openfiler开源的能把标准x86/64架构的系统变成一个强大的NAS、SAN存储和IP存储网关,
为管理员提供一个强大的管理平台,并能能应付未来的存储需求。 依赖如VMware,Virtual Iron和Xen服务器虚拟化技术,Openfiler也可部署为一个虚拟机。 可以选用 openfiler 或 FreeNAS Openfiler对于iscsi支持的更好,管理也很方便,因此选择Openfiler

27 在XCP资源池中使用iSCSI

28 3.4 云模式管理XCP XVP: 基于 VNC 和Web 管理 Citrix XenServer
和Xen Cloud Platform的平台 xvappliance xvp xvpviewer xvpweb xvpdiscover xvptag 1.广泛的浏览器支持 2.支持Active Directory 3.基于Web安全可靠 XVP(Xen VNC Platform) 基于VNC和Web的虚拟机应用管理平台 该平台包括xvpappliance、xvp、xvpviewer、xvpweb和xvpdiscover和xvptag等组件(图4为XVP平台的架构)。使用XVP最简单的方法是直接导入预先建好的xvpappliance虚拟应用。具体步骤如下: 从官方网站下载xvpappliance虚拟应用文件:    解压缩,使用XenCenter导入到已建立好的XCP pool中 启动xvpappliance虚拟应用,就可以通过xvpappliance命令来管理XVP了(具体设置请参考官方网站[28])。 来访问XVP管理平台。

29 XVP管理XCP

30 XenWebManager是使用Python实现的基于Web 的XenCenter的开源实现。
使管理员在为未安装XenCenter的windows和Linux环境上方便的管理XCP服务器。通过XenWebManager就可以使用浏览器来管理虚拟化服务器。XenWebManager安装方法有很多,详见参考官方文档[29]。由于已经在XCP资源池中建立XVP应用,而其操作系统为CentOS5,就将XenWebManager安装到这台虚拟服务器上。具体步骤如下: ① 更新源中加入第三方更新源:RPMforge, ② 运行如下命令安装xenwebmanager:        yum install --enablerepo=rpmforge install xenwebmanager       ③ 使用如下命令启动和停止xenwebmanager服务:        service xenwebmanager start        service xenwebmanager stop ④ 修改iptables防火墙规则,将TCP端口8080、8081和8082打开 ⑤ 使用

31 3.5 自动部署和管理虚拟机 10+VM 想象一下未来更行服务器补丁,安装应用不用再登入到服务器中,通过puppet可以自动完成这些工作

32 puppet自动化部署虚拟机 配置相关信息 配置初始网络 从网络安装Ubuntu

33 修改pp脚本实现自动化部署 设置Ubuntu更新用的镜像站点 设置时钟和ntp服务器 设置登入root用户密码 parman分区信息设置

34 puppet自动化管理虚拟机 site.pp class webserver{ include apache }
class dbserver{ include mysql class mailserver{ include postfix site.pp package{ ["postfix"]: ensure=>install; } site.pp package { [apache]: ensure=>install; } site.pp package{ ["mysql"]: ensure=>install; }

35 4.OVCP高级内容 XCP 物理机和虚拟机的迁移 XCP 半虚拟化Unix系统 puppet puppet集群式架构

36 4.1物理机和虚拟机的迁移 迁移Linux物理机 linux 使用XenServer install CD

37 迁移Windows物理机和虚拟机 XenConvert tools可以将OVF,VHD甚至整个虚拟机转化成XVA或者XenServer(VHD2XVA)

38 4.2半虚拟化Unix系统 半虚拟化Solaris目的:为Sun小机Solaris10系统上Metalib甚至Aleph迁移到OVCP平台上铺平道路。

39 Solaris 10 半虚拟化安装效果

40 Solaris10全虚拟化和半虚拟化性能比较

41 4.3puppet集群式架构 Puppet 集群核心思想: 1).puppetmaster 集群
- 分担puppetmaster来自于客户端的请求压力,可以 采取Active ,Active 模式. - 采取反向代理模式,将来自于8140的端口请求分 散到多台puppetmaster 2).puppet ssl 证书集群 puppet CA -分担puppetmaster来自于客户端ssl证书的请求压 力, 采取Active,Standby模式.

42 puppetmaster 集群架构图

43 未来工作 1.将OVCP云平台从实验环境升级为生产环境,主要 是网络环境和存储的改造
2.将Metalib从Sun小机上迁移到OVCP云平台上 3.将XCP1.0->XCP1.6 (XenServer 6.1,Xen4.1.2) 4.更加深入研究和使用puppet,如将其加入到基于 Web的云平台管理中,使用puppet来管理 Windows和Linux物理服务器,使用puppet来管理 Windows和Mac桌面电脑

44 参考文献 《基于XCP的虚拟化云平台建设研究》 《精通puppet配置管理工作》(《Pro. puppet》)
《puppet 2.7 Cookbook》 《puppet Docs》

45 推广开源软件 萧伯纳曾经说过:如果你有一个苹果,我有一个苹果,交换你我都只有一个苹果;
但你有一种思想,我也有一种思想,交换我们将每人有两种思想。 开源软件就是这样一种交换思想的方式

46 Thank You! Q&A


Download ppt "基于XCP和puppet的虚拟化云平台建设"

Similar presentations


Ads by Google