vSAN01:vSAN简介、安装、磁盘组、内部架构与调用关系

目录

传统的共享存储

  • 通过隔离的存储网络使得不同的ESXi主机访问独立的存储设备
  • 需要前期投入较高的资金单独采购存储、网络
  • 可以单独规划巨帧,使得MTU变大,网络利用率变高
  • 需要专门设置存储管理员(如果划分细致)

vSAN存储

  • 利用本机的空余磁盘,作成共享存储
  • 5.5必须一个SSD,其他没有要求;6.0开始可以支持全闪(同时支持高级功能如去重、压缩)
    • 8.0前叫做Original Storage Architecture OSA。
    • 8.0 叫做Express Storage Architecture ESA。
  • 每台机器可以最多包含5个磁盘组。每个磁盘组都得有一个SSD
    • 假如5个磁盘组,每个磁盘组最多7块硬盘可用,至少需要32G内存可用
  • 与vSphere集成,可以直接在vCenter上管理与使用
  • 必须是一整块的空闲磁盘,而不是部分空闲

OSA的系统要求

  • vSAN集群的主机,硬件/磁盘配置/ESXi软件版本 需要一致。
    • VMWare HCL 硬件兼容性列表
  • 每个磁盘组必须一个SSD作为缓存,其余磁盘作为容量层。缓存不计入可用容量
  • 对于混合架构(SSD+HDD),至少1Gb网络;全闪架构,至少10Gb网络
  • 建议网络层面单独隔离,开启巨帧

vSAN安装

  1. 配置VMKernel端口,启用vSAN服务


IP设置提前规划

  1. vSAN流量配置上联链路冗余Bond



  1. 虚拟交换机与物理交换机同时配置巨帧

  1. 新建启用vSAN的集群

  2. 添加ESXi主机进入集群


  3. 申明磁盘组(大小)

  1. 配置完成,退出维护模式

  2. 创建集群管理主机vCLS(大于3台ESXi会创建3个vCLS)

vSAN集群的容量只会显示容量层而不会显示缓存层

vSAN集群

  • 可以支持3~64台主机,不需要每台主机都贡献磁盘
    • 现网一般最低都是4,保证可用

vSAN skyline health

  • 提供vSAN整体健康度检查,包括硬件和配置层面
  • 发生故障时,提供错误分析和解决建议。

vSAN与HA

  • vSAN必须在启用HA之前配置。
    • 未启用vSAN的HA集群用管理网络传输心跳;
    • 启用vSAN的HA集群用vSAN网络传输心跳;
  • 先停止HA,配置好vSAN再启用HA

磁盘组

  • OSA要求每个磁盘组至少一块SSD作为缓存层,至多7块SSD/HHD作为容量层;
  • 每个ESXi主机最多5个磁盘组;
  • 5个8盘磁盘组,内存最少32G;
  • 容量层全闪时,支持压缩、去重;

混合磁盘架构

  • 缓存层中70%空间用于read,30%用于write;
  • write到达缓存层直接返回写确认;
  • 缓存层至少是容量层的10%,缓存层大小增加可以提高read命中率

write-through(透写): 所有的写操作直接写往主存,同时也写在缓存cache中,写主存成功后返回写成功

write-back(回写): 写操作先缓存在cache中,直接返回写成功。稍后才会统一将缓存写到主存中去。

全闪磁盘架构

  • 缓存层所有空间用于写缓存
  • 写缓存中的数据趋于稳定后,写入容量层。
    • 降低写放大(WA)
    • 提高磁盘寿命
  • 容量层选择容量大的SSD,缓存层选择寿命大的SSD

vSAN对象

  • vSAN是一种逻辑的、基于对象的块存储架构
    • VMDK,基于文件夹的存储,文件夹内有不同的文件
      -对象本身不存放数据,相当于指针,指向组件
对象 描述
虚拟机Home Namespace 虚拟机对象存放的根容器,例如VMDK、VMX等对象。
虚拟机交换对象 虚拟机开机时被创建,其大小等于配置的内存减去预留。
虚拟机磁盘对象 虚拟机的vmdk对象。
快照增量对象 快照后的差异磁盘对象。
内存快照对象(.vmem) 快照后对内存的状态保存对象。

