硬件配置

硬件配置

我们刚刚安装了一个由 6 台 Proxmox 服务器组成的集群,使用 3 个节点作为 Ceph 存储,3 个节点作为计算节点。

我们的集群的性能和稳定性遇到了奇怪且严重的问题。

当直接通过 SSH、RDP 或 VNC 控制台访问时,虚拟机和 Proxmox Web 访问往往会无缘无故地挂起,时间从几秒钟到几分钟不等。甚至 Proxmox 主机似乎也遥不可及,正如此监控捕获中所示。这还会导致 Proxmox 集群问题,一些服务器不同步。 在此处输入图片描述

例如,在测试主机节点之间的 ping 时,它可以完美地进行几次 ping,挂起,继续(没有任何 pingback 时间增加 - 仍然 <1ms),再次挂起等。

我们最初遇到了一些性能问题,但这些问题已通过将 NIC 的 MTU 调整为 9000(+1300% 读/写改进)得到解决。现在我们需要让这一切稳定下来,因为目前它还不能投入生产。

硬件配置

我们的网络架构与 Ceph 官方文档中描述的类似,有一个 1 Gbps 的公共网络和一个 10 Gbps 的集群网络。它们连接到 6 台服务器中的每台的两个物理网卡。 在此处输入图片描述

存储服务器节点:

  • CPU:Xeon E-2136(6 核,12 线程),3.3 GHz,Turbo 4.5 GHz
  • 内存:16 GB
  • 贮存:
    • 2x RAID 1 256 GB NVMe,LVM
      • 系统根逻辑卷:15 GB(~55% 可用)
      • 交换:7.4 GB
      • OSD2 的 WAL:80 GB
    • 4 TB SATA 固态硬盘 (OSD1)
    • 12 TB SATA 硬盘 (OSD2)
  • 网络接口控制器:
    • 英特尔公司 I350 千兆:连接到公共 1 Gbps 网络
    • Intel 公司 82599 10 Gigabit:连接到 10 Gbps 集群(内部)网络

计算服务器节点:

  • CPU:Xeon E-2136(6 核,12 线程),3.3 GHz,Turbo 4.5 GHz
  • 内存:64 GB
  • 贮存:
    • 2x RAID 1 256 GB SATA SSD
      • 系统根逻辑卷:15 GB(~65% 可用)

软件:(在所有 6 个节点上)

  • Proxmox 7.0-13,安装在 Debian 11 之上
  • Ceph v16.2.6,使用 Proxmox GUI 安装
  • 每个存储节点上的 Ceph Monitor
  • 存储节点 1 + 3 上的 Ceph 管理器

Ceph 配置

集群的ceph.conf:

[global]
     auth_client_required = cephx
     auth_cluster_required = cephx
     auth_service_required = cephx
     cluster_network = 192.168.0.100/30
     fsid = 97637047-5283-4ae7-96f2-7009a4cfbcb1
     mon_allow_pool_delete = true
     mon_host = 1.2.3.100 1.2.3.101 1.2.3.102
     ms_bind_ipv4 = true
     ms_bind_ipv6 = false
     osd_pool_default_min_size = 2
     osd_pool_default_size = 3
     public_network = 1.2.3.100/30

[client]
     keyring = /etc/pve/priv/$cluster.$name.keyring

[mds]
     keyring = /var/lib/ceph/mds/ceph-$id/keyring

[mds.asrv-pxdn-402]
     host = asrv-pxdn-402
     mds standby for name = pve

[mds.asrv-pxdn-403]
     host = asrv-pxdn-403
     mds_standby_for_name = pve

[mon.asrv-pxdn-401]
     public_addr = 1.2.3.100

[mon.asrv-pxdn-402]
     public_addr = 1.2.3.101

[mon.asrv-pxdn-403]
     public_addr = 1.2.3.102

问题:

  1. 我们的架构正确吗?
  2. 是否应通过公共网络访问 Ceph 监视器和管理器?(这是 Proxmox 的默认配置给我们的)
  3. 有人知道这些干扰/不稳定性从何而来以及如何解决这些问题吗?

[编辑]

  1. 当您有 3 个存储节点时,使用默认池大小 3 是否正确?我最初打算使用 2,但找不到类似的例子,所以决定使用默认配置。

发现的问题

  • 我们注意到 arping 不知何故从两个 MAC 地址(公共 NIC 和私有 NIC)返回 ping,这没有任何意义,因为它们是单独的 NIC,由单独的交换机连接。这可能是网络问题的一部分。
  • 在其中一个虚拟机上执行备份任务(备份到 Proxmox 备份服务器,物理上远程)时,它似乎以某种方式影响了集群。虚拟机卡在备份/锁定模式,即使备份似乎已正确完成(在备份服务器上可见且可访问)。
  • 自第一次备份问题以来,Ceph 一直在尝试重建自身,但未能成功。它处于降级状态,表明它缺少 MDS 守护进程。但是,我仔细检查了一下,存储节点 2 和 3 上有正常工作的 MDS 守护进程。它一直在重建自身,直到卡在这种状态。

状态如下:

root@storage-node-2:~# ceph -s
  簇:
    编号:97637047-5283-4ae7-96f2-7009a4cfbcb1
    健康:HEALTH_WARN
            可用的备用 MDS 守护进程不足
            背部 OSD 心跳缓慢(最长 10055.902 毫秒)
            前端 OSD 心跳缓慢(最长 10360.184 毫秒)
            数据冗余度降低:141397/1524759 个对象已降级(9.273%),156 个 pg 已降级,288 个 pg 大小不足
 
  服务:
    mon:3 个守护进程,法定人数为 asrv-pxdn-402、asrv-pxdn-401、asrv-pxdn-403(年龄为 4 个月)
    mgr:asrv-pxdn-401(活跃,自 16 分钟以来)
    mds: 1/1 守护进程启动
    osd:6 osds:4 个启动 (自 22 小时以来),4 个进入 (自 21 小时以来)
 
  数据:
    卷数:1/1 健康
    池:5 个池,480 个 pgs
    对象:691.68k 个对象,2.6 TiB
    使用情况:已使用 5.2 TiB,可用 24 TiB / 29 TiB
    pgs:141397/1524759 个对象已降级 (9.273%)
             192 活性+清洁
             156 活跃+尺寸不足+退化
             132 活跃+小尺寸

[编辑2]

root@storage-node-2:~# ceph osd 树
ID 类别 权重 类型 名称 状态 重新加权 PRI-AFF
-1 43.65834 根默认值                                     
-3 14.55278 主机 asrv-pxdn-401                           
 0 hdd 10.91409 osd.0 启动 1.00000 1.00000
 3 SSD 3.63869 OSD.3 上 1.00000 1.00000
-5 14.55278 主机 asrv-pxdn-402                           
 1 硬盘 10.91409 osd.1 启动 1.00000 1.00000
 4 SSD 3.63869 OSD.4 上 1.00000 1.00000
-7 14.55278 主机 asrv-pxdn-403                           
 2 hdd 10.91409 osd.2 关闭 0 1.00000
 5 ssd 3.63869 osd.5 停机 0 1.00000

答案1

问题已得到解决。实际上有两个独立的问题:

  1. 上游交换机存在配置问题,导致网络陷入混乱(由我们的数据中心合作伙伴管理)。
  2. 我们必须将 MTU 设置为 9000都是私人的公共网络否则,我们的网络通信将出现严重的中断。

希望这对其他人有帮助。

干杯,D

相关内容