【云计算】存(云主机)算(云硬盘)分离

1.核心概念

存算分离 是一种将 计算资源(CPU、内存)存储资源(持久化数据)在物理层面、网络层面和架构层面进行解耦的设计理念。在公有云的具体实现中,这意味着:

  • 计算单元:云主机(虚拟机或容器),负责运行应用程序、处理逻辑、消耗 CPU 和内存资源。
  • 存储单元:云硬盘(块存储服务,如 AWS EBS,Azure Managed Disks,阿里云云盘,腾讯云 CBS),提供持久化的块级存储空间。
  • 连接方式:云硬盘通过网络(通常是高速、低延迟的内部网络)挂载Attach)到云主机上,呈现给操作系统如同本地磁盘一样使用(例如 /dev/sdbD: 盘)。
  • 关键解耦:云硬盘的 生命周期位置 独立于 它所挂载的云主机。计算节点(云主机)可以故障、重启、销毁或迁移,而其关联的数据盘可以被安全地卸载,然后挂载到另一台健康的云主机上继续访问。

2.存算分离架构详解

  • 物理分离
    • 计算节点(运行云主机的物理服务器)通常不配备(或仅配备有限容量的)本地持久化存储(如本地 SSD / HDD)。这些本地存储可能仅用于临时数据或操作系统缓存。
    • 存储节点(运行分布式块存储服务的专用服务器集群)拥有大量的持久化存储介质(SSD,HDD)和专门优化的存储软件栈。这些节点专注于数据的存储、复制、快照、备份、恢复等操作。
  • 网络互联
    • 计算集群和存储集群通过高速、低延迟、高带宽的内部网络连接(通常是万兆、25G、100G 以太网或 InfiniBand)。
    • 网络协议:通常使用经过优化的块存储协议在网络上传输数据:
      • iSCSI:基于 TCP/IP 的标准协议,应用广泛,兼容性好。
      • NVMe over Fabrics:新兴的高性能协议(如 NVMe/TCP, NVMe/RoCE, NVMe/FC),旨在将本地 NVMe SSD 的低延迟和高吞吐量扩展到网络存储上,是追求极致性能场景的首选。
      • 云厂商通常会对这些协议进行深度优化,甚至开发自己的私有协议(如 AWS 的 SRD),以降低延迟、提高吞吐量和稳定性。
  • 分布式存储系统
    • 云硬盘服务本身构建在 分布式存储系统 之上(如 Ceph, 定制化分布式存储引擎)。
    • 用户创建的每一块云硬盘的数据,都会被 切片、复制(通常 3 副本),并 分布式地存储 在多个存储节点甚至多个机架上。
    • 这种分布式架构提供了核心能力:
      • 高可用:单点或单机架故障不会导致数据丢失(依靠副本)。
      • 高可靠:数据持久化写入多个物理位置。
      • 弹性扩展:存储容量和性能可以通过增加存储节点线性扩展。
      • 数据冗余:自动处理数据复制、恢复和再平衡。
  • 控制平面
    • 云平台的控制系统(API调度器管理服务)负责管理云硬盘的生命周期(创建扩容快照删除)以及 挂载 / 卸载 操作。
    • 当用户发起挂载操作时,控制系统协调网络配置、权限认证,并通知计算节点和存储节点建立连接。

