云主机简介

简介

云托管是一种使用可以按需创建、修改和销毁的在线虚拟服务器的方法。云服务器由托管它们的物理服务器分配资源,如CPU核心和内存,并且可以配置任何操作系统和附带的软件。云托管可用于托管网站、分发基于Web的应用程序或其他服务。

在本指南中,我们将介绍云托管中涉及的一些基本概念,包括虚拟化如何工作,虚拟环境中的组件以及与其他常见托管方法的比较。

什么是云?

云是一个常见的术语,指的是可通过互联网访问的服务器,这些服务器可以通过付费租赁或作为软件或平台服务的一部分提供给公众使用。基于云的服务可以采取多种形式,包括虚拟主机、文件托管和共享以及软件分发。也可以指云计算,即透明地跨越多个服务器的任务。云计算不是在一台功能强大的机器上运行复杂的进程,而是将任务分布在许多较小的节点上。

虚拟化工作原理

云托管环境分为两个主要部分:可以托管应用程序和网站的虚拟服务器,以及管理虚拟服务器的物理主机。虚拟化使云托管成为可能:主机和虚拟服务器之间的关系提供了其他托管方法所不具备的灵活性和可扩展性。

虚拟服务器

当今最常见的云托管形式是使用虚拟专用服务器,即VPS。VPS是一种虚拟服务器,其作用类似于拥有自己操作系统的真实计算机。虽然虚拟服务器共享主机分配给它们的资源,但实际上它们是完全隔离的,因此一个VPS上的操作不会影响其他VPS。

虚拟服务器由物理主机的虚拟机管理程序部署和管理。每个虚拟服务器都有一个由管理程序安装的操作系统,可供用户使用。出于实际目的,虚拟服务器在使用上与专用物理服务器相同,尽管虚拟服务器需要与同一主机上的其他服务器共享物理硬件资源。

托管

虚拟服务器的资源由其所在的物理服务器分配。该主机使用称为虚拟机管理程序的软件层来部署、管理和授予其控制下的虚拟服务器的资源。术语)的物理主机。

当虚拟服务器启动时,主机负责分配内存、CPU核心和到虚拟服务器的网络连接。管理程序的一项持续职责是在虚拟CPU核心和物理核心之间调度进程,因为多个虚拟服务器可能正在使用相同的物理核心。管理程序在进程调度和资源共享的细微差别上各不相同。

虚拟机管理程序

目前,有几种常见的管理程序可用于云主机。这些不同的虚拟化方法有一些关键差异,但它们都提供了主机根据需要部署、维护、移动和销毁虚拟服务器所需的工具。

KVM基于内核的虚拟机的缩写,是内置于Linux内核的虚拟化基础设施。当被激活时,这个内核模块将把Linux机器变成一个管理程序,允许它开始托管虚拟服务器。这种方法与其他管理程序通常的工作方式不同,因为KVM不需要创建或模拟用于虚拟主机的内核组件。

Xen 是最常见的管理程序之一。与KVM不同,Xen使用自己的微内核,它提供了支持虚拟服务器所需的工具,而无需修改主机的内核。Xen支持两种不同的虚拟化方法:半虚拟化,它跳过了模拟硬件的需要,但需要对虚拟服务器的操作系统进行特殊修改;硬件辅助虚拟化(或称HVM),它使用特殊的硬件功能来高效地模拟虚拟服务器,以便它们可以使用未经修改的操作系统。大约在2006年左右,HVM在消费者CPU上普及,使大多数台式机和笔记本电脑在运行虚拟机或基于微内核的容器(例如,通过Docker)时获得类似的性能。

ESXi 是VMware提供的企业级管理程序。ESXi的独特之处在于它不要求主机具有底层操作系统。这被称为),不需要在主机上加载操作系统,因为管理程序本身充当操作系统。

Hyper-V 是最流行的Windows服务器虚拟化方法之一,在Windows Server中以系统服务的形式提供。这使得Hyper-V成为在Windows软件环境中工作的开发人员的常见选择。Hyper-V包含在Windows的最新版本中,也可以作为独立服务器使用,而无需现有的Windows Server安装。WSL2,Linux,的Windows子系统是通过Hyper-V实现的。

为什么选择云托管?

虚拟化提供的功能非常适合云托管环境。虚拟服务器可以配置多种硬件资源分配,并且通常可以根据需要随时间变化而添加或删除资源。一些云主机可以将虚拟服务器从一个管理程序移动到另一个管理程序,而停机时间很少或根本没有,或者在节点出现故障时复制服务器以实现冗余。

定制

开发人员通常更喜欢在VPS中工作,因为他们可以控制虚拟环境。默认情况下,大多数运行Linux的虚拟服务器都提供对根(管理员)帐户或sudo权限的访问,从而使开发人员能够安装和修改他们需要的任何软件。

这种选择自由始于操作系统。大多数管理程序能够托管几乎任何来宾操作系统,从Linux和BSD等开源软件到Windows等专有系统。从那里,开发人员可以开始安装和配置他们正在进行的任何工作所需的构建块。云服务器的配置可能包括Web服务器、数据库或已经开发并准备分发的应用程序。

伸缩性

云服务器的扩展能力非常灵活。缩放方法分为两大类:水平缩放和垂直缩放。大多数托管方法都可以以这样或那样的方式进行扩展,但云托管的独特之处在于其水平和垂直扩展能力。这是由构建云服务器的虚拟环境造成的:由于其资源是较大物理池的分配部分,因此可以调整这些资源或将其复制到其他管理程序。

横向伸缩 ,通常被称为向外扩展,是向集群系统中添加更多节点的过程。这可能涉及添加更多Web服务器以更好地管理流量,向区域添加新服务器以减少延迟,或添加更多数据库工作人员以提高数据传输速度。

垂直伸缩 ,即通过额外的资源升级单台服务器。这可能是扩展可用内存、分配更多的CPU核心,或者进行某些其他升级以增加该服务器的容量。这些升级通常为其他软件实例(如数据库工作者)在该服务器上运行铺平了道路。在横向扩展变得具有成本效益之前,纵向扩展实际上是应对不断增长的需求的方式。

有了云托管,开发人员可以根据其应用程序的需求进行扩展-他们可以通过部署额外的VPS节点进行横向扩展,也可以通过升级现有服务器进行纵向扩展,或者在服务器需求大幅增加时同时进行这两种操作。

结论

至此,您应该已经了解了云托管的工作原理,包括管理程序和它们所负责的虚拟服务器之间的关系,以及云托管与其他常见托管方法的比较。记住这些信息,您就可以选择最适合您需要的主机。

有关整个云计算环境的更广泛视角,您可以阅读云Computing.概述

Published At
Categories with 技术
comments powered by Disqus