vSAN内部架构

假如VM需要请求创建磁盘:

  1. 在vCenter上下发指令。通过vpxd进行下发,

    • vpxd:vCenter的一个daemon
  2. vpxd将该指令下发到ESXi主机的vpxa进程

    • vpxa: 专门从vCenter获取指令的进程
  3. vpxa将指令传输给hostd进程

    • hostd:ESXi的核心进程
  4. hostd接收到创建磁盘的指令,会调用一些需要的进程如OSFSd/DISKLIB

    • OSFSd: Object Storage File System Daemon
    • DISKLIB: 访问磁盘需要的Library库
  5. OSFSd/DISKLIB将指令传输到CLOM

    • CLOM: Cluster Level Object Manager,根据策略来定义写的磁盘文件最终怎么存储
  6. CLOM通过询问CMMDS进程 获取信息,判断对象组件写哪

    • CMMDS:Cluster Monitoring MemberShip and Directory Service,拥有集群中所有与vSAN相关信息的集合数据库,如对象存放、调用空间等。
    • 为了保证不同ESXi的CMMDS数据库内容一致,vSAN集群会选举出唯一的Master,其他则作为一台backup和多台Agent。只有Master可以读写,其他只能读;Backup作为Master Down后的接管角色
  7. CMMDS 的同步依赖于RDT

    • RDT: Reliable Datagram Transport

      shell 复制代码
      # ESXi CLI 
      # 两条效果一样的
      ~] esxicli vsan cluster list
      ~] esxicli vsan cluster get
      ...
      Local Node State: Agent/Master/Backup
      ...
  8. CLOM 将具体操作的指令发送给DOM

    • DOM:分布式对象管理
      • DOM Client:接受CLOM发来的读写IO的要求,转发IO请求给Owner
      • DOM Owner:真实对对象拥有读写访问权写的角色。vSAN中创建每一个对象,都会选择一个DOM作为它的Owner。对对象的操作只能通过DOM Owner进行传递。
        • 如果对象就在本机,Owner会把这个IO读写请求转发给DOM Component Manager。
        • 如果DOM Owner和组件所在物理位置不一致,通过RDT转发给对应的DOM Component Manager。
      • DOM Component Manager:负责管理组件所在主机上的一个对象。组件物理存放在那个ESXi。
  9. DOM Component Manager会将指令传输给LSOM

    • LSOM: Log Structured Object Manager 负责日志对象分区的读写操作。负责最终的IO请求写入的一个角色,也负责读写的缓存管理。
  10. LSOM调用PSA,将IO请求转换成磁盘能接受的指令

    • PSA: Pluggable Storage Architecture 可插拔存储架构。vSAN控制物理磁盘组最后的角色。PSA将IO落入磁盘上。
相关推荐
哔哥哔特商务网3 小时前
一文探究48V新型电气架构下的汽车连接器
架构·汽车
007php0073 小时前
GoZero 上传文件File到阿里云 OSS 报错及优化方案
服务器·开发语言·数据库·python·阿里云·架构·golang
码上有前5 小时前
解析后端框架学习:从单体应用到微服务架构的进阶之路
学习·微服务·架构
货拉拉技术11 小时前
多元消息融合分发平台
javascript·后端·架构
冷心笑看丽美人12 小时前
Spring 框架七大模块(Java EE 学习笔记03)
学习·spring·架构·java-ee
思尔芯S2C13 小时前
面向未来的智能视觉参考设计与汽车架构,思尔芯提供基于Arm技术的创新方案
arm开发·架构·汽车·iot·fpga原型验证·prototyping·智慧视觉
老码沉思录21 小时前
Android开发实战班 -应用架构 - MVVM 架构模式
android·架构
晴子呀1 天前
微服务系列概览
微服务·云原生·架构
武子康1 天前
Java-05 深入浅出 MyBatis - 配置深入 动态 SQL 参数、循环、片段
java·sql·设计模式·架构·mybatis·代理模式
Akamai中国1 天前
出海第一步:搞定业务系统的多区域部署
开发语言·网络·架构·云计算·智能路由器·云服务·云平台