转载自https://www.cnblogs.com/whtjyt/p/17667692.html
参考:https://zhuanlan.zhihu.com/p/617024637
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/下