ceph-deploy bclinux aarch64 ceph 14.2.10【2】vdbench rbd 块设备rbd 测试失败

news2024/12/23 5:03:06

上篇

ceph-deploy bclinux aarch64 ceph 14.2.10-CSDN博客

安装vdbench

下载vdbench

下载页面

Vdbench Downloads (oracle.com)

包下载

需要账号登录,在弹出层点击同意才能继续下载

用户手册

https://download.oracle.com/otn/utilities_drivers/vdbench/vdbench-50407.pdf

解压vdbench

mkdir vdbench
cd vdbench/
unzip ../vdbench50407.zip 

安装jdk8

yum install java-1.8.0-openjdk

故障处理

Module 'restful' has failed dependency: No module named werkzeug.serving

# 目前看,python3应该不对
yum install python3-werkzeug -y
ssh ceph-1 yum install python3-werkzeug -y
ssh ceph-2 yum install python3-werkzeug -y
ssh ceph-3 yum install python3-werkzeug -y
yum install python2-werkzeug -y
ssh ceph-1 yum install python2-werkzeug -y
ssh ceph-2 yum install python2-werkzeug -y
ssh ceph-3 yum install python2-werkzeug -y

重启ceph-mon(ssh 执行方式发现不能批量输入到终端执行,需要一条一条跑)

systemctl restart ceph-mon@ceph-0.service
ssh ceph-1 systemctl restart ceph-mon@ceph-1.service
ssh ceph-2  systemctl restart ceph-mon@ceph-2.service
ssh ceph-3  systemctl restart ceph-mon@ceph-3.service

结果依旧,reboot所有主机

重启后故障,只有osd进程在,其他服务均未自启动

配置服务自启动

所有服务文件参考如下

[root@ceph-0 ~]# systemctl enable --now  ceph-mon@ceph-0.service
[root@ceph-0 ~]# systemctl enable --now  ceph-mgr@ceph-0.service
[root@ceph-1 ~]# systemctl enable --now  ceph-mon@ceph-1.service
[root@ceph-1 ~]# systemctl enable --now  ceph-mgr@ceph-1.service
[root@ceph-2 ~]# systemctl enable --now  ceph-mon@ceph-2.service
[root@ceph-2 ~]# systemctl enable --now  ceph-mgr@ceph-2.service 

[root@ceph-3 ~]# systemctl enable --now  ceph-mon@ceph-3.service
[root@ceph-3 ~]# systemctl enable --now  ceph-mgr@ceph-3.service 

4台服务器禁用防火墙

systemctl disable firewalld --now

手动恢复服务,关闭防火墙后ceph -s

1 pool(s) have non-power-of-two pg_num

clock skew detected(需要一段时间后才会恢复)

ntpdate ceph-0 重启ntpd效果依旧

原来的语句有错,应该设置为2的次方

ceph osd pool create vdbench 250 250

查看pool列表

修改 pg pgs

ceph osd pool set vdbench pg_num 256
ceph osd pool set vdbench pgp_num 256

搞定了以上两个问题

too many PGs per OSD (256 > max 250)

一天后

ceph osd pool set vdbench pg_num 128
ceph osd pool set vdbench pgp_num 128

由于防火墙中途其他事项开启了,导致配置未同步。后续重启ceph-mon后,该问题已消失!

发现块设备消失了

删除image pool(失败)

[root@ceph-0 ~]# rbd ls vdbench
image1
[root@ceph-0 ~]# rbd rm vdbench/image1
Removing image: 100% complete...done.
[root@ceph-0 ~]# ceph osd pool rm vdbench vdbench --yes-i-really-really-mean-it
Error EPERM: pool deletion is disabled; you must first set the mon_allow_pool_delete config option to true before you can destroy a pool

删除pool 需要提前设置配置文件

mon_allow_pool_delete

修改/etc/ceph/ceph.conf,[global]下添加一句

mon_allow_pool_delete = true

推送配置到其他节点

cd /etc/ceph/
ceph-deploy --overwrite-conf config push ceph-1 ceph-2 ceph-3

重启4个节点的ceph-mon

systemctl restart ceph-mon@ceph-0.service
ssh ceph-1 systemctl restart ceph-mon@ceph-1.service
ssh ceph-2  systemctl restart ceph-mon@ceph-2.service
ssh ceph-3  systemctl restart ceph-mon@ceph-3.service

ceph -s 已恢复

