SmartX 超融合可执行多少快照?支持热迁移吗?25 个社区高频提问,我们详细解答
SmartX 于 2020 年成立了线上用户社区——一个由 SmartX 专家和来自各行业的工程师组成的,以现代化 IT 基础架构为核心方向,集学习、技术探讨、个人成长为一体的交流平台。成立两年至今,用户社区已发展至 4 个大群,累计服务 1600+ 用户,群内每天都会产生近百条经验分享和问题讨论,同时不间断地开展直播课与成长营活动。
每年,我们都会对用户社区中出现的高频提问进行分类整理*,并邀请 SmartX 技术专家钟老师进行详细解答。本期,我们精选了 25 个关于 SmartX 超融合产品、技术、操作相关的重点提问,希望能帮助到更多有着同样困惑的小伙伴。
*欲获取完整用户社区答疑列表,请复制文末博客链接,在浏览器中打开。
精选问题一览
产品初步了解
Q:ZBS 是以哪个开源系统来二次开发的?
A:SmartX 分布式块存储 ZBS 是 SmartX 完全自研的分布式块存储软件,不是基于任何一种开源存储软件做的二次开发,核心技术完全自主可控。
欲了解 ZBS 的自主研发架构,请阅读:分布式块存储 ZBS 的自主研发之旅 | 架构篇。
Q:SMTX OS 是基于什么操作系统开发的?
A:SMTX OS 以往发布的版本有部分基于 CentOS 操作系统开发的(x86 芯片),也有部分是基于 OpenEuler 操作系统开发的(信创芯片)。最新版本的 SMTX OS 已全部统一在 OpenEuler 操作系统上进行开发。
Q:SmartX 原生备份是不是基于 CDP(连续数据保护)技术?
A:SmartX 的原生备份并不是基于 CDP 技术实现的,而是基于存储级别快照技术实现的虚拟机无代理备份,支持将运行在 ELF 平台上的虚拟机全量/增量备份到集群外部的 NAS 存储。此外,SmartX 超融合基础架构支持与 Zerto CDP 和 英方 i2CDP 等第三方 CDP 软件集成组建灾备解决方案。
欲了解完整灾备解决方案,请阅读:一文了解 SmartX 超融合容灾备份解决方案。
Q:SmartX 有云管平台吗?
A:SmartX 目前没有提供云管平台产品,但可支持与第三方云管平台进行对接,如 Fit2Cloud、骞云等。SmartX 提供多集群管理软件 CloudTower ,可帮助用户统一管理分布在多个数据中心的超融合集群。我们也计划在未来推出 SmartX 原生云管平台,敬请期待!
欲了解 CloudTower 相关功能特性,请阅读:SmartX 发布管理平台 CloudTower 2.0 版本。
Q:CloudTower 可以同时管理社区版和正式版吗?
A:不可以,社区版 CloudTower 只能管理社区版的 SMTX OS 集群,商业版的集群需要使用商业版 CloudTower 进行管理。
Q:SMTX 迁移工具是热迁移吗?支持回迁吗?
A:SMTX 迁移⼯具是⽆代理迁移虚拟机的独⽴⼯具,⽀持虚拟机跨平台⽆缝迁移(VMware 虚拟化平台至 SmartX 原生虚拟化 ELF 平台),⽀持断点续传。仅需要在迁移接近完成时对虚拟机关机,以完成数据同步,将迁移对业务的影响降⾄最⼩。目前,VMware 虚拟化平台暂不支持回迁,但 ELF 集群支持回迁功能。
欲了解 SMTX 迁移工具相关功能特性,请阅读:VMware 虚拟机向国产虚拟化平台迁移?一文了解 SMTX 迁移工具原理与实践。
特性与技术原理
缓存机制
Q:部署 SmartX 超融合套件社区版最少需要配置两块 SSD 作为缓存盘,是因为一块用作读缓存、另一块作写缓存吗?
A:SMTX OS 配置两块 SSD 作为缓存盘并不是因为需要区隔读和写缓存,实际上每一块缓存盘都可以同时作为读、写缓存,配置两块 SSD 的目的主要是解决系统和缓存的高可用的问题。在实际使用中,SSD 故障是一个常见问题,而 SMTX OS 配置 2 块 SSD 作为缓存,可容忍任意一块 SSD 故障,另外一块 SSD 依然可以承担节点的缓存加速功能(只是缓存容量减少了)。另外值得注意一点:SMTX OS 缓存盘支持全局磁盘加速,并不是基于磁盘组做缓存加速。因此在单个 SSD 故障的场景下,缓存功能既不会失效,也不会引起部分数据存储空间下线的问题(某些基于磁盘组的存储产品,当发生 SSD 故障,全组磁盘会同时下线)。
此外,与 VMware vSAN(7 及更早版本)划分读写缓存分区的机制不同,SMTX OS 不划分读写缓存,通过冷热数据分层技术,将频繁读写的热数据放置在 SSD 中,长时间无读写的冷数据放置在 HDD 中。这样的机制有两点好处:
提升缓存利用率,所有缓存空间均被使用,充分利用高速存储介质资源。
避免在业务突发性数据写入或访问激增时出现缓存空间击穿,并导致虚拟机性能下降,影响业务连续稳定开展。
欲深入了解 SmartX 分布式存储缓存机制,请阅读:VMware 与 SmartX 分布式存储缓存机制浅析与性能对比。
快照机制
Q:SmartX 超融合有虚拟机快照和克隆的数量限制吗?
A:SMTX OS 单个集群最大支持 100000 组快照,而单个虚拟机最大支持 1024 个快照(vSphere 单个虚拟机最大支持 32 个快照)。虚拟机克隆没有数量限制。
Q:进行快照的时候,虚拟机性能会受到影响吗?
A:与 vSphere 的快照运行原理不同,SMTX OS 的快照不是基于 redo-log 文件实现的,因此也不存在快照链条的结构,且多个快照之间没有依赖关系,不会因为快照深度、数量、主机重启等条件影响性能。独立的元数据信息和更大的存储数据块(extent)也使得 SMTX OS 可以避免遍历快照,也不会因为 I/O 类型、VMDK 格式等因素影响 I/O 性能。
当然,在 SMTX OS 虚拟机创建快照后,在短时间内性能还是会有下降,但可逐步恢复到快照前的性能水平(恢复时间约为 20 分钟),这与 vSphere 就有很大的区别。欲深入了解 SMTX OS 与 vSphere 的快照原理和性能对比,请阅读:VMware 与 SmartX 快照原理浅析与 I/O 性能对比。
Q:虚拟机执行一致性快照后,查看快照容量大小为 0,这正常么?
A:由于 SMTX OS 虚拟机快照是由元数据与 extent 组成,虚拟磁盘(vDisk)自身的元数据信息记录了原始的 extent 映射关系。当执行快照后,系统将生成独立的快照的元数据信息并记录快照相关的 extent 映射关系(如下图)。当数据未发生任何变化时,快照与 vDisk 对应的 extent 是完全一致的,也就是快照与 vDisk 共享所有数据块,因此,这个时候快照并不额外占据任何存储空间。当之后数据发生变化,快照的空间会随之增长。欲了解详细原理,请参考上述引用文章。
Q:我们之前用 VMware 虚拟化的时候,当存储空间可用空间不足时,快照可能无法删除。如果在 SMTX OS 集群中删除快照,是否也需要预留足够的空间才能执行?
A:vSphere 环境下,删除快照可能需要占用额外的空间,这是因为 vSphere 中快照是基于快照链结构的,删除快照前可能需要进行多次快照合并。如果虚拟机的磁盘是厚格式磁盘,合并操作会将数据直接合并到基础磁盘,整个删除操作不需要额外的空间;但如果是瘦格式磁盘,删除快照的过程中,最坏的情况是需要额外占据整个虚拟磁盘的空间,也会带来较大的性能损耗。而 SMTX OS 的快照不是基于快照链结构的,快照间相互独立,因而不会出现占用额外空间的情况。更详细的解析,请参考上述引用文章。
I/O 本地化
Q:SMTX OS 的 I/O 本地化是如何实现的?会不会出现数据利用率/性能不均衡的问题?
A:ZBS(SmartX 自研的分布式块存储软件)会将虚拟磁盘切分为多个数据块(extent),并为数据块提供 2 副本或 3 副本的数据冗余保护。在 2 副本情况下,虚拟机运行所在主机放置一份虚拟磁盘的完整副本,另外一份副本则放置在远程主机。在进行读操作时,可保证请求 100% 不经过网络直接本地返回,写操作 50% 在本地发生,通过本地化 I/O 路径降低远程读写带来的访问延迟。
同时,SMTX OS 内置了数据平衡功能,会根据节点存储容量负载情况自动执行数据迁移,确保一定程度的数据平衡。但数据本地化策略依然是优先的策略,当系统发现节点容量过高,它会优先尝试迁移非本地虚拟机非活跃的数据副本以维持数据容量均衡。SMTX OS 的数据平衡也是以 extent 为单位执行数据迁移的。
欲深入了解 SMTX OS I/O 路径设计,请阅读:浅析 VMware 与 SmartX 超融合 I/O 路径差异及其影响。
Q:I/O 本地化之后虚拟机发生迁移,相应的存储也会随之迁移么?
A:SMTX OS 针对这类场景提供了专门的 I/O 路径优化:当虚拟机迁移后,新写入的数据将直接存放在本地新节点,并且会在 6 小时后,将虚拟机原有节点上对应的数据副本移动到新节点,重新形成数据本地化,同时可以解决迁移后远程读的问题。
Q:ZBS 的 I/O 本地化与其他厂商策略有什么区别?
A:我们以 VMware 和 Nutanix 超融合的 I/O 路径为例进行下对比。
与 vSAN 的区别:vSAN 并没有 I/O 本地化策略,其本质是对象存储,在 FTT=1 的存储策略下,虚拟磁盘的副本数量是 2,两个副本会分别放置在 2 台不同的服务器主机上。vSAN 对于副本(object)的放置并没有优先写入本地的策略,而是随机写入两个节点;在读取上,vSAN 虽有平衡读机制,但即使虚拟机所在的主机本地有数据副本,也将会有 50% 的读取是通过网络进行的。更多对比细节,请参考上述引用文章。
与 Nutanix 的区别:SmartX 和 Nutanix 超融合 I/O 本地化的大致原理是类似的,因为两者都是通过元数据去精准控制副本的位置从而实现数据本地化。不过在实现方法上略有不同:Nutanix 超融合是通过分布式数据库去存放元数据表的,而 SmartX 是设计了一个 Meta Server,支持通过 Meta Leader 去实现元数据的差量同步。欲了解更深入的技术解析,请参考:分布式块存储 ZBS 的自主研发之旅 | 架构篇。
集群高可用与容灾备份
Q:主机断电/单个硬盘损坏后,数据会丢失吗?虚拟机会自动重启吗?
A:SmartX 超融合自带多种数据保护和高可用机制,保障业务连续运行:
多副本机制不仅可以在服务器硬件故障时确保数据冗余不丢失、数据访问不中断,还可以利用已有空间自动完成数据的副本恢复,将数据恢复至正常状态。
虚拟机 HA 可为关键业务虚拟机开启“高可用”保护,当主机故障时,受影响的虚拟机可在 3 分钟内迁移到其他可用节点并自动重启恢复业务,整个过程无需人工干预。
对于有更高级别高可用需求的用户,SmartX 可提供双活集群和跨站点异步复制等灾备方案,在发生机房等级别的故障时,仍可保障核心生产业务无中断。
Q:同城双活支持 Oracle 数据库么?
A:支持。某 SmartX 制造业用户已采用 SmartX 超融合双活集群,实现跨厂区部署 Oracle RAC 集群,支撑 ERP、MES、OA 等核心应用系统,实现了两个站点之间的数据完全同步,达到“RPO=0,分钟级 RTO”的容灾效果。欲了解该用户实践,请阅读:SmartX 超融合灾备方案效果如何?来看 3 例制造用户实践。
部署运维与操作
Q:SMTX OS 怎样设置副本数?副本数能否针对单独的存储卷设置?可以设置单副本吗?
A:副本设置可在创建虚拟机时选择对应的副本策略。副本数可以针对虚拟机不同的虚拟磁盘分别进行设置。当前可支持的副本策略有 2 副本和 3 副本,但不支持设置单副本,主要因为单副本不具备任何数据冗余保护功能。
Q:SMTX OS 社区版如何从 2 节点扩展至 3 节点?
A:社区版推荐 3 节点部署,如前期资源比较紧张,可先进行两节点部署(2 节点集群不支持高可用),后续再扩容为标准的 3 节点集群(支持高可用)。扩容操作需在 CloudTower 界面上进行,扩容成功后需要执行后台命令进行角色转换(2 节点扩展至 3 节点必须的操作),详细方法可以在用户社区群咨询。
Q:SMTX OS 安装 Windows 虚拟机时需要加载 virtio 硬盘驱动,但为什么 PVE(开源产品) 就不需要安装 virtio 驱动?
A:PVE 在安装类型为 Windows 的虚拟机时,默认使用 IDE 磁盘总线,而不是性能更好的 virtio 总线(Windows 光盘中不带 virtio 驱动),因此,PVE 在安装 Windows 操作系统时无需额外加载 virtio 驱动。而 SMTX OS 安装虚拟机时默认选用性能更好的 virtio 总线(Linux 系统安装光盘一般包含该驱动,而 Windows 系统安装光盘不包含该驱动),因此需要额外加载驱动。
Q:在集群中卸载 SSD 的时间挺长的,是为了不影响集群性能所以限速了吗?
A:执行卸载 SSD 操作后,系统会将 SSD 的数据通过数据迁移的方式迁移到其他节点,同时系统会根据集群的负载情况对迁移进行限速,卸载过程需要等待 SSD 上的数据完成迁移,因此持续时间会比较长。
Q:系统警告存储平均延时过大,一般要调查哪些因素呢?
A:触发存储平均延时过大警告一般有两个可能性:
1. 某块磁盘(或者对应的磁盘控制器)发生故障了,导致访问延时增大,这种情况可以查看系统是否有磁盘健康相关的警告并作进一步的处理。
2. 缓存空间比例过小,部分热数据无法在缓存命中。这种情况下可通过监控分析菜单中查看集群的缓存命中率,如果缓存命中率持续偏低,则需要考虑扩展缓存空间。
Q:SmartX 超融合两个集群之间的 ISO 镜像可以共用吗?
A:可以共用,如果当前这个集群上没有该镜像,通过内容库中将镜像分发到对应集群,即可使用。
Q:CloudTower 界面中的虚拟机 CPU 插槽对应的物理服务器是?
A:物理 CPU 插槽和虚拟机的 CPU 插槽并没有一一对应的关系。如:一台物理服务器有 2 个 CPU 插槽(socket),每个 CPU 有 10 核(core),那么实际上就有 20 core,如果 CPU 支持超线程的功能,就可以在不超分的情况下提供 40 个 vCPU;而 40个 vCPU 是总数,可以灵活地分配到虚拟机中,而每台虚拟机的 vCPU 总数 = 虚拟 CPU 插槽和虚拟 CPU 核数的乘积,如 4 vSocket x 10 vCore = 40 vCPU,也可以是 2 vSocket x 20 vCore = 40 vCPU。
Q:部署 SmartX 超融合集群,网络交换机需要做什么配置?
A:交换机一般都不需要做特殊配置,生产环境建议交换机做高可用(2 台交换机堆叠或虚拟化);另外,如果需要做基于 IP 的网络负载均衡,交换机配置 LACP,且在 SMTX OS 中设定绑定模式为 balance-tcp。
Q:部署 SMTX OS 集群是否可以刚开始使用一块 SSD 作为缓存,后面再扩另外一块?
A:部署 SMTX OS 集群要求所有正式环境每个节点至少配置两块 SSD 作为缓存盘(同时承担系统盘作用),2 块 SSD 可确保支持缓存盘和系统的高可用。如果在集群初始化的时候只配置一块 SSD 作为缓存盘,后续扩展至 2 块 SSD 可扩展缓存空间,但依然无法支持故障切换的功能。因此建议在集群初始化的时候就为每个节点配置 2 块 SSD。
还有其他疑问?您可访问 SmartX 官网博客获取完整答疑合集:https://www.smartx.com/blog/2022/02/smtx-os-faqs/,或扫描下图二维码,添加管理员微信,加入 SmartX 用户社区,与社区用户、行业专家进行深入探讨。
点击阅读原文,下载《超融合从评估到落地:用户常见问题解答》电子书,系统了解超融合从评估到落地中遇到的各种问题。