目录
学习来源
笔记内容为学习自行记录的笔记。
学习资源来源为陈老师John
的b站视频: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安装
- 配置VMKernel端口,启用vSAN服务
IP设置提前规划
- vSAN流量配置上联链路冗余Bond
- 虚拟交换机与物理交换机同时配置巨帧
略
- 新建启用vSAN的集群
- 添加ESXi主机进入集群
- 申明磁盘组(大小)
- 配置完成,退出维护模式
- 创建集群管理主机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需要请求创建磁盘:
- 在vCenter上下发指令。通过
vpxd
进行下发, - vpxd:vCenter的一个daemon vpxd
将该指令下发到ESXi主机的vpxa
进程 - vpxa: 专门从vCenter获取指令的进程vpxa
将指令传输给hostd
进程 - hostd:ESXi的核心进程hostd
接收到创建磁盘的指令,会调用一些需要的进程如OSFSd/DISKLIB
- OSFSd: Object Storage File System Daemon- DISKLIB: 访问磁盘需要的Library库OSFSd/DISKLIB
将指令传输到CLOM
中 - CLOM: Cluster Level Object Manager,根据策略来定义写的磁盘文件最终怎么存储CLOM
通过询问CMMDS
进程 获取信息,判断对象组件写哪 - CMMDS:Cluster Monitoring MemberShip and Directory Service,拥有集群中所有与vSAN相关信息的集合数据库,如对象存放、调用空间等。- 为了保证不同ESXi的CMMDS数据库内容一致,vSAN集群会选举出唯一的Master,其他则作为一台backup和多台Agent。只有Master可以读写,其他只能读;Backup作为Master Down后的接管角色CMMDS
的同步依赖于RDT
- RDT: Reliable Datagram Transport# ESXi CLI # 两条效果一样的~] esxicli vsan cluster list~] esxicli vsan cluster get...Local Node State: Agent/Master/Backup...
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。DOM Component Manager
会将指令传输给LSOM
- LSOM: Log Structured Object Manager 负责日志对象分区的读写操作。负责最终的IO请求写入的一个角色,也负责读写的缓存管理。LSOM
调用PSA
,将IO请求转换成磁盘能接受的指令 - PSA: Pluggable Storage Architecture 可插拔存储架构。vSAN控制物理磁盘组最后的角色。PSA将IO落入磁盘上。
版权归原作者 Tassel_YUE 所有, 如有侵权,请联系我们删除。