继续删除pool vdbench

 
[root@ceph-0 ceph]# ceph osd pool rm vdbench vdbench --yes-i-really-really-mean-it
pool 'vdbench' removed

注意,删除指令需要重复写一次pool名字,后面加上参数--yes-i-really-really-mean-it

重新创建pool,指定pg pgs 128

[root@ceph-0 ceph]# ceph osd pool create vdbench 128 128
pool 'vdbench' created
[root@ceph-0 ceph]# ceph osd pool application enable vdbench rbd
enabled application 'rbd' on pool 'vdbench'
[root@ceph-0 ceph]# rbd create image1 --size 20G --pool vdbench --image-format 2 --image-feature layering
[root@ceph-0 ceph]# rbd map vdbench/image1
/dev/rbd0
[root@ceph-0 ceph]# fdisk -l /dev/rbd0 
Disk /dev/rbd0: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 4194304 bytes / 4194304 bytes

在ceph-0测试vdbench(报错)

配置文件/root/vdbench/single-rawdisk.conf

sd=sd1,lun=/dev/rbd0 ,openflag=o_direct
wd=wd1,sd=sd1,seekpct=0,rdpct=0,xfersize=1M
rd=rd1,wd=wd1,iorate=max,warmup=60,elapsed=600,interval=2

执行测试

./vdbench -f single-rawdisk.conf

故障:File /root/vdbench/linux/aarch64.so does not exist

下载源码

Vdbench Source Code Downloads (oracle.com)

解压
cd vdbench-src/
unzip ../vdbench50407.src.zip 
安装jdk-devel
yum install -y java-1.8.0-openjdk-devel
修改make.linux

差异如下

[root@ceph-0 vdbench-src]# diff -Npr src/Jni/make.linux src/Jni/make.linux.bak 
*** src/Jni/make.linux	2023-11-13 10:32:04.279529185 +0800
--- src/Jni/make.linux.bak	2023-11-13 10:27:42.571098663 +0800
***************
*** 34,49 ****
  
  
  
! vdb=/root/vdbench-src/src
! java=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-10.oe1.aarch64
  jni=$vdb/Jni
  
  echo target directory: $vdb
  
  
  
! INCLUDES32="-w -DLINUX -I$java/include -I/$java/include/linux -I/usr/include/ -fPIC"
! INCLUDES64="-w -DLINUX -I$java/include -I/$java/include/linux -I/usr/include/ -fPIC"
  
  
  cd /tmp
--- 34,49 ----
  
  
  
! vdb=$mine/vdbench504
! java=/net/sbm-240a.us.oracle.com/export/swat/swat_java/linux/jdk1.5.0_22/
  jni=$vdb/Jni
  
  echo target directory: $vdb
  
  
  
! INCLUDES32="-w -m32 -DLINUX -I$java/include -I/$java/include/linux -I/usr/include/ -fPIC"
! INCLUDES64="-w -m64 -DLINUX -I$java/include -I/$java/include/linux -I/usr/include/ -fPIC"
  
  
  cd /tmp
*************** gcc ${INCLUDES32} -c $jni/chmod.c
*** 62,68 ****
  echo Linking 32 bit
  echo
  
! gcc  -o   $vdb/linux/linux32.so vdbjni.o vdblinux.o vdb_dv.o vdb.o chmod.o -lm -shared  -lrt
  
  chmod 777 $vdb/linux/linux32.so
  
--- 62,68 ----
  echo Linking 32 bit
  echo
  
! gcc  -o   $vdb/linux/linux32.so vdbjni.o vdblinux.o vdb_dv.o vdb.o chmod.o -lm -shared  -m32 -lrt
  
  chmod 777 $vdb/linux/linux32.so
  
*************** gcc ${INCLUDES64} -c $jni/chmod.c
*** 82,88 ****
  echo Linking 64 bit
  echo
  
! gcc  -o   $vdb/linux/linux64.so vdbjni.o vdblinux.o vdb_dv.o vdb.o chmod.o -lm -shared -lrt
  
  chmod 777 $vdb/linux/linux64.so 2>/dev/null
  
--- 82,88 ----
  echo Linking 64 bit
  echo
  
! gcc  -o   $vdb/linux/linux64.so vdbjni.o vdblinux.o vdb_dv.o vdb.o chmod.o -lm -shared -m64 -lrt
  
  chmod 777 $vdb/linux/linux64.so 2>/dev/null
编译
[root@ceph-0 vdbench-src]# mkdir src/linux
[root@ceph-0 vdbench-src]# ./src/Jni/make.linux

覆盖到安装目录

