2.4. Ceph 网络 messenger
messenger 是 Ceph 网络层实施。红帽支持两种 messenger 类型:
-
simple -
async
在 Red Hat Ceph Storage 3 及更高版本中,sync 是默认的 mesenger 类型。要更改 messenger 类型,请在 Ceph 配置文件的 [global] 部分中指定 ms_type 配置设置。
对于 async messenger,红帽支持 posix 传输类型,但目前不支持 rdma 或 dpdk。默认情况下,Red Hat Ceph Storage 3 或更高版本中的 ms_type 设置反映 async+posix,其中 async 是 messenger 类型,posix 作为传输类型。
SimpleMessenger
SimpleMessenger 实施使用每个套接字有两个线程的 TCP 套接字。Ceph 将每个逻辑会话与连接相关联。管道处理连接,包括每个消息的输入和输出。尽管 SimpleMessenger 对 posix 传输类型有效,但它不适用于 rdma 或 dpdk 等其他传输类型。
AsyncMessenger
因此,AsyncMessenger 是 Red Hat Ceph Storage 3 或更高版本的默认 mesenger 类型。对于 Red Hat Ceph Storage 3 或更高版本,AsyncMessenger 实现使用带有固定大小的线程池的 TCP 套接字进行连接,这应该等于副本或纠删代码区块的最大数量。如果性能因为 CPU 数量较低或每个服务器有大量 OSD,可以将线程数设置为较低值。
红帽目前不支持其他传输类型,如 rdma 或 dpdk。