Proxmox VE + Ceph 超融合项目实战(第七部分:Ceph分布式存储)
七、Ceph分布式存储
Ceph以其先进的去中心化设计,成为了分布式块存储领域的佼佼者,它可以将多台服务器中的硬盘聚合成一个集群,对外可提供文件存储、块存储、对象存储等多种形式,Ceph的另一个特点是数据采用多副本方式存储,避免由于单点故障造成的业务中断和数据丢失。
7.1 Ceph的注意事项
Proxmox VE提供了简单易用的Ceph 安装向导,选中集群中的一个节点,然后在菜单树中打开Ceph菜单区,就可以开始安装Ceph 了。
安装向导有多个步骤,每个步骤都需要执行成功才可以完成Ceph 安装。开始安装操作后,向导会自动从Proxmox VE 的Ceph 软件源下载软件包并完成安装。
完成第一个步骤后,还需要创建配置。对每个集群,生成的配置信息会自动分发到其他节点,所以该操作只需要执行一次即可。
创建的配置包括以下信息:
- 1)Public Network
为避免影响集群通信等其他对网络延迟敏感的服务,也为了提高Ceph 性能,强烈建议为Ceph 准备一个专门的独立网络,将Ceph流量隔离开来。
- 2) Cluster Network
进一步,还可以设置Cluster Network,将OSD复制和心跳流量隔离出来。这将有效降低public network的负载,并有效改善大规模Ceph集群的性能。
7.2 初始化Ceph安装和配置
每个节点都需要安装Ceph,每个节点的Ceph安装基本相同,这里只演示节点1的Ceph安装。
- 第一步:在节点1界面中,选择“Ceph→Install Ceph”,点击“Install Ceph”按钮,如图47所示。
图47. Ceph安装向导
- 第二步:选择“设定→信息→Start octopus installation”,点击“Start octopus installation”按钮,如图48所示。
图48. 选择15.2版本进行安装
- 第三步:选择“设定→安装”,输入“Y”之后,按回车键,自动安装Ceph,如图49所示。
图49. 自动安装Ceph
- 第四步:安装完成之后,继续点击“下一步”按钮,安装成功之后,会提示安装成功的信息“installed ceph octopus successfully”,如图50所示。
图50. Ceph安装成功
- 第五步:完成Ceph集群配置信息,包括公共网络IP、集群网络IP等信息,如图51所示。
图51. Ceph集群配置
- 第六步:完成配置信息,Ceph安装成功,如图52所示。
图52. Ceph安装成功
- 第七步:查看配置信息,如图53所示。
图53. Ceph的配置信息
7.3 配置Ceph监视器
Ceph安装完成之后,节点1出现“监视器”和“管理员”中,还需要把节点2和节点3添加进来。在本项目中,监视器节点和管理员节点信息如图54所示。
图54. Ceph的配置信息
从图54中可以发现,监视器和管理网络使用的都是公共网络,没有使用集群网络。
- 第一步:在节点1的监视器中,创建另外两个节点的监视器,点击“创建”按钮,如图55所示。
图55. 创建节点2监视器
- 第二步:在节点1的管理员,创建另外两个节点的管理员,点击“创建”按钮,如图56所示。
图56. 创建节点2管理员
- 第三步:在Ceph监控界面查看节点的监视器和管理HA,选择“bve-node1→Ceph”,如图57所示。
Ceph的监控UI界面中,监视器和管理HA如图57中的红框所示:
图57. Ceph的监视器和管理HA界面
7.4 配置Ceph的OSD
由图3可知,各节点服务器支持八个盘位,其中sdc和sdd组成RAID1,作为系统盘使用,所以Ceph的OSD需要选择未做RAID的硬盘,每个节点的OSD只有6个。
本项目中,三个节点的Ceph的OSD磁盘配置信息如图58、图59所示。
图58. OSD配置信息-1
图59. OSD配置信息-2
- 第一步:创建节点1的OSD
从节点1中登录集群,在节点1中,选择“Ceph→OSD→创建:OSD”,在磁盘中,逐次添加sda、sdb、sde、sdf、sdg、sdh这6块没有被使用的磁盘,数据库磁盘和WAL磁盘保持默认即可,如图60所示。
图60. 创建OSD
注意,在本项目中,数据库磁盘(DB Disk)和WAL磁盘(WAL Disk)我都选择了默认方式,其实做一下硬盘规划会更好。
创建其他节点的OSD与节点1类似,这里不做详述。
- 第二步:也可以在配置信息的Crush Map查看集群的OSD配置
选择任意节点登录集群,选择“bve-node1→Ceph→配置→Crush Map”,从Crush Map中可以查看集群的OSD配置信息。
7.5 配置CephFS(可选)
7.5.1 创建CephFS
选择“bve-node1→Ceph→CephFS→创建CephFS”,选择默认值创建CephFS,创建之后如图64所示。
图64. 创建CephFS
7.5.2 元数据服务器配置
选择“bve-node1→Ceph→CephFS→元数据服务器→创建”,将节点1添加进来,如图65所示。
图65. 添加元数据服务器节点
将节点1添加到元数据服务器之后,再用同样的方法将节点2、节点3添加到元数据服务器之中去。
添加好元数据服务器节点之后,可以在Ceph监控界面看到元数据服务器的监控信息,如图67所示。
图67. 元数据服务器监控界面
7.6 配置Pools资源池
7.6.1 节点1配置Pools资源池
在Pools资源池配置之前,节点1的Pools界面如图68所示。
图68. 节点1的Pools界面
- 第一步:创建ssd_storage存储
选择“bve-node1→Ceph→Pools→创建”,点击“创建”按钮,创建名称为“ssd_storage”的存储,创建之后如图69所示。
图69. 创建ssd_storage存储
根据官方的文档,pg_num这个数值比较关键,如果不合适的话,Ceph会告警,官方建议:
若少于5个OSD, 设置pg_num为128。
5~10个OSD,设置pg_num为512。
10~50个OSD,设置pg_num为4096。
- 第二步:创建hdd_storage存储
选择“bve-node1→Ceph→Pools→创建”,点击“创建”按钮,创建名称为“hdd_storage”的存储,创建之后如图70所示。
图70. 创建hdd_storage存储
- 第三步:创建完成之后,节点1左侧的存储菜单树中会出现这两个存储名称,如图71所示,正常情况下,就可以在ssd_storage、hdd_storage上安装虚拟机了。
图71. ssd_storage与hdd_storage存储
7.6.2 节点2配置Pools资源池
节点2的Pools资源池配置与节点1的相似,不再赘述。
7.6.3 节点3配置Pools资源池
节点3的Pools资源池配置与节点1的相似,不再赘述。
7.7 Ceph磁盘管理
7.7.1 OSD磁盘下线
如果想要把一个Ceph的OSD磁盘更换下来,先选中OSD磁盘,接着按“停止”按钮先停止OSD服务,接着再按“Out”按钮,这个时候OSD.10的状态如图75所示,就可以把该磁盘取出。
图75. OSD磁盘卸载
7.7.2 OSD磁盘上线
OSD磁盘加载与OSD磁盘卸载过程刚好相反,先把磁盘插进服务器的盘位中,接着先按“in”按钮,等“in”图标变为绿色之后,再按“启动”按钮启动OSD服务,过几秒钟之后,OSD便会恢复正常,不再演示截图。