[root@ceph-0 vdbench-src]# cp -v src/linux/linux64.so ~/vdbench/linux/aarch64.so
'src/linux/linux64.so' -> '/root/vdbench/linux/aarch64.so'
[root@ceph-0 vdbench-src]# file /root/vdbench/linux/aarch64.so 
/root/vdbench/linux/aarch64.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d49dcabfff65992a8e8ac6b97bea67394190e3de, not stripped
 

2再次在ceph-0测试vdbench(报错)

cd ~/vdbench
./vdbench -f single-rawdisk.conf

故障:Raw device 'sd=sd1,lun=/dev/rbd0 ' does not exist, or no permissions.

手动挂载测试 ok

手动挂载测试成功

dd测试 ok

[root@ceph-0 src]# dd if=/dev/zero of=/mnt/rbd0/test.bin bs=1M count=1024 oflag=direct
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 33.4447 s, 32.1 MB/s
虚拟机带宽太低了

vdbench sd lun修改为挂载目录测试 fail

这个测试应该用fsd

参考

【精选】【存储测试】vdbench存储性能测试工具-CSDN博客

Ceph 命令记录 - 代码先锋网 (codeleading.com)

ceph 中的 PG 和 PGP - 简书 (jianshu.com)

问题处理--ceph集群告警 too many PGs per OSD - 象飞田 - 博客园 (cnblogs.com)

vdbench在ARM服务器上出现共享库aarch64.so问题 - 阿星 (zhoumx.net)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1202262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在线教育与跨境电商:数字时代的知识传播

随着数字技术的不断发展和全球互联网的普及,在线教育和跨境电商在数字时代崭露头角,共同推动了知识的全球传播。 这两个领域的结合为学生、教育者和知识提供者创造了新的机遇和可能性,同时也带来了一系列有趣的挑战。本文将深入探讨在线教育…

使用项目管理软件优化稿件审批流程

项目管理软件能干什么?可以建立工作流。 如何用项目管理软件建立工作流?今天就以最基础的审批流程为例,看看项目管理软件到底几斤几两! 对于内容团队来说,每一篇内容发布前都需要经过多层审核,以免内容不当…

Mac 本地部署thinkphp8【部署环境以及下载thinkphp】

PHP的安装以及环境变量配置 1 PHP安装:在终端输入brew install php 这里是PHP下载的最新的 如果提示‘brew’找不到,自己搜索安装吧, 不是特别难 2 环境变量配置 终端输入vim ~/.bash_profile 输入export PATH"/usr/local/Cellar/php/8.…

统计好书推荐:《统计至简》

电子版网址: Higkoo/Book5_Essentials-of-Probability-and-Statistics - 码云 - 开源中国 (gitee.com) GitHub - Visualize-ML/Book5_Essentials-of-Probability-and-Statistics: Book_5_《统计至简》 | 鸢尾花书:从加减乘除到机器学习;上…

湖南省第六届大学生测绘综合技能大赛 GIS 应用赛项

