作者:吴业亮
博客:wuyeliang.blog.csdn.net
将Bcache集成到Ceph OSD后端可以带来一些优点和潜在的缺点。以下是它们的一些方面:
优点:
-
提高性能:BCache作为SSD缓存设备,可以提供更快的数据读取和写入速度。通过将热门数据缓存在SSD上,可以减少对慢速磁盘的访问,从而改善存储系统的整体性能。
-
提高响应性:使用BCache作为缓存层可以显著减少IO延迟,因为SSD具有更快的随机访问时间,响应时间更短。
-
灵活性:BCache可以根据应用程序的需求进行配置和调整。可以设置不同的缓存规则和策略,根据数据的访问模式来调整数据在SSD上的缓存策略,以最大程度地提高性能。
-
成本效益:通过将较便宜的磁盘与SSD缓存结合,可以在提供高性能和低成本的存储方案之间取得平衡。
缺点:
-
部署和管理复杂性:集成BCache到Ceph OSD后端需要额外的配置和管理。这可能增加了部署和管理方面的复杂性,并需要更多的知识和技能。
-
可靠性考虑:BCache是一个缓存层,它依赖于底层磁盘来存储数据。尽管BCache有内建的数据保护措施,但缓存设备的故障或数据丢失仍然可能导致数据损坏或不一致。
-
存储容量限制:由于SSD的成本较高,可能无法将所有数据都缓存在SSD上,因此需要权衡SSD缓存容量和数据存储容量之间的平衡。
重要提示:在集成BCache到Ceph OSD后端之前,请考虑系统的需求、可靠性要求、成本预算以及管理复杂性。在部署之前建议进行充分的测试和评估,以确保性能提升和可行性。此外,定期监控和维护BCache缓存设备的容量和性能是至关重要的,以确保系统的可靠性和一致性。
1、配置网络/etc/netplan/01-netcfg.yaml
network:
ethernets:
# interface name
ens18:
dhcp4: false
# IP address/subnet mask
addresses: [172.16.8.202/24]
# default gateway
# [metric] : set priority (specify it if multiple NICs are set)
# lower value is higher priority
routes:
- to: default
via: 172.16.8.1
metric: 100
nameservers:
# name server to bind
addresses: [8.8.8.8]
# DNS search base
#search: [srv.world,server.education]
dhcp6: false
version: 2
生效
# netplan apply
修改主机名
hostnamectl set-hostname node3
修改/etc/hosts
# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ubuntu
172.16.8.201 node1
172.16.8.202 node2
172.16.8.203 node3
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
安装docker
apt -y install docker.io
更新国内源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
更新ceph国内源
wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
sudo apt-add-repository 'deb https://mirrors.tuna.tsinghua.edu.cn/ceph/debian-quincy/ buster main'
sudo apt update
源地址:
https://satishdotpatel.github.io/deploy-ceph-storage-using-cephadm/
安装cephadm
apt update
apt install -y cephadm
针对ssd分区
parted -s /dev/sdf mklabel gpt
parted /dev/sdf mkpart primary xfs 00.0GB 10.0GB
parted /dev/sdf mkpart primary xfs 10.0GB 20.0GB
parted /dev/sdf mkpart primary xfs 20.0GB 30.0GB
parted /dev/sdf mkpart primary xfs 30.0GB 40.0GB
parted /dev/sdf mkpart primary xfs 40.0GB 50.0GB
parted /dev/sdf mkpart primary xfs 50.0GB 60.0GB
parted /dev/sdf mkpart primary xfs 60.0GB 70.0GB
parted /dev/sdf mkpart primary xfs 70.0GB 80.0GB
parted /dev/sdf mkpart primary xfs 80.0GB 85.0GB
parted /dev/sdf mkpart primary xfs 85.0GB 90.0GB
parted /dev/sdf mkpart primary xfs 90.0GB 95.0GB
parted /dev/sdf mkpart primary xfs 95.0GB 100.0GB
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 63.3M 1 loop /snap/core20/1822
loop1 7:1 0 111.9M 1 loop /snap/lxd/24322
loop2 7:2 0 49.8M 1 loop /snap/snapd/18357
loop3 7:3 0 49.8M 1 loop /snap/snapd/18596
loop4 7:4 0 63.3M 1 loop /snap/core20/1852
sda 8:0 0 80G 0 disk
├─sda1 8:1 0 1M 0 part
└─sda2 8:2 0 80G 0 part /
sdb 8:16 0 100G 0 disk
sdc 8:32 0 100G 0 disk
sdd 8:48 0 100G 0 disk
sde 8:64 0 100G 0 disk
sdf 8:80 0 100G 0 disk
├─sdf1 8:81 0 9.3G 0 part
├─sdf2 8:82 0 9.3G 0 part
├─sdf3 8:83 0 9.3G 0 part
├─sdf4 8:84 0 9.3G 0 part
├─sdf5 8:85 0 9.3G 0 part
├─sdf6 8:86 0 9.3G 0 part
├─sdf7 8:87 0 9.3G 0 part
├─sdf8 8:88 0 9.3G 0 part
├─sdf9 8:89 0 4.7G 0 part
├─sdf10 8:90 0 4.7G 0 part
├─sdf11 8:91 0 4.7G 0 part
└─sdf12 8:92 0 4.7G 0 part
配置bcache盘
apt install bcache-tools -y
modprobe bcache
make-bcache -C /dev/sdf1 -B /dev/sdb --wipe-bcache
make-bcache -C /dev/sdf2 -B /dev/sdc --wipe-bcache
make-bcache -C /dev/sdf3 -B /dev/sdd --wipe-bcache
make-bcache -C /dev/sdf4 -B /dev/sde --wipe-bcache
echo writeback > /sys/block/bcache0/bcache/cache_mode
echo writeback > /sys/block/bcache1/bcache/cache_mode
echo writeback > /sys/block/bcache2/bcache/cache_mode
echo writeback > /sys/block/bcache3/bcache/cache_mode
lvm分区
vgcreate data0 /dev/bcache0
lvcreate -l +100%FREE data0
vgcreate data1 /dev/bcache1
lvcreate -l +100%FREE data1
vgcreate data2 /dev/bcache2
lvcreate -l +100%FREE data2
安超软件包
cephadm install ceph
初始化集群
mkdir -p /etc/ceph
cephadm bootstrap --mon-ip 172.16.8.201 --allow-fqdn-hostname
部署单机
cephadm bootstrap --mon-ip 172.16.8.201 --allow-fqdn-hostname --single-host-defaults
会有如下输出
Ceph Dashboard is now available at:
URL: https://node1:8443/
User: admin
Password: 8uw3xxz9m9
Enabling client.admin keyring and conf on hosts with "admin" label
Saving cluster configuration to /var/lib/ceph/2304caa0-dd8c-11ed-b671-e93708859cab/config directory
Enabling autotune for osd_memory_target
You can access the Ceph CLI as following in case of multi-cluster or non-default config:
sudo /usr/sbin/cephadm shell --fsid 2304caa0-dd8c-11ed-b671-e93708859cab -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring
Or, if you are only running a single cluster on this host:
sudo /usr/sbin/cephadm shell
Please consider enabling telemetry to help improve Ceph:
ceph telemetry on
For more information see:
https://docs.ceph.com/docs/master/mgr/telemetry/
Bootstrap complete.
设置ceph cli
# alias ceph='cephadm shell -- ceph'
# echo "alias ceph='cephadm shell -- ceph'" >> ~/.bash_profile
ceph -s
免密设置
# ssh-copy-id -f -i /etc/ceph/ceph.pub root@node2
# ssh-copy-id -f -i /etc/ceph/ceph.pub root@node3
添加主机
# ceph orch host add node2
# ceph orch host add node3
查看主机
# ceph orch host ls
设置MGR数量
# ceph orch apply mgr 3
# ceph orch host label add node2 mgr
# ceph orch host label add node3 mgr
# ceph orch apply mgr --placement "node1 node2 node3"
删除mgr
ceph orch apply mgr “2 node1 node2 ”
打开 balancer 模块
# ceph balancer on
默认模式为 crush-compat。可使用以下方法更改模式
# ceph balancer mode upmap
或者
# ceph balancer mode crush-compat
使用 crush-compat 模式,它与旧的客户端向后兼容,并且会随着时间的推移对数据分发进行小更改,以确保 OSD 平等地使用
查看状态
ceph balancer status
balancer 是 Ceph Manager(ceph-mgr)的一个模块,用于优化 OSD 之间放置组(PG)放置,从而实现平衡的分发(可自动或监管方式
启用 balancer 模块
ceph mgr module enable balancer
启用报警模块
ceph mgr module enable alerts
查看
ceph mgr module ls | more
配置smtp
[ceph: root@host01 /]# ceph config set mgr mgr/alerts/smtp_host smtp.example.com
[ceph: root@host01 /]# ceph config set mgr mgr/alerts/smtp_destination example@example.com
[ceph: root@host01 /]# ceph config set mgr mgr/alerts/smtp_sender example2@example.com
[ceph: root@host01 /]# ceph config set mgr mgr/alerts/smtp_port 587
验证用户名及密码
[ceph: root@host01 /]# ceph config set mgr mgr/alerts/smtp_user admin1234
[ceph: root@host01 /]# ceph config set mgr mgr/alerts/smtp_password admin1234
设置检查周期
[ceph: root@host01 /]# ceph config set mgr mgr/alerts/interval "5m"
立即发送告警
[ceph: root@host01 /]# ceph alerts send
- 设置crash分析
通过使用 Ceph 管理器 crash 模块,您可以收集有关守护进程 crashdumps 的信息,并将其存储在 Ceph Storage 集群中,以便进一步分析。默认情况下,守护进程崩溃转储在 /var/lib/ceph/crash 中转储。您可以使用选项 crash dir 进行配置。崩溃目录按时间、日期和随机生成的 UUID 命名,包含元数据文件 meta 和最新的日志文件,其 crash_id 是相同的。
您可以使用 ceph-crash.service 自动提交这些崩溃,并在 Ceph 监控器中保留。ceph-crash.service 监视 crashdump 目录,并使用 ceph crash post 上传它们。
RECENT_CRASH heath 消息是 Ceph 集群中最常见的运行状况消息之一。此健康消息表示,一个或多个 Ceph 守护进程最近崩溃,且崩溃尚未存档或被管理员确认。这可能表示软件错误、硬件问题(如磁盘失败)或其它问题。选项 mgr/crash/warn_recent_interval 控制最近一次表示的时间周期,默认为两周。您可以运行以下命令来禁用警告
确定启用了crash
ceph mgr module ls | more
元数据文件是存储在 crash dir 中作为 meta 的 JSON blob。您可以调用 ceph 命令 -i - 选项,该选项会从 stdin 读取
ceph crash post -i meta
出所有新的以及归档的崩溃信息的时间戳或 UUID 崩溃 ID
ceph crash ls
列出所有新崩溃信息的时间戳或 UUID 崩溃 ID
ceph crash ls-new
列出按年龄分组的保存崩溃信息的概述
ceph crash stat
查看保存崩溃的详情
ceph crash info 2022-05-24T19:58:42.549073Z_b2382865-ea89-4be2-b46f-9a59af7b7a2d
删除比 KEEP days 旧的已保存的崩溃:其中 KEEP 必须是一个整数。
ceph crash prune 60
对崩溃报告进行归档,使其不再被视为 RECENT_CRASH 健康检查,且不会出现在 crash ls-new 输出中。它会出现在 crash ls 中
ceph crash archive 2022-05-24T19:58:42.549073Z_b2382865-ea89-4be2-b46f-9a59af7b7a2d
记录所有崩溃报告
ceph crash archive-all
删除崩溃转储
ceph crash rm 2022-05-24T19:58:42.549073Z_b2382865-ea89-4be2-b46f-9a59af7b7a2d
- 部署mon
# ceph orch host label add node2 mon
# ceph orch host label add node3 mon
ceph orch apply mon --placement="3 node1 node2 node3"
- 部署mds
ceph orch host label add node1 mds
ceph orch host label add node2 mds
ceph orch host label add node3 mds
- 部署OSD
磁盘要求
该设备不能有分区。
不得挂载该设备。
该设备不得包含文件系统。
该设备不得包含 Ceph BlueStore OSD。
该设备必须大于 5 GB。
注意:
在 Red Hat Ceph Storage 6.0 中,由于已知的错误,OSD、DB 或 WAL 部署不支持预先创建的 LVM 磁盘。
从 Red Hat Ceph Storage 6.0 开始,支持预先创建的 LVM 磁盘,包括 DB 和 WAL 设备。
设置osd自动管理内存
ceph config set osd osd_memory_target_autotune true
创建osd
ceph orch daemon add osd node1:/dev/data0/lvol0
ceph orch daemon add osd node1:/dev/data1/lvol0
ceph orch daemon add osd node1:/dev/data2/lvol0
ceph orch daemon add osd node2:/dev/data0/lvol0
ceph orch daemon add osd node2:/dev/data1/lvol0
ceph orch daemon add osd node2:/dev/data2/lvol0
ceph orch daemon add osd node3:/dev/data0/lvol0
ceph orch daemon add osd node3:/dev/data1/lvol0
ceph orch daemon add osd node3:/dev/data2/lvol0
高级
ceph orch apply -i /path/to/osd_spec.yml --dry-run
service_type: osd
service_id: osd_using_paths
placement:
hosts:
- Node01
- Node02
spec:
data_devices:
paths:
- /dev/sdb
db_devices:
paths:
- /dev/sdc
wal_devices:
paths:
- /dev/sdd
部署rgw
$ radosgw-admin realm create --rgw-realm=default --default
$ radosgw-admin zonegroup create --rgw-zonegroup=default --master --default
$ radosgw-admin zone create --rgw-zonegroup=default --rgw-zone=us-east-1 --master --default
$ ceph orch apply rgw default us-east-1 --placement="1 mon0"
查看状态
systemctl status ceph-* --no-pager
docker ps
ceph -s
安装awscli工具
apt install awscli -y
创建用户
# radosgw-admin user create --uid=wuyeliang --display-name=wuyeliang --access-key=wuyeliang --secret-key=wuyeliang
创建bucket
$ aws s3 mb s3://wuyeliang-test --endpoint-url http://node1
make_bucket: wuyeliang-test
上传文件
$ aws s3 cp /etc/hosts s3://wuyeliang-test --endpoint-url http://node0
upload: ../etc/hosts to s3://wuyeliang-test/hosts
卸载集群
cephadm rm-cluster --fsid f64f341c-655d-11eb-8778-fa163e914bcc
删除repo
cephadm rm-repo
修改参数
允许删除pool
ceph config set mon mon_allow_pool_delete true
设置单副本
ceph config set global osd_pool_default_size 1
删除pool文章来源:https://www.toymoban.com/news/detail-621361.html
ceph osd pool delete ceph-rbd ceph-rbd --yes-i-really-really-mean-it文章来源地址https://www.toymoban.com/news/detail-621361.html
到了这里,关于基于Ubuntu22.04部署bcache模式ceph的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!