3.核心优势

  • 1️⃣ 提升可用性与容灾能力
    • 计算节点故障无惧:云主机宕机、硬件故障、操作系统崩溃,只需将关联的云硬盘卸载,挂载到另一台健康的云主机上,应用程序就能快速恢复访问数据,极大缩短 RTO(恢复时间目标)。
    • 存储节点故障透明:分布式存储系统自动处理存储节点的故障,数据副本保证可用性,对上层计算节点和应用程序透明。
    • 简化运维:更换故障服务器不再涉及复杂的数据迁移。
  • 2️⃣ 独立的弹性伸缩
    • 计算按需伸缩:可以根据 CPU / 内存负载,独立地增加或减少云主机的数量、规格(垂直伸缩)或实例类型(水平伸缩),无需考虑存储容量是否匹配。
    • 存储按需伸缩:可以根据数据增长需求,独立地扩容云硬盘的容量(通常在线扩容)或提升性能(如升级到更高 IOPS / 吞吐量的磁盘类型),无需中断计算节点或迁移数据。这提供了极大的灵活性和成本效率。
  • 3️⃣ 优化资源利用与成本
    • 避免资源浪费:计算资源(CPU 密集型、内存密集型)和存储资源(大容量、高性能 IO)可以分别选择最合适的实例类型和磁盘类型进行匹配,避免为不需要的资源付费(例如,不需要为一个需要大存储但计算需求低的实例购买高配 CPU)。
    • 精细化计费:计算(按 vCPU / 内存 / 时长)和存储(按容量 / 时长 / IOPS 预留)通常分开计费,使用户成本更透明,更容易优化。
    • 共享存储池:存储资源池化,利用率更高,避免单台服务器存储资源闲置。
  • 4️⃣ 增强数据管理与保护
    • 数据持久化:数据存储在独立、高可用的分布式系统中,比本地存储更可靠。
    • 便捷的数据操作
      • 快照:可以在几乎不影响性能的情况下,快速创建云硬盘在某个时间点的只读副本,用于备份、恢复、创建新盘或灾难恢复。这是存算分离架构下最强大的功能之一。
      • 备份 / 恢复:基于快照或直接备份云硬盘数据到更廉价的存储(如对象存储)。
      • 克隆:快速基于快照或现有盘创建新盘,加速环境部署(如创建测试环境)。
    • 数据迁移灵活:云硬盘可以轻松地在同一区域的不同可用区(AZ)之间迁移(如果服务支持),或者挂载到不同规格、不同子网的云主机上。
  • 5️⃣ 支持灵活的工作负载部署
    • 同一块数据盘可以被不同时间运行的不同云主机(甚至是不同规格、不同镜像的云主机)挂载使用。
    • 方便支持无状态应用与有状态数据的结合。应用实例(计算)可以随时销毁重建,而数据(存储)保持不变。

4.技术实现关键点与挑战

  • 1️⃣ 高性能网络
    • 网络延迟和带宽是存算分离性能的关键瓶颈。云厂商投入巨大构建超低延迟(微秒级)、高带宽、高可靠性的数据中心内部网络,并优化网络协议栈(如使用 RDMA 技术的 NVMe over Fabrics)。
  • 2️⃣ 分布式存储系统
    • 需要设计高可用、高可靠、强一致(或最终一致但满足业务需求)的分布式存储系统。处理数据分片、副本放置、故障检测与恢复、数据再平衡、元数据管理等复杂问题。
    • 优化 IO 路径,减少软件栈开销,接近本地存储的性能体验(尤其在 NVMe-oF 普及后)。
  • 3️⃣ 控制平面可靠性
    • 挂载/卸载、创建/删除磁盘等操作的 API 和控制服务必须高可用,确保管理操作的可靠执行。
  • 4️⃣ 数据一致性与缓存
    • 云主机本地通常会有页面缓存(Page Cache)和文件系统缓存。在云主机意外崩溃时,如何确保缓存中未落盘的数据不丢失或损坏文件系统,是一个挑战。通常依赖:
      • 应用层合理使用 fsync 等机制。
      • 文件系统日志(如 ext4journalingxfsjournal)在挂载时进行恢复。
      • 云硬盘服务本身可能提供一些持久性保证级别(如 EBS 的 multi-attach 卷有额外限制)。
    • 卸载操作通常需要操作系统层面安全卸载(umount)或在控制台安全卸载,以刷新缓存。
  • 5️⃣ 安全与隔离
    • 网络传输需要加密(如 iSCSI 的 CHAP 认证,IPSec 或 TLS)。
    • 确保存储访问权限控制严格,防止未授权挂载。
    • 多租户环境下保证数据隔离。
  • 6️⃣ 多挂载
    • 部分云服务支持一块云硬盘以 只读 方式同时挂载到多个云主机(用于共享读取数据,如日志分析)。
    • 读写多挂载 是一个非常高级且需要谨慎使用的功能(如 AWS EBS Multi-Attach, Azure Shared Disks),它允许多个实例同时读写同一块盘,通常仅用于特定的集群文件系统(如 Windows Failover Cluster,Linux Pacemaker+GFS2/OCFS2)。这需要存储系统、操作系统文件系统和应用程序共同协作处理并发写入和锁管理,否则极易导致数据损坏。

5.总结

公有云的 “存算分离” 架构通过将计算(云主机)与存储(云硬盘)在物理、网络和管理层面彻底解耦,利用高速网络连接和强大的分布式存储系统,实现了 高可用、弹性伸缩、成本优化、灵活数据管理 等核心优势。它解决了传统紧耦合架构中 计算节点故障导致数据不可用资源扩展不灵活存储利用率低 等问题,是现代云原生应用和有状态服务在云上运行的基石架构。虽然存在网络延迟、缓存一致性等挑战,但云厂商持续的网络优化(特别是 NVMe over Fabrics)和分布式存储技术的进步,使得存算分离的性能和可靠性已能满足绝大多数企业级应用的需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据与AI实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值