PROXMOX创建CEPH笔记
1、准备工作
集群内各主机一定要先做校时,保证各节点时间一致,要么安装ntpdate,要么安装chrony(建议使用这个,实现自动校时)
可参考文章:
https://blog.csdn.net/wylfengyujiancheng/article/details/88298708
https://blog.csdn.net/m0_47476627/article/details/126003791
使用内部时间源:192.168.1.1,需要到每个节点上执行一次
echo 'server 192.168.1.1 iburst' > /etc/chrony/sources.d/local-ntp-server.sources chronyc reload sources
2、创建monitor和manager,可以只在其中一节点执行
3、创建OSD
前提:每个节点目前配置2块500G SSD(通过服务器阵列卡做了RAID1,proxmox显示为/dev/sdb),3块4T HDD(通过阵列卡做了3个RAID0,阵列卡不支持直通JBOD,proxmox显示为/dev/sdc /dev/sdd /dev/sde)
准备工作,首先要分析做好db disk和wal disk的规划(这两个disk用的是同一块SSD),每个data disk(就是最终存数据的HDD),网上文章都说多data disk可以共用db disk和wal disk,都是片子,实际操作中,每个data disk都需要自已的db disk和wal disk,而且db disk和wal disk不能共用,所以,因有3个data disk,故需将/dev/sdb或分为6个分区
parted -s /dev/sdb mklabel gpt
parted -s /dev/sdb mkpart primary 0% 16% parted -s /dev/sdb mkpart primary 17% 32% parted -s /dev/sdb mkpart primary 33% 49% parted -s /dev/sdb mkpart primary 50% 66% parted -s /dev/sdb mkpart primary 67% 83% parted -s /dev/sdb mkpart primary 84% 100%
.......................其中第二个分区计算错了,应该分到33%,后面的也错了,没办法100/6是无法完全平均分配的,总有一个分区会小一点,只能将错就错了....................
补充:网上有写一般来说每1T data disk,建议配置40G db disk, 80G WAL disk,但proxmox的自动默认是10%/1%(https://pve.proxmox.com/wiki/Deploy_Hyper-Converged_Ceph_Cluster)规划采购前要做好预算
参考OSD优化:https://blog.csdn.net/NetEaseResearch/article/details/118724510
用fdisk -l /dev/sdb列出分区
最后的74.35546875就是用前面的155934720个扇区x512/1024/1024/1024换算出来的大小(单位为G)
依次将/dev/sdc /dev/sdd /dev/sde创建OSD,其中DB size和WAL size就取上面换算出的分区大小,建议直接取整不要尾数
完成了,3块盘都分别成为了OSD,然后得每个节点重复以上操作,等以后机器多了得写个脚本去干这活.....
脚本来了:假的,这脚本有问题,有待研究
参考文档:https://pve-doc-cn.readthedocs.io/zh_CN/latest/chapter_pveceph/cephosd.html
https://bobcares.com/blog/proxmox-ceph-add-osd/#:~:text=For%20manually%20adding%20the%20OSD%2C%20we%20first%20create,use%20the%20command%2C%20ceph-osd%20-i%20%7Bosd-num%7D%20--mkfs%20--mkkey
pveceph createosd /dev/sdc -db_dev /dev/sdb1 -db_size 74G -wal_dev /dev/sdb2 -wal_size 74G pveceph createosd /dev/sdd -db_dev /dev/sdb3 -db_size 74G -wal_dev /dev/sdb4 -wal_size 74G pveceph createosd /dev/sde -db_dev /dev/sdb5 -db_size 74G -wal_dev /dev/sdb6 -wal_size 69G
最后应该是看到上图每个节点都有OSD
4、创建Pool用于虚拟机磁盘(有待理解和优化)