ceph集群配置注意事项

jopen 8年前

ceph部署环境:

    硬件环境。4台4U的服务器,服务器配置信息如下:

    1)CPU是Intel Xeon E5-2650(32核心);

    2)内存大小是128GB;

    3)服务器内共有35块HDD,其中一块HDD用于安装操作系统,另外34块HDD用于ceph存储;

    4)网络采用public/cluster类型的网络;

    软件环境。

    1)操作系统:4台服务器都采用ubuntu-14.04.1;

    2)ceph软件版本:Firefly最新版(0.80.11);

出现的问题:

    当启动集群时,ceph集群中出现大量的非active+clean的PGs并且osdmap也不稳定,osd的状态在up和doan之间来回的切换。这样导致ceph集群迟迟不能处于可用状态。

问题原因:

    由于在一个host上启动的osd数量太多了(34个OSDs),导致在ceph集群启动时以及ceph集群在recovery和rebalance时,由于产生大量的线程,该线程数量已经远远超越了linux内核默认配置的系统最大线程数。

解决方案:

    linux内核默认的最大线程数是32768,可以通过命令#sysctl kernel.pid_max来查看。该最大线程数是针对桌面系统的,而对于服务器以及集群的系统来说,这个值是不够的。因此最好将该值设置成最大值,即:#sysctl -w kernel.pid_max=4194303。或者修改/etc/sysctl.conf文件,将kernel.pid_max = 4194303填写在/etc/sysctl.conf文件的末尾。

来自: http://my.oschina.net/linuxhunter/blog/592011