×

PVE集群安装与配置ceph

dingpeng dingpeng 发表于2023-09-25 20:35:52 浏览232 评论0

抢沙发发表评论

转载自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通信
image

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、创建集群

image

image

2、加入集群

在上一步的页面上执行

image

image

登入要加入上述集群的pve管理页面

image

粘贴上面复制的信息,等待即可,可在160机器上查看节点加入详情

image

三台机器都加入集群后页面如下

image

5、安装ceph集群

1、安装ceph

在三台主机上均执行apt install ceph (在页面执行时源总是不对,无法安装成功)

apt install ceph

返回页面
image

选择网络地址,然后下一步-->完成

image

2、配置monitor(监听)

image

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都执行一次

image

在三台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可以处理更多的写入并提供更好的性能,特别是在高负载的情况下。

我这里由于只有一块磁盘,都选择了默认设置

image

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

这里点击创建后依次选择三个节点

image

创建cephFS,使用默认配置即可

image

9、创建RBD

”数据中心“ — ”存储“ — ”添加“ — ”RBD“。

如果存在则不需要创建

image

如果存储池未激活,可使用如下命令激活

ceph osd pool application enable hdd_data cephfs

取消激活

ceph osd pool application disable hdd_data cephfs --yes-i-really-mean-it

10、创建资源池

数据中心-权限-资源池-创建(名称+备注)

image

创建之后左边会出现标签,点击成员,添加-存储- 加入对应的Ceph pool
image

6、上传iso镜像

image

等待几分钟,会同步到其他节点的cephfs上

image

7、创建虚拟机

image

选择上一步创建的资源池

image

使用ceph的备份文件位置在/mnt/pve/cephfs/dump/下