匹兹堡和克利夫兰企业的 Ceph 与 ZFS 存储
KawaConnect 为宾夕法尼亚州匹兹堡以及俄亥俄州东北部克利夫兰地区的企业设计、运行和修复存储。我们使用两种系统:用于单台服务器内部存储的 ZFS,以及用于跨多台服务器存储的 Ceph。我们自己的基础设施运行在 Ceph 上,也为客户构建 Proxmox 服务器和集群。
聊聊您的存储 Proxmox 咨询
存储服务涵盖的内容
我们选择适合您硬件和工作负载的存储设计,负责搭建并持续维护。我们也接手别人搭建的存储。
存储设计
在 ZFS 和 Ceph 之间做出选择,然后根据您运行的业务来规划磁盘、冗余和网络。
Proxmox 主机上的 ZFS
在单台或一对 Proxmox VE 主机上使用镜像或 RAID-Z 存储池,并在两者之间提供快照和复制。
Proxmox Ceph 集群
把 Ceph 集成到 Proxmox 集群中,使虚拟机磁盘存放在共享存储上,即使主机发生故障也不受影响。
健康监控
针对故障磁盘、降级的存储池和即将写满的存储发出告警,并由专人关注。
容量规划
根据镜像、奇偶校验或副本计算出可用空间,并为重建预留余量。
修复与升级
磁盘更换、降级存储池和集群的恢复,以及分阶段的版本升级,每一步都进行检查。
ZFS:单台服务器内部的存储
ZFS 集文件系统和卷管理器于一体,并内置于 Proxmox VE 中。典型的设计是一台使用 ZFS 的 Proxmox 主机,或两台相互复制的主机,并把备份保存到另一套独立系统。
- 存储池:磁盘按镜像或 RAID-Z 分组。ZFS 需要直接访问每块磁盘,而不是硬件 RAID 卷。
- 校验和与巡检:ZFS 能检测出磁盘悄悄损坏的数据,并用冗余副本修复。
- 快照:虚拟机磁盘的时间点副本,在更新或有风险的变更之前几秒钟即可完成。
- 复制:按计划把快照发送到第二台服务器。如果第一台主机发生故障,第二台会启动其虚拟机,只会丢失上次复制之后的变更。
Ceph:跨多台服务器的存储
Ceph 把多台服务器中的磁盘汇集成一个存储系统,并把每份数据的副本保存在不同的机器上。如果某块磁盘或整台服务器发生故障,数据依然可用,集群会自行重建缺失的副本。不会有任何单一存储控制器能让一切瘫痪。Ceph 以三种方式提供这个存储池:
- 块存储(RBD):供虚拟机使用的虚拟磁盘,Proxmox 使用的就是这种方式。
- 文件存储(CephFS):可由多台服务器同时挂载的共享文件系统。
- 对象存储:面向应用程序和备份软件的兼容 S3 网关。
Ceph 至少需要三台服务器、一个专用的存储网络,以及一位了解其健康状态的人。警告通常是磁盘故障或存储池接近上限的早期提示,出现时我们会立即排查。
如何选择
- 一台服务器:ZFS。Ceph 的设计目的是把数据分散到多台机器上,在单台服务器上没有任何好处。
- 两台服务器:每台使用 ZFS,并相互复制。两台服务器的 Proxmox 集群还需要一个小型的第三方设备来打破平局,让两台主机就谁来主导达成一致。
- 三台或更多服务器,且虚拟机必须在其他位置重启而不丢失任何变更:Ceph,并在主机之间配置存储网络。
- 跨多台服务器的共享文件或 S3 存储:Ceph。
ZFS 是运维起来更简单的系统。我们的 Proxmox 咨询页面介绍了这一决策中与服务器相关的部分。
容量与健康
两种系统都需要保留空闲空间。ZFS 存储池接近写满时会变慢。每个对象保存三份副本的 Ceph 集群,可用空间大约是原始空间的三分之一,而且由于它会把丢失的副本重建到剩余空间中,还需要更多余量。写满的 Ceph 集群会停止接受写入。我们设计存储容量时,会确保即使丢失一块磁盘或一个 Ceph 节点,仍有空间进行重建。
恢复降级的存储
第一条原则是避免把情况弄得更糟。在 ZFS 上,这通常意味着确认是哪块磁盘出了故障,更换它,并让存储池重建。在 Ceph 上,常见原因是磁盘故障、节点宕机、网络配置错误或集群过满。我们先找出原因,再以小步、经过验证的方式处理。
这两种系统都无法防范误删除、勒索软件或错误的变更。请把存储与经过测试的备份和恢复规划配合使用。如果存储服务于容器,请查看 Linux 与 Kubernetes 咨询。
合作流程
- 评估。我们检查硬件、网络和存储健康状况。
- 方案。您会收到一份写明风险和工作顺序的书面计划。
- 实施与验证。我们负责搭建或修复,测试故障场景,并为存储建立文档。
- 运维。可选的监控和升级,不设绑定。
我们会在一个工作日内回复。克利夫兰地区的现场工作根据项目安排。
关于企业存储的常见问题
我们应该用 ZFS 还是 Ceph?
主要取决于您有多少台服务器。一到两台适合 ZFS;三台或更多、且虚拟机需要在丢失一台服务器后仍保持运行的情况,适合 Ceph。
Ceph 需要多少台服务器?
至少三台,并在它们之间配置合适的存储网络。三台是能够在丢失一台服务器后仍继续提供数据的最小集群。
你们能接手别人搭建的 ZFS 或 Ceph 存储吗?
可以。我们检查健康状况和配置,修复存在的问题,并建立文档。
快照或 Ceph 副本可以代替我们的备份吗?
不可以。ZFS 快照与数据位于同一批磁盘上,而 Ceph 会把每一个错误复制到所有副本。保存在独立系统上的备份,才能让您从错误和攻击中恢复。
适合哪些客户
- 运行一到两台 Proxmox 主机、希望获得快照和复制副本的企业
- 运行 Proxmox 集群、需要具备故障切换的共享存储的企业
- ZFS 存储池降级或 Ceph 集群状态异常,却没有人能诊断的团队
- 希望在自有硬件上使用兼容 S3 的对象存储的运营者
相关指南
来自我们知识库的通俗讲解。
