这是一个很有深度的问题,云主机并不是一台物理机器,而是一个通过软件(虚拟化技术)从物理服务器集群中“切”出来的、逻辑上独立的计算环境。
我们可以把搭建和使用云主机的过程,拆解为底层原理和上层操作两个层面来看。
核心是虚拟化技术,想象一下,你有一台配置超高的物理服务器(比如有128个CPU核心、2TB内存、大量硬盘和网卡),但大多数用户并不需要这么强的性能,虚拟化技术允许你在这台物理机上运行一个特殊的软件层,叫做Hypervisor(虚拟机监视器)。
最常见的Hypervisor有:VMware ESXi、Microsoft Hyper-V、开源的KVM(Kernel-based Virtual Machine,基于内核的虚拟机)(大多数公有云厂商使用)、Xen等,这个软件负责做三件事:
1、资源切分(抽象与隔离)
CPU: 把物理CPU的指令集模拟成多个虚拟CPU(vCPU),Hypervisor负责调度,让多个云主机的vCPU轮流使用物理CPU核心,感觉像在“独享”。
内存: 把物理内存划分为多个独立的区块,分配给不同的云主机,Hypervisor保证一个云主机无法访问另一个云主机的内存。
存储: 云主机的“硬盘”实际上是存储在分布式存储集群(如Ceph、Swift或云厂商自研的存储系统)上的一个镜像文件或块设备,这个文件可能被切成很多份,分散存储在多台存储服务器上,以保证高可用和性能。
网络: 每个云主机需要网络连接,Hypervisor会在物理网卡上创建虚拟交换机(vSwitch),并为每个云主机分配一个虚拟网卡(vNIC),这个虚拟网卡连接在虚拟交换机上,实现云主机间的通信以及访问外网,VLAN、VXLAN等技术用于隔离不同用户的网络。
2、启动与运行
- 当你点击“创建云主机”并选择操作系统镜像(如CentOS、Ubuntu、Windows)时,云平台的管理层(通常称为控制节点)会:
1. 选择一个合适的、有剩余资源的物理服务器。
2. 在该服务器上,通过Hypervisor创建一个新的虚拟机。
3. 把你选择的操作系统镜像复制到该服务器本地的或共享的存储中。
4. 从该镜像文件“启动”虚拟机,虚拟机看到的BIOS、磁盘、网卡等都是由Hypervisor模拟出来的,它并不知道自己不是一台物理机。
3、调度与管理(这是“云”的核心)
- 一个云平台有成百上千台物理服务器,当用户请求创建云主机时,平台的调度器会运行一个复杂的算法,综合考虑资源使用率、用户所在区域、容灾要求(比如不把所有主机放在一台物理机上)、成本等因素,决定把新的主机跑在哪台物理机上。
- 整个过程中,用户完全不感知物理机的存在,看到的只是一个可以随时创建、销毁、调整配置的“计算单元”。
二、上层操作:用户“做”一台云主机的典型流程
从用户的角度看,云主机的“制作”是一个服务流程,以阿里云、腾讯云、AWS等为例,步骤通常如下:
1、选择基础配置:
地域与可用区: 决定云主机物理上离你有多近,以及是否能跨机房容灾。
实例规格: 即选择“套餐”,比如2vCPU 4GB内存、4vCPU 16GB内存等,这个套餐决定了虚拟机能分到的物理资源上限。
镜像: 选择操作系统以及预装软件,公有云提供大量公共镜像(官方操作系统)、市场镜像(第三方带软件的)和自定义镜像(你自己建好的)。
2、配置网络和存储:
虚拟私有云: 定义一个逻辑隔离的网络空间,云主机必须属于某个VPC。
弹性公网IP(可选): 分配一个可被互联网访问的IP地址。
云硬盘: 为云主机挂载一块或多块虚拟硬盘,指定大小和性能等级(高效云盘、SSD云盘等),这些是独立于云主机生命周期的持久化存储。
3、设置安全和登录:
安全组: 这是一个虚拟防火墙,设置规则,只允许来自你IP的SSH(22端口)连接”,“允许网站访问(80、443端口)”等。
密钥对或密码: 设置登录认证方式,Linux常用密钥对(更安全),Windows常用加密密码。
4、创建与启动:
- 点击“购买”或“创建”。
- 后台开始进行上述的底层调度、资源分配、系统初始化等过程。
- 几秒到几十秒后,云主机状态变为“运行中”,你就能通过RDP或SSH连接上去了。
[ 用户A的云主机 ] [ 用户B的云主机 ] [ 用户C的云主机 ] ... [ 你新创建的云主机 ]
| | | |
+-------------------+-------------------+----...+---------------+
|
v
[ Hypervisor 虚拟化层 ] (KVM / Xen / VMware等)
|
v
[ 物理服务器集群 ] (CPU、内存、本地SSD、万兆网卡)
|
v
[ 分布式存储系统 ] (SAN、Ceph、云硬盘集群)
[ 软件定义网络(SDN)] (虚拟交换机、路由器、防火墙)云主机本质上是一个高度软件化、资源池化、按需分配的网络上的“计算机”。 它没有物理实体,却通过精密的软件和硬件协作,为你提供了一个功能完整、随时可用的计算环境,这正是“云计算”一词中“云”的含义——把复杂的基础设施抽象成服务,让你像用水用电一样使用计算资源。
文章摘自:https://idc.huochengrm.cn/zj/26252.html
评论