注意事项: ①确认试题编号正确后再开始作答。 ②所有图件需清晰可辨。 ③新建数值型字段设置数据类型为双精度,数字格式为数值,小数位数默认。 ④答卷中不能出现任何涉密信息,答卷文档转成PDF提交。 1.(25 分&#xf…

50个值得关注的生成式AI初创企业【2023】

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 生成式AI初创公司已成为科技界最新、最强大的参与者,它们利用自然语言处理、机器学习和其他形式的人工智能为各种业务用例生成…

VRRP(虚拟路由器冗余协议)标准协议工作机制与优势介绍

VRRP标准协议 文章目录 VRRP标准协议简介VRRP标准协议基本概念VRRP标准协议工作机制主备选举主备倒换非抢占模式抢占模式 VRRP标准协议技术优势VRRP典型组网单备份组主备备份多备份组负载分担 推荐阅读 VRRP标准协议简介 VRRP(Virtual Router Redundancy Protocol…

基于单片机智能输液器监控系统的设计

**单片机设计介绍, 基于单片机智能输液器监控系统的设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能输液器监控系统可以实现对输液过程的实时监测和控制,以下是一个基本的设计介绍&am…

解锁4D成像雷达「降本」

传感器增强,被视为高阶智驾继续解锁ODD(针对自动驾驶及相关功能专门设计的运行条件)的关键环节之一。 众所周知,市面上在售新车搭载的智驾系统,由于传感器、算力以及软件算法能力的差异,会导致系统正常运行…

Python常用插件之emoji表情插件的用法

目录 一、概述 二、安装 三、基本用法 四、高级用法 1、自定义emoji表情 2、使用表情符号列表 3、结合使用Emoji和输入文本 4、动态添加emoji表情 5、自定义Emoji的样式 总结 一、概述 在Python中,使用emoji表情已经成为了一种非常流行的趋势。许多开发者…

在R中通过正则化表达式提取向量中的正负数

目录 一、实现代码&#xff1a; 二、运行结果&#xff1a; 三、str_extract()函数介绍材料 一、实现代码&#xff1a; install.packages("stringr") library(stringr) # 创建一个包含正负小数的向量 vec <- c("1.5", "-2.7", "3.8&qu…

龙芯loongarch64安装grpcio失败解决办法

什么是gRPC gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统用protocol buffers IDL定义一个服务,指定能够被远程调用的方法及其参数和返回值类型 使用protocol buffers 编译器插件,将服务定义的.proto文件,编译成客户端和服务端的代码 …

MPLS VPN详解

了解MPLS VPN之前&#xff0c;要先了解一下MPLS。 了解MPLS之前&#xff0c;先回顾一下基于MAC地址的交换和基于IP地址的路由转发。 &#xff08;上篇主要是介绍基于mac地址的交换、基于IP地址的路由转发、MPLS详解&#xff09; &#xff08;下篇主要是MPLS VPN的网络结构、…

强大好用的shell:shell命令

命令名称&#xff1a;就是语法中的“动词”&#xff0c;表达的是想要做的事情&#xff0c;例如创建用户、查看文件、重启系统等操作。 命令参数&#xff1a;用于对命令进行调整让“修&#xff0c;改”过的命令能更好地贴合工作需求&#xff0c;达到事半功倍的效果。 命令对象&a…

Javascript享元模式

Javascript享元模式 1 什么是享元模式2 内部状态与外部状态3 享元模式的通用结构4 文件上传4.1 对象爆炸4.2 享元模式重构 5 没有内部状态的享元模式6 对象池7 通用对象池实现 1 什么是享元模式 享元&#xff08;flyweight&#xff09;模式是一种用于性能优化的模式&#xff0…

《许犁庭与柔性世界》第九章 桉嘴牛

“等爸爸冷静下来后&#xff0c;让我趁妹妹不在&#xff0c;抓紧创建几个自己喜欢的人物。我却不愿意。好说歹说&#xff0c;我勉强创造出了第七个人&#xff0c;那个像大姐姐一样照顾伙伴们的易姐姐&#xff0c;易分雪。为了避免妹妹使坏&#xff0c;我将易姐姐设计成跟她姑姑…

眼镜超声波清洗机值不值得买?是智商税?高性价比超声波清洗机

在考虑是否购买眼镜超声波清洗机时&#xff0c;许多人都感到困惑。一方面&#xff0c;超声波清洗机可以高效地清除眼镜上的污垢和细菌&#xff0c;为戴眼镜的人提供更健康的视觉体验。另一方面&#xff0c;有些人认为这可能是一种智商税&#xff0c;因为手动清洗眼镜可能同样有…

石英增强光声光谱气体传感技术中的高精密压力控制解决方案

摘要&#xff1a;光声池内气体压力的可调节控制以及稳定性是保证光声法高精度测量的关键&#xff0c;但在目前的光声和光谱研究中&#xff0c;对气体样品池内压力控制技术的报道极为简单&#xff0c;甚至很多都是错误的&#xff0c;根本无法实现高精度调节和控制&#xff0c;为…

Python爬虫从基础到入门:认识爬虫

Python爬虫从基础到入门:认识爬虫 1. 认识爬虫2. 开始简单的爬虫操作(使用requests)3. 辨别“数据”是静态加载还是动态生成的1. 认识爬虫 爬虫用自己的话说其实就是利用一定的编程语言,到网络上去抓取一些数据为自己所用。那为什么要用爬虫呢?自己直接到网页上去copy数据它…

SMART PLC 和S7-1200PLC MODBUSTCP通信速度测试

SMART PLC MODBUSTCP通信详细介绍请参看下面文章链接: S7-200SMART PLC ModbusTCP通信(多服务器多从站轮询)_matlab sumilink 多个modbustcp读写_RXXW_Dor的博客-CSDN博客文章浏览阅读6.4k次,点赞5次,收藏10次。MBUS_CLIENT作为MODBUS TCP客户端通过S7-200 SMART CPU上的…