虚拟机模板

云计算模式:虚拟机模板

  (2012-03-03 09:50:01)
标签: 

杂谈

分类: 技术

    本文译自Steve Jin的博客Cloud Architecture Patterns: VM Template,纯粹练练英语顺便熟悉熟悉技术。因为英语水平和表达能力有限,如果有什么错误,欢迎大家指出……

意图:

    使用模板将虚拟机创建过程标准化

类型:

    创建模式

问题:

    通过正确的安装软件并配置参数来创建虚拟机是比较复杂的,你可以使用KickStart之类的工具自动安装操作系统和必要的软件。但是配置系统如环境参数很繁琐,可能花费很长时间。

    随着虚拟化的普及,远比以前为多的虚拟机被开发出来(当然也有很多虚拟机过时被淘汰),每个虚拟机都从头开始安装并不是一个理想的解决方案。

解决方案:

    虚拟化突出了创建虚拟机问题的同时,也提供了简单的解决方案,即所谓的“虚拟机模板”。你可以拣选并配置你要放入模板的软件,并当它需要的时候就将之克隆到一个新的实例,既方便又快捷。

定制

    这样现在的问题就变成了如何个性化定义被克隆的虚拟机——你显然不能针对每一个细微差异(例如不同的IP地址、虚拟设备、磁盘空间等等)都创建新的虚拟机模板。这些细微差异都能体现出了,但是不依赖于虚拟机模板而是由虚拟机管理程序提供。当前各个虚拟机管理程序都不尽相同,但是在基本功能上没什么区别。

    以下情况可能会比较复杂:

1. 你有大量不同的软件组合,很难提取单一模板。你当然可以制作一个多合一万能模板,包括所有软件的超集。这显然易于管理,但是每个虚拟机都要消耗额外的存储空间,更糟糕的是多余的软件可能影响系统的稳定性、可靠性和安全性。

2. 你必须升级和修补软件。为每个补丁和升级创建新模板,如果你每次克隆最近的一个模板,就很容易操作了。但是这可能意味着:每次打补丁或升级你都必须测试并确定所有的应用。如果你还想同时支持老版本的软件,你就要管理大量的模板并准备更多的存储空间。

模板层次

    一般来说存储空间不是大问题,由于各个模板几乎相同,很多先进的存储技术(如重复数据删除技术)都能帮你节省大量的空间,但是无论怎么节省肯定还是会产生更多的成本。

    当设计频繁变化的模板时,你要考虑层级结构。在根节点上,你有一个包含常用软件的模板,在根节点之下是一个包含了额外软件的增量模板。当需要提取模板时,将根节点上的模板与增量模板合并,就形成了最终模板,有点儿像面向对象开发中基类与衍生类的继承关系。

    层级不限于两层,随着软件的层次可以延伸出更多层。当然,你需要认真分析软件细节才能更好的规划模板层次。

模板创作

    尽管可以手动安装所有的软件,还是推荐大家使用脚本或是Puppet、Chef等配置工具自动完成这一过程。这些工具不仅帮你执行大量简单重复的工作,还能帮你避免错误,包括那些你只用一次的模板。配置工具还附赠了一些特别的模板,比如根据校验和实施连续配置……。

    这些脚本也能为模板推荐原始数据,包括哪些模板、软件、配置是需要的,哪些是用不上的。你肯定不希望直接从磁盘映像里找那些需要的模板和数据。

结论:

    像之前讨论的那样,创建模板有很多好处。但是也增加了管理压力,你要管理更多东西!不只是模板的存储,还包括效率设计、生命周期管理等等。

已知应用:

    VMware vSphere有虚拟机模板,可以提供大量个性化虚拟机实例linux、windows。Amazon EC2基于Xen技术有类似的模板AMI,可用于部署新的虚拟机。为标准化虚拟机模板,DMTF已经发布了已被广泛接受OVF标准。

相关模式:

    虚拟机工厂:根据模板创建新实例。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值