,网上关于Ceph的介绍很多,这里不再赘述。SageWeil在读博士期间开发了这个惊人的分布式存储系统。起初,他想要一个高性能的分布式文件系统。结果,当云计算开始流行时,Ceph的重心转向了分布式块存储(BlockStorage)和分布式对象存储(ObjectStorage),而现在分布式文件系统CephFS还处于测试阶段。Ceph是目前最流行的用于云计算和虚拟机部署的开源存储解决方案。据说有20%的OpenStack部署存储使用了Ceph的块存储。Ceph提供了三种存储方式:对象存储、块存储和文件系统。下图很好的展示了Ceph存储集群的架构:ceph-cluster我们主要关注的是块存储,下半年我们会逐步将虚拟机后端存储从SAN过渡到Ceph。虽然还是0.94版本,但Ceph现在已经比较成熟了。一位同事已经在生产环境中运行Ceph两年多了。他遇到过很多问题,但最终都解决了。可见Ceph还是非常稳定可靠的。硬件环境准备了6台机器,其中3台物理服务器作为监控节点(mon:ceph-mon1、ceph-mon2、ceph-mon3),2台物理服务器作为存储节点(osd:ceph-osd1、ceph-osd2),以及一台虚拟机作为管理节点(adm:ceph-adm)。Ceph需要奇数个监控节点,而且至少3个(如果自己玩的话,1个也是可以的),ceph-adm是可选的,可以把ceph-adm放在monitor上,但是放ceph-adm更清楚分别看结构。当然你也可以把mon放到osd上,生产环境不推荐。ADM服务器的硬件配置比较随意,使用低配置的虚拟机就可以了,只用来操作和管理Ceph;MON服务器有2块硬盘组成RAID1,用于安装操作系统;OSD服务器使用10块4TB硬盘做Ceph存储,每个osd对应1个硬盘,每个osd需要1个Journal,所以10个硬盘需要10个Journal。我们使用2块大容量SSD硬盘作为日志,每块SSD平均分为5个区域。每个区域对应一个osd硬盘的一个journal,其余两块小容量SSD用于安装操作系统,采用RAID1。配置清单如下:软件环境准备Ceph集群所有节点使用CentOS7.1版本(CentOS-7-x86_64-Minimal-1503-01.iso),所有文件系统采用Ceph官方推荐的xfs,操作系统为所有节点都安装在RAID1上,其他硬盘单独使用,不做任何RAID。安装好CentOS之后,我们需要安装(包括ceph-adm)做一些基本的配置,比如关闭SELINUX,开启防火墙端口,同步时间等:在每台osd服务器上,我们需要分区10块SAS硬盘,创建一个xfs文件系统;使用2块作为journal的SSD硬盘分为5个区域,每个区域对应一个硬盘。无需创建文件系统并交给Ceph处理。上面的命令行需要处理10个硬盘,重复操作太多。以后会陆续添加服务器,写成脚本parted.sh方便操作,其中/dev/sda|b|d|e|g|h|i|j|k|l分别为10块硬盘,/dev/sdc和/dev/sdf作为journalSSD:在ceph-adm上运行ssh-keygen生成sshkey文件,注意passphrase为空,复制sshkey到各个Ceph节点:在ceph-adm上登录各个节点,确认可以不用密码ssh,确保不会再出现烦人的连接确认:Ceph部署对比在各个Ceph节点手动安装Ceph,使用ceph-deploy工具统一安装就方便多了:创建一个ceph工作目录,后面的所有操作都在这个目录下进行:初始化集群,告诉ceph-deploy哪些节点是监控节点,并且命令执行成功后,会在ceph的-cluster目录下生成ceph.conf、ceph.log、ceph.mon.keyring等相关文件:在各个Ceph节点上安装Ceph:初始化监控节点:检查Ceph存储节点的硬盘:初始化Ceph硬盘,然后创建一个osd存储节点,存储节点:单个硬盘:对应的journal分区,一一对应:***,我们把ceph-adm生成的配置文件同步部署到其他几个节点,这样各个节点的ceph配置是否一致:测试一下是否配置成功?增加PG个数,根据公式TotalPGs=(#OSDs*100)/poolsize确定pg_num(pgp_num要设置成和pg_num一样),所以20*100/2=1000,Ceph官方推荐就是取最接近2的指数倍数,所以选择1024。顺利的话,应该可以看到HEALTH_OK:更详细:如果运行没有问题,记得把上面的运行写到ceph里面。奇怪的问题无法解决,可以干脆全部删掉重新开始:Troubleshooting如果有网络问题,首先确认节点之间可以免密码ssh,关闭各节点的防火墙或者添加到规则:第一次安装Ceph,会遇到各种各样的问题,一般来说,排除故障是很顺利的。随着经验的积累,Ceph会在今年下半年逐步加入到生产环境中。
