• [技术干货] 工业数字主线云常见问题
    最新DME文档:工业数字主线云常见问题,请参考
  • [技术干货] 华为数据模型驱动引擎DME的应用案例1
    华为公司基于 DME 构建了 PBI 系统,PBI 承载了华为公司产品与解决方案、技术、研发团队等的基本信息,是公司产品基本信息的唯一、可信数据源
  • 数据模型驱动引擎DME论坛开通啦
    数据模型驱动引擎DME论坛开通啦!欢迎各位专家,看客,走过路过的,常来浇水,施肥!
  • [计算] 【云小课】基础服务第47课 谈谈镜像的前世今生
    ↵首先,我们通过一个有趣的栗子来认识什么是镜像。假如我来到一片空地,想要建一座房子,那么我需要砍木头、搬石头、画图纸等等,一顿忙活后,房子终于盖好了。这时,我发现地址选的不好,想迁到另外一处。按照之前的方法,我必须重新砍木头、搬石头、画图纸,想想都头大。我幻想拥有一种超能力,将盖好的房子复制一份,做成“镜像”,装在口袋里,等到了另一片空地,用这个“镜像”复制一座房子,拎包入住。在云计算界,镜像就是这么神奇的存在。让我们从镜像的前世开始谈起,慢慢揭开它的神秘面纱~温馨提示:本文干货较多,阅读可能需要二十分钟。镜像的前世说到镜像,不得不提起云计算业界大佬OpenStack。OpenStack是一个开源的云计算管理平台项目,旨在为公共及私有云的建设与管理提供软件,这个项目由几个主要的组件组合起来完成一些具体的工作。Glance组件负责虚拟机镜像的上传、注册、查找、编辑、删除等功能,它提供了一个REST API,允许用户查询虚拟机镜像元数据来获取实际的镜像文件。您可以将Glance提供的镜像存储在各种位置,从简单的文件系统到对象存储系统。OpenStack各组件关系及Glance所扮演的角色见图1 OpenStack各组件关系。图1 OpenStack各组件关系​在OpenStack整个云环境中,如果没有虚拟机镜像,就无法在计算节点上生成虚拟机,OpenStack也就失去了它的意义,所以说镜像服务是OpenStack的一个核心服务。Glance组成Glance包括以下服务:Glance API:接受最终用户或Nova Compute对镜像的请求,诸如镜像创建、检索、存储。Glance Registry:存储、处理和检索有关镜像的元数据,元数据诸如大小、类型。Database:存储镜像的元数据,主要使用MySQL和SQLite。Store Backend:存储镜像本身,支持多种方式,包括普通的文件存储、Swift、Amazon S3等。图2 Glance组成​Glance APIGlance API是系统后台运行的服务进程,对外提供REST API,响应镜像查询、检索和存储的调用。Glance API不会真正处理请求。如果是与镜像元数据相关的操作,Glance API会把请求转发给Glance Registry;如果是与镜像自身存取相关的操作,Glance API会把请求转发给该镜像的Store Backend。Glance RegistryGlance Registry是系统后台运行的服务进程,负责处理和存取镜像的元数据,例如镜像的大小、格式和名称。Glance支持多种格式的镜像,包括AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD和VMDK,下次课程将着重介绍镜像格式的相关知识,敬请期待。Database镜像的元数据会保存到Database中,使用比较广泛的是MySQL和SQLite。Store BackendGlance自己并不存储镜像,真正的镜像是存放在Backend中的。Glance支持多种Backend,包括普通的文件存储、Swift、Amazon S3等。Glance的操作方式可以通过OpenStack Web UI、命令行和OpenStack CLI三种方式操作Glance,例如镜像的增删改查。对于Glance的镜像管理命令举例如下:glance image-createglance image-deleteglance image-updateglance image-show​云计算从初创时的牛刀小试,到现如今成长为一个庞大的行业和生态,各云厂商不断为其注入能量。为了提升用户的云上体验,华为云在镜像服务产品能力和生态能力方面也做了很多工作,下面将从两个方面介绍镜像服务IMS:镜像产品能力:镜像有哪些类型?IMS提供了哪些产品能力?镜像生态能力:围绕镜像衍生出了哪些产品?这些产品对用户有什么价值?镜像产品图3 产品导图​镜像分类镜像是云服务器运行环境的模板,在购买云服务器时,镜像是必填项,有四个分类,分别是公共镜像、私有镜像、共享镜像和市场镜像。​他们有什么区别?实际该如何选择呢?下面我们将这四种类型做个对比:镜像类型说明可用性/安全性费用公共镜像常见的标准操作系统镜像,所有用户可见,包括操作系统以及预装的公共应用。公共镜像具有高度稳定性,皆为正版授权,可放心使用。高免费市场镜像提供预装操作系统、应用环境和各类软件的优质第三方镜像。无需配置,可一键部署,满足建站、应用开发、可视化管理等个性化需求。较高免费/收费私有镜像包含操作系统或业务数据、预装的公共应用以及用户的私有应用的镜像,仅用户个人可见。中免费共享镜像用户将接受云平台其他用户共享的私有镜像,作为自己的镜像进行使用。低免费在实际选择时,有一个简单的判断原则:如果需要一个纯净版OS,则选择公共镜像如果需要一个完整的软件环境,比如Magento电子商务系统,则选择市场镜像如果希望基于当前云服务器实例复制新实例,则选择私有镜像如果想使用别人共享的镜像,则选择共享镜像镜像产品能力创建镜像流程为了满足用户多种业务场景的需求,华为云将私有镜像再次分类为:系统盘镜像、数据盘镜像和整机镜像,从字面即可理解这几种镜像的含义,整机镜像也叫全镜像,可以包含系统盘和数据盘。整机镜像基于差量备份制作,相比同样磁盘容量的系统盘镜像和数据盘镜像,创建效率更高。以系统盘镜像为例,图5展示了从ECS实例创建镜像的过程:从现有镜像开始,创建一个实例,自定义该实例,从该实例创建新的镜像,并最终创建新的实例。图5 系统盘镜像使用流程​用途​创建镜像可用于将ECS实例环境信息打包,快速复制新的ECS实例,常见于应用扩容场景。也可用于混合云部署场景,为了实现云上及线下资源同步,可以借助镜像导入导出功能。以将公有云资源同步到私有云为例,实现过程如下:i. 基于ECS制作私有镜像,可以为系统盘镜像或数据盘镜像(不建议制作整机镜像,因其不支持导出)ii. 将私有镜像导出到OBS桶iii. 下载OBS桶中的镜像文件,上传到私有云使用更多指导,请参阅“通过云服务器创建系统盘镜像”。导入镜像流程支持将本地或者其他云平台的镜像文件导入到华为云使用,依据镜像文件类型可用来创建ECS实例或EVS数据盘。包括四个步骤,详细流程如下:图6 导入镜像​用途上云,将计算资源从线下迁移到云上。更多指导,请参阅“通过外部镜像文件创建系统盘镜像”。导出镜像流程图7 导出镜像​用途将云上的ECS系统及软件环境复制到线下集群或私有云环境使用。更多指导,请参阅“导出镜像”。共享镜像假设Jack要将自己的镜像共享给Rose,流程如下:图8 共享镜像过程​同样的镜像,又需要共享给Alice,可以通过为镜像添加共享租户实现:图9 添加共享租户​Rose已经使用Jack共享的镜像完成业务部署,不再需要该镜像,可以拒绝已经接受的共享镜像:图10 拒绝已经接受的共享镜像​Jack也可以单方向取消共享给其他人的镜像:图11 取消共享镜像​更多指导,请参阅“共享指定镜像”。复制镜像流程区域内复制:实现加密镜像与非加密镜像的转换图12 区域内复制​跨区域复制:实现镜像在不同区域间迁移图13 跨区域复制​用途典型场景为系统环境多区域部署,以应对系统高可用及国际化的趋势,部署方式通常需要多区域+海外节点部署,快速实现跨区域复制ECS实例的方法之一便是通过复制镜像将一个镜像复制到多个区域,然后使用私有镜像快速创建实例。更多指导,请参阅“跨区域复制镜像”。镜像生态除了上文介绍的镜像产品能力,华为云也建立了比较完善的镜像生态体系,比如Cloud-Init开源组件、用户数据、镜像的商品管理能力。图14 镜像生态​Cloud-Init是开源的云初始化工具,本质上是一系列Python脚本及组件,用来在云服务器启动时配置自定义信息。华为云公共镜像默认都已安装Cloud-Init,建议您在创建私有镜像时也进行安装。用户数据注入,是华为云提供的一种自定义实例启动行为及传入数据的功能。当您有如下需求时,可以考虑使用用户数据注入:i. 通过脚本简化实例配置ii. 通过脚本初始化系统iii. 已有脚本,在创建实例时一并上传iv. 其他可以使用脚本完成的功能举个栗子,通过以下脚本为Linux ECS实例更新系统软件包,并且开启httpd相关服务。用户数据将会在ECS启动时由Cloud-Init进行调度配置。注入成功后,您的ECS就可以使用httpd服务了。​迁移服务,即华为云主机迁移服务SMS,是一种P2V/V2V迁移服务,可以帮您把x86物理服务器或者私有云、公有云平台上的虚拟机迁移到ECS上,轻松实现服务器上的应用和数据迁移到华为云。更多信息,请参阅“主机迁移服务”。镜像商品管理能力华为云支持第三方ISV上架市场镜像,市场镜像通常由具有丰富云服务器维护和配置经验的服务商提供,并且市场镜像经过服务商和华为云云市场的严格测试,可保证镜像内容的安全性。今天小课就为大家分享到这里,希望对您认识镜像有所帮助。后续课程会展开介绍镜像前世今生中的某些知识点,比如Cloud-Init和用户数据注入技术,敬请期待。
总条数:19 到第
上滑加载中