Proxmox+Ceph的HCI环境搭建
https://www.kclouder.cn/dfs/ceph/
1条回复
PVE支持Ceph,包括内置Ceph及外连Ceph。通过PVE内建Ceph集群,可以构建出超融合架构,并实现集中
统一管理。通过外连Ceph集群,无法实现集中管理,但是Ceph集群可以提供给其它平台使用。各有各的好
处。本文采用PVE内建Ceph集群的方式来搭建一个PVE超融合架构。
部署环境
PVE-1 172.16.80.86 Hostname: PVE-1
PVE-2 172.16.80.87 Hostname: PVE-2
PVE-3 172.16.80.88 Hostname: PVE-3
NFS 172.16.80.75 Hostname: NFS
PVE配置:
每个PVE节点配置:8vCPU,64GB内存,sda:100GB,sdb:1TB,一个网卡,挂载PVE ISO。
注意:
在PVE 5.x版本中,如果要使用内置的Ceph,需要购买订阅,也就是说内置Ceph功能现在已经是需要付费购
买的了。所以本次演示使用的是PVE 4.4版本。
![](https://www.kclouder.cn/wp-content/uploads/2018/11/48.png)
创建PVE虚拟化集群
1,首先安装三台PVE主机,安装过程参考本站之前的文章。
2,PVE主机安装就绪后,创建PVE Cluster虚拟化集群。住意在4.4版本中无法通过WEB控制台创建集群,
需要通过PVE_shell创建。
3,在PVE1节点执行以下命令:
pvecm create vclusters
4,在另外两个节点执行以下命令,加入集群
pvecm add 172.16.80.86
5,查看PVE集群状态,确认集群已经正确建立
pvecm status
![](https://www.kclouder.cn/wp-content/uploads/2018/11/49.png)
6,配置PVE所有节点的NTP服务,在所有节点执行以下命令,这里我有一台NTP服务器地址为172.16.0.1,
实际安装时根据自己环境的实际情况进行配置。
vi /etc/systemd/timesyncd.conf
修改NTP Server如下图
systemctl restart systemd-timesyncd
![](https://www.kclouder.cn/wp-content/uploads/2018/11/44.png)
安装配置Ceph集群存储
1,在所有节点上使用以下命令安装Ceph。
pveceph install –version hammer
![](https://www.kclouder.cn/wp-content/uploads/2018/11/37.png)
![](https://www.kclouder.cn/wp-content/uploads/2018/11/38.png)
2,配置ceph集群存储网络,在主节点上执行以下命令
pveceph init –network 172.16.0.0/16
3,创建ceph集群存储Mon监控,在所有节点上执行以下命令
pveceph createmon
![](https://www.kclouder.cn/wp-content/uploads/2018/11/39.png)
4,创建ceph集群存储OSD服务,这里我们采用每个节点上的/dev/sdb来创建OSD,在所有节点上执行以
下命令:
pveceph createosd /dev/sdb
![](https://www.kclouder.cn/wp-content/uploads/2018/11/40.png)
5,创建完成后,查看OSD运行状态,确认OSD运行正常:
ceph osd stat
ceph osd tree
![](https://www.kclouder.cn/wp-content/uploads/2018/11/50.png)
6,创建集群存储资源池,PVE内建Ceph采用的是rbd的模型:最外层是pool,相当于一块磁盘,默认的
pool名字叫做rbd。每个pool里面可以有多个image,相当于文件夹。每个image可以映射成一个块设备,
有了设备就可以加载它。在PVE-1节点上执行以下命令:
ceph osd pool create pvepool1 128 128
128代表placement-group的数量。每个pg都是一个虚拟节点,将自己的数据存在不同的位置。这样一旦
存储宕机,pg就会选择新的存储,从而保证了自动高可用。
![](https://www.kclouder.cn/wp-content/uploads/2018/11/41.png)
7,复制存储ID和密钥到指定文件位置,在PVE-1节点执行以下操作:
cd /etc/pve/priv/
mkdir ceph
cp /etc/ceph/ceph.client.admin.keyring ceph/my-ceph-storage.keyring
8,查看Ceph集群状态。
ceph -s
![](https://www.kclouder.cn/wp-content/uploads/2018/11/42.png)
9,在PVE web控制台,查看Ceph集群的状态,,包括配置、MON、OSD、Pool等状态正确无报错或告警。
![](https://www.kclouder.cn/wp-content/uploads/2018/11/51-1024x392.png)
![](https://www.kclouder.cn/wp-content/uploads/2018/11/52.png)
![](https://www.kclouder.cn/wp-content/uploads/2018/11/53.png)
![](https://www.kclouder.cn/wp-content/uploads/2018/11/54.png)
添加RBD集群存储
1,点击数据中心-存储-添加,选择“RBD”
![](https://www.kclouder.cn/wp-content/uploads/2018/11/55.png)
2,ID填写ceph,这个不能随便写,只能写ceph,Monitor项填写三个节点的IP地址,用空格隔开,节点可
以默认也可以手动选择,内容默认为磁盘映像,用来保存VM虚拟机磁盘文件。也可以添加选择存储LXC容器。
![](https://www.kclouder.cn/wp-content/uploads/2018/11/56.png)
3,如下图,添加完成后,这里有ceph存储用来安装虚拟机,另外我这里还添加了一个NFS共享,用来共享
文件,主要是用来存放安装映像ISO和备份文件。
![](https://www.kclouder.cn/wp-content/uploads/2018/11/57.png)
4,如下图,Ceph存储添加完成后,确认配置已经生效并且运行状态正常。
![](https://www.kclouder.cn/wp-content/uploads/2018/11/58-1024x623.png)
5,查看rbd集群存储配置信息
cat /etc/pve/storage.cfg
![](https://www.kclouder.cn/wp-content/uploads/2018/11/60.png)
安装虚拟机
1,创建一台虚拟机,选择安装NFS中的Windows2016进行测试
![](https://www.kclouder.cn/wp-content/uploads/2018/11/45.png)
2,虚拟机磁盘选择安装到Ceph存储。
![](https://www.kclouder.cn/wp-content/uploads/2018/11/46.png)
3,确认VM配置正确后,开启虚拟机正常安装即可。
![](https://www.kclouder.cn/wp-content/uploads/2018/11/47.png)
4,虚拟机安装完成。
![](https://www.kclouder.cn/wp-content/uploads/2018/11/59-1024x873.png)
HCI集群测试
1,虚拟机在线热迁移,右键点击虚拟机,点击迁移。
![](https://www.kclouder.cn/wp-content/uploads/2018/11/61.png)
2,选择目标节点,点击迁移
![](https://www.kclouder.cn/wp-content/uploads/2018/11/62.png)
3,迁移速度很快,这里测试迁移仅需5秒左右。迁移过程中,虚拟机的运行不会受到影响。
![](https://www.kclouder.cn/wp-content/uploads/2018/11/63.png)
4,测试VM的高可用,点击数据中心-HA,点击添加,输入VM ID。
![](https://www.kclouder.cn/wp-content/uploads/2018/11/64.png)
5,VM 高可用状态正常,可以看到因为VM现在在PVE-2节点上运行,所以其master为pve-2
![](https://www.kclouder.cn/wp-content/uploads/2018/11/65.png)
6,将PVE-2关机,模拟节点发生宕机故障
7,PVE-2关机后,虚拟机自动漂移到PVE-1上运行,
![](https://www.kclouder.cn/wp-content/uploads/2018/11/66.png)
8,再次查看虚拟机HA状态,master已经变为PVE-1
![](https://www.kclouder.cn/wp-content/uploads/2018/11/67.png)
9,PVE-2节点关机后,Ceph状态为降级,但仍然可以使用。
![](https://www.kclouder.cn/wp-content/uploads/2018/11/68.png)
![](https://www.kclouder.cn/wp-content/uploads/2018/11/69.png)
![](https://www.kclouder.cn/wp-content/uploads/2018/11/70.png)
10,将PVE-2节点开机,Ceph存储会自动进行重建,并恢复正常。
![](https://www.kclouder.cn/wp-content/uploads/2018/11/71.png)
![](https://www.kclouder.cn/wp-content/uploads/2018/11/72.png)
11,PVE集群状态也恢复正常
![](https://www.kclouder.cn/wp-content/uploads/2018/11/73.png)
![](https://www.kclouder.cn/wp-content/uploads/2018/11/74.png)