pve搭建ceph集群
文章参考
https://zhuanlan.zhihu.com/p/617024637
http://www.taodudu.cc/news/show-4270751.html?action=onClick
pve 版本 8.0.2
配置建议:机器最好是8C16G以上的配置
硬盘最好有三块,一块用作pve的系统盘,一块用作ceph的数据盘(大SSD),一块用作ceph的数据数磁盘和WAL磁盘(小SSD)
两个网卡,一个用于pve管理,一个用于ceph通信
1、机器配置
机器ip(单ip) | cpu/内存 | 硬盘1(系统盘) | 硬盘2(ceph盘) |
---|---|---|---|
172.17.68.160 | 16C32G | 100G | 100G |
172.17.68.161 | 16C32G | 100G | 100G |
172.17.68.162 | 16C32G | 100G | 100G |
2、修改源
root@wht-pve01:~# cat > /etc/apt/sources.list <<EOF
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
EOF
#修改ceph源
root@wht-pve01:~# rm -rf /etc/apt/sources.list.d/*
root@wht-pve01:~# cat > /etc/apt/sources.list.d/ceph.list <<EOF
deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription
EOF
root@wht-pve01:~# cat > /etc/apt/sources.list.d/pve-no-subscription.list <<EOF
deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve bookworm pve-no-subscription
EOF
#更新源
root@wht-pve01:~# apt clean
root@wht-pve01:~# apt update
root@wht-pve01:~# apt upgrade
3、安装时间同步服务器
apt install chrony
systemctl start --now chronyd
#编辑/etc/chrony/chrony.conf,将pool修改为
root@wht-pve03:~# cat /etc/chrony/chrony.conf |grep ^pool
pool ntp1.aliyun.com iburst
#重启
systemctl restart chronyd
systemctl status chronyd
#修改时间为24小时制
date
echo 'LANG=zh_CN.UTF-8' > /etc/default/locale
source /etc/default/locale
date
4、pve集群搭建
1、创建集群
2、加入集群
在上一步的页面上执行
登入要加入上述集群的pve管理页面
粘贴上面复制的信息,等待即可,可在160机器上查看节点加入详情
三台机器都加入集群后页面如下
5、安装ceph集群
1、安装ceph
在三台主机上均执行apt install ceph (在页面执行时源总是不对,无法安装成功)
apt install ceph
返回页面
选择网络地址,然后下一步-->完成
2、配置monitor(监听)
3、磁盘分区
#查看磁盘
root@wht-pve03:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1007K 0 part
├─sda2 8:2 0 512M 0 part
└─sda3 8:3 0 99.5G 0 part
├─pve-swap 253:0 0 8G 0 lvm [SWAP]
├─pve-root 253:1 0 34.9G 0 lvm /
├─pve-data_tmeta 253:2 0 1G 0 lvm
│ └─pve-data 253:4 0 42.2G 0 lvm
└─pve-data_tdata 253:3 0 42.2G 0 lvm
└─pve-data 253:4 0 42.2G 0 lvm
sdb 8:16 0 100G 0 disk
sr0 11:0 1 1.1G 0 rom
#磁盘分区
root@wht-pve02:~# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.38.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS (MBR) disklabel with disk identifier 0x1e80a315.
Command (m for help): n #这里输入n开始划分磁盘,后面一路回车
......
Command (m for help): w #这里输入w写入
#格式话磁盘
root@wht-pve02:~# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=6553536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1 nrext64=0
data = bsize=4096 blocks=26214144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none
#清理分区
root@wht-pve02:~# wipefs -af /dev/sdb1
4、创建OSD
下面步骤三台pve都执行一次
在三台pve上均执行创建OSD,选择刚擦除的/dev/sdb1
DB Disk和WAL Disk中的数据都属于临时数据。
- 磁盘(Data Disk):磁盘存储实际的对象数据,也就是Ceph集群中存储的文件、块或对象等数据。这些数据会在Ceph存储集群中分布和复制,提供高可靠性和冗余性。
- 数据库磁盘(DB Disk):数据库磁盘存储Ceph集群的元数据。这些元数据包括对象位置、映射、快照和其他关键信息。数据库磁盘帮助Ceph系统快速定位和访问存储的对象。
- WAL磁盘(WAL Disk):WAL磁盘存储Ceph对象的Write-Ahead Log(预写日志)。预写日志是对象写入期间的临时存储区域,用于记录对象的变更日志。这种方式可以提供更好的数据一致性和可靠性,同时也提高写入性能。
- DB Disk和WAL Disk一般大小可以在几百兆字节(MB)到几个千兆字节(GB)之间,较大的WAL Disk可以处理更多的写入并提供更好的性能,特别是在高负载的情况下。
我这里由于只有一块磁盘,都选择了默认设置
6、创建rule
找一个pve机器,ssh登录,执行
root@wht-pve01:~# ceph osd crush rule create-replicated hdd_rule default host hdd
7、创建资源池
root@wht-pve01:~# ceph osd pool create hdd_data hdd_rule
8、创建cephFS
这里点击创建后依次选择三个节点
创建cephFS,使用默认配置即可
9、创建RBD
”数据中心“ — ”存储“ — ”添加“ — ”RBD“。
如果存在则不需要创建
如果存储池未激活,可使用如下命令激活
ceph osd pool application enable hdd_data cephfs
取消激活
ceph osd pool application disable hdd_data cephfs --yes-i-really-mean-it
10、创建资源池
数据中心-权限-资源池-创建(名称+备注)
创建之后左边会出现标签,点击成员,添加-存储- 加入对应的Ceph pool
6、上传iso镜像
等待几分钟,会同步到其他节点的cephfs上
7、创建虚拟机
选择上一步创建的资源池
使用ceph的备份文件位置在/mnt/pve/cephfs/dump/下