什么是云服务器?
产生背景
(1)某公司上架一个游戏P
流量爆发:后端服务器无法满足爆发需求
流量低谷:后端服务器限制浪费
流量变化导致对后端需求不一致,之前购置的大量硬件产生资源浪费
后端资源精准预估难度很大
(2)某传统制造业公司转型互联网+企业
投入大量资源,希望尽可能高效利用后端服务器资源,节约基础设施维护成本,快速利用新技术开展新业务模式,但维护基础设施需要专业的团队和运营成本。避免重复成本,将注意力放在主营业务上是需要考虑的问题。
传统后端基础设施有很多痛点,云服务器具有弹性、自动化、高效、专业等特点,可以在一定程度上解决这些痛点。
云服务器的概念
- 云服务器(Cloud Virtual Machine)在云中的虚拟机
- 放置在云中的计算资源
- 可以按需分配给用户
- 可动态调整
- 即时可用
- IaaS最基础的服务
计算资源被集中的放在一个池子里,称为资源池,有强大调度来调配资源,有用户需要资源时,资源调度系统从池子里调度出资源,分配成一台虚拟机,可动态调整。 - 实例:(Instance)
- 指具体的云服务器
- 部分语境下与云服务器互换使用
- 配置属性包含CPU、内存、网络、存储等
- 由元数据(Meta-Data)标识属性
- 镜像(Image)
- 创建服务器模板
- 相似概念
- 实例
- 云虚拟机
- IaaS提供商采用不同的名称
- 名称与计算服务有关
- 与弹性计算有关
云服务器的特性
- 弹性
- 按需申请
- 动态调整
- 高效
- 快速复用
- 平滑扩(缩)容
- 付费灵活
- 混合部署
- 专业 (容灾切换保证高可用)
- 冷热迁移
- 高可用
- 多种容灾方案
- 网络连接保障
- 安全保障
- 自动化
- 提供RESTful API
- 提供定义资源
- 集成自动化运维框架
- 实现DevOPs
- 场景回顾
- 场景一 适用弹性伸缩
- 场景二 适用混合云部署
虚拟化
云服务器的关键技术
- 虚拟化
- 概念
产生于上世纪60年代,指计算元件在虚拟的基础上而不是真实的基础上运行,将物理抽象为逻辑 - 分类
- 按虚拟对象
- 操作系统虚拟化:将操作系统及系统调用抽象为资源
- 平台虚拟化:将硬件组件抽象为逻辑资源
- 按方案
- 软件虚拟化:截获或模拟物理平台访问
- 硬件虚拟化:硬件本身提供截获和重定向支持
- 按方式
全虚拟化、准虚拟化
- 虚拟机监控器
- 即Hypervisor或VMM(Virtual Machine Monitor)
- 作用
- 管理虚拟机生命周期
- 为虚拟机抽象出硬件环境
- 两种类型
VMM、EMS都属于一型
- 虚拟机
- 也成为客户机(Guest System)
- 物理机同时存在多个虚拟机
- 在KVM虚拟化中:
- 运行在模拟的物理机上
- 表现为进程
- 保存为文件
- 配置文件
- 虚拟磁盘文件
- 云服务器是放置在云中的虚拟机
KVM和Xen
KVM(Kernel-based Virtual machine)
- 从v2.6.0开始,打包在Linux内核中发行
- 需运行在硬件虚拟化特性的物理机上(Intel-VT/AMD-V)
- 二型虚拟机监控器(形式上)
- 利用QEMU进行设备模拟
- 仅支持全虚拟化
- 支持准虚拟化驱动提升I/O性能
- 充分利用Linux内核
- 虚拟机为标准Linux进程
- 利用Linux调度功能
- 内存管理模块
- 电源管理等
- CPU虚拟
- 利用Intel-VT?AMD-V辅助
- 内存虚拟
- 影子页表
- Intel-EPT/AMD NPT辅助
- IO虚拟
- 模拟设备保证兼容性
- 半虚拟化设备保证性能
- 分配专用设备同时保证兼容性和性能
- 可以支持超大规模主机及客户机
- 主机:1024 CPU,8TB内存
- 虚拟机:160 CPU,2TB内存
- 支持快照
- 支持迁移包括热迁移
- 逐步将内存内容复制到新地址
- 在最后一部分内容复制完毕前关闭源虚拟机
- 复制完毕后开启目标虚拟机
Xen
- 采用定制微内核
- 特殊虚拟机Domain 0作为管理平台
- 一型虚拟机监控器
- 支持多种虚拟化方式:全虚拟化、准虚拟化等
- 运行准虚拟化虚拟机时
- 需要更改客户机系统
- 替换掉复杂的硬件指令
- 客户机配合虚拟化工作
- 不模拟客户机环境
KVM和Xen比较
- 相同点
- 开源且有广泛的应用
- 不同点
- KVM得到了Linux社区的全力支持
- KVM更容易使用和维护
- Xen的产品化历史更悠久
- Xen对准虚拟化的支持
弹性计算
- 概念
- 弹性
- 自动化的调整计算资源供应量
- 尽量贴近当前计算能力需求
- 意义
- 最大化提高计算资源效率
- 为云计算实现奠定重要基础
- 实现基础
- 虚拟化技术
- 为软件定义基础架构提供基础
- 为资源供给自动化提供可能
- 自动化资源管理与监控
- 从当前资源情况判断供给量
- 精确掌握弹性扩缩容时机
- 高可用与容灾
- 稳定供给资源
- 避免资源不可用
- 弹性资源
- 计算资源
- 弹性伸缩组云服务器
- 网络资源
- 弹性IP
- 存储资源
- 弹性云硬盘
- 应用弹性伸缩
- 利用公有云的IaaS服务创建弹性伸缩组
- 在云服务器负载都大于50%时扩容
- 在云服务器负载都小于20%时缩容