Proxmox VE 超融合集群创建多个Ceph Pool

Posted sery

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Proxmox VE 超融合集群创建多个Ceph Pool相关的知识,希望对你有一定的参考价值。

   作者:田逸(vx:formyz)

创建多Ceph Pool的目的

Proxmox VE集群上的虚拟机运行在高速磁盘NVME,而虚拟机附属的数据,则指定到低速、廉价、容量大的磁盘空间。为了高可用性,充分利用资源,需要让除Proxmox VE宿主二外的数据都运行在Ceph分布式存储上。

 

 

解决思路

把高速的NVMe(或者其它固态磁盘SSD)多磁盘做成一个Ceph Pool,大容量多磁盘组成另外一个Ceph Pool。

 

 

测试环境

ü  三台物理服务器,插入一块或NVMe磁盘(容量不等不影响使用和性能),数块SATA 低速硬盘,大致配置图所示。Proxmox

ü  平台版本为Proxmox VE 7.0,安装好Ceph,版本为16.2.6。

ü  服务器集群已经做好,需要使用的磁盘已经全部初始化。

 Proxmox



实验步骤

大致可分为:创建不同类型的Ceph OSD,创建Ceph crushrule,创建Ceph Pool,创建虚拟机及给虚拟机分配磁盘空间,功能验证等几个步骤。

 

创建不同类型Ceph OSD

 

1、创建SATA磁盘Ceph OSD,设备类型指定为HDD。登录Proxmox VE Web管理后台,选定物理节点,创建OSD,具体操作如图所示。

Proxmox

重复这个操作,将所有剩余的空闲SATA创建好OSD待用。

2、创建NVMe磁盘Ceph OSD,设备类型指定为NVMe,操作如下图所示。

Proxmox

重复这个步骤,将所有剩余的NVMe创建好OSD待用。

3、验证所创建的Ceph OSD。Proxmox VE 宿主系统Debian执行命令 ceph osd tree查看,生成的Ceph OSD如下:


root@pve3:~#ceph osd tree

ID  CLASS  WEIGHT   TYPE NAME      STATUS  REWEIGHT  PRI-AFF

-1         9.18233  root default                           

-7         3.68178      host pve1                          

 0   hdd  1.81879          osd.0      up   1.00000  1.00000

 5   nvme  1.86299          osd.5      up   1.00000  1.00000

-3         2.75027      host pve2                          

 1   hdd  1.81879          osd.1      up   1.00000  1.00000

 4   nvme  0.93149          osd.4      up   1.00000  1.00000

-5         2.75027      host pve3                          

 2   hdd  1.81879          osd.2      up   1.00000  1.00000

 3   nvme  0.93149          osd.3      up   1.00000  1.00000


 

创建Ceph OSD CrushRule

 

创建两个Ceph OSD Crush Rule,一个用于标识NVMe,另一个用于标识HDD。创建Crush规则暂时不能在ProxmoxVE Web管理后台进行,需要在其宿主系统Debian命令行下手动执行,所敲的命令行如下:


ceph osd crush rule create-replicated rule-nvme default  host nvme

ceph osd crush rule create-replicated rule-hdd default  host hdd


执行完毕后,再继续执行如下指令进行验证:


root@pve3:~# ceph osd crush rule ls

replicated_rule

rule-nvme

rule-hdd


 

创建Ceph Pool

 

切换到Proxmox VE Web管理后台,选定节点,创建Ceph。这里我要创建两个Ceph Pool,把不同的OSD归类到不同的Pool中。

 

1、创建NVMe磁盘Pool。命名Pool为“NVMe_pool”,选择“Crush Rule”为“nvme-rule”,单击按钮“创建”,如下图所示:Proxmox

2、创建SATA磁盘Pool。命名Pool为“HDD_pool”,选择“Crush Rule”为“hhd-rule”,单击按钮“创建”,如下图所示:

Proxmox

3、验证Ceph Pool的有效性。在Proxmox VE Web管理后台执行一个“卷迁移”操作,如下图所示。

Proxmox

切换到Proxmox VE宿主系统Debian命令行,执行“ceph osd pool stats”,查看其输入,如下图所示:

Proxmox



功能测试

 

在Proxmox VE集群创建虚拟机,磁盘存储指定“NVMe-pool”,如下图所示:

Proxmox

创建好虚拟机,并在其上安装操作系统,我测试用了Centos ,安装完系统以后,再给此虚拟机新增磁盘,“存储”指定“HDD-pool”,如下图所示:

Proxmox

进入虚拟机系统Centos,并把分配的磁盘创建文件系统,挂接上,手动创建一些文件或者目录。

 

继续在Proxmox VE Web管理后台,把虚拟机或者容器加入到高可用集群。

 

关闭Proxmox VE集群中刚创建并安装好系统的虚拟机所在的物理服务器,从Proxmox VE Web管理后台查看运行状态,等待节点成离线状态时,看虚拟机是否漂移?

 Proxmox

经过几分钟的耐心等待,虚拟机及容器漂移到正常运行的物理节点上。

Proxmox

以上是关于Proxmox VE 超融合集群创建多个Ceph Pool的主要内容,如果未能解决你的问题,请参考以下文章

001入门级的超融合私有云开源解决方案Proxmox VE之规划部署

001入门级的超融合私有云开源解决方案Proxmox VE之规划部署

000入门级的超融合私有云开源解决方案Proxmox VE之大纲

000入门级的超融合私有云开源解决方案Proxmox VE之大纲

Proxmox VE7.3+Ceph超融合私有云建设案例(低成本高价值,拿走不谢)

proxmox VE超融合集群无故障运行超过600天