ceph-deploy bclinux aarch64 ceph 14.2.10【2】vdbench rbd 块设备rbd 测试失败
上篇
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.aarch64jni=$vdb/Jniecho 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/Jniecho 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 bitecho! gcc -o $vdb/linux/linux32.so vdbjni.o vdblinux.o vdb_dv.o vdb.o chmod.o -lm -shared -lrtchmod 777 $vdb/linux/linux32.so--- 62,68 ----echo Linking 32 bitecho! gcc -o $vdb/linux/linux32.so vdbjni.o vdblinux.o vdb_dv.o vdb.o chmod.o -lm -shared -m32 -lrtchmod 777 $vdb/linux/linux32.so*************** gcc ${INCLUDES64} -c $jni/chmod.c
*** 82,88 ****echo Linking 64 bitecho! gcc -o $vdb/linux/linux64.so vdbjni.o vdblinux.o vdb_dv.o vdb.o chmod.o -lm -shared -lrtchmod 777 $vdb/linux/linux64.so 2>/dev/null--- 82,88 ----echo Linking 64 bitecho! gcc -o $vdb/linux/linux64.so vdbjni.o vdblinux.o vdb_dv.o vdb.o chmod.o -lm -shared -m64 -lrtchmod 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)
相关文章:

ceph-deploy bclinux aarch64 ceph 14.2.10【2】vdbench rbd 块设备rbd 测试失败
上篇 ceph-deploy bclinux aarch64 ceph 14.2.10-CSDN博客 安装vdbench 下载vdbench 下载页面 Vdbench Downloads (oracle.com) 包下载 需要账号登录,在弹出层点击同意才能继续下载 用户手册 https://download.oracle.com/otn/utilities_drivers/vdbench/vdb…...
split_train_val
# coding:utf-8 import os import random import argparse parser argparse.ArgumentParser() # xml文件的地址,根据自己的数据进行修改 xml一般存放在Annotations下 parser.add_argument(--xml_path, defaultdata_door_white/xml/train, typestr, helpinput xm…...

Linux Mint 21.3 将搭载 Cinnamon 6.0 和实验性 Wayland 支持
导读Wayland 会话可能在 Linux Mint 23 系列中成为默认选项,预计将在 2026 年实现。 Linux Mint 项目今天在他们的每月新闻通讯中 宣布,他们已经开始着手在未来的 Linux Mint 发行版中实施 Wayland 会话,最初将在 Linux Mint 21.3 中提供。 …...

名师助阵龙讯旷腾PWmat+半导体缺陷培训暨半导体缺陷计算大赛
半导体缺陷计算大赛 选拔赛截止日期:11月23日 参与杭州线下培训直接跳过选拔赛 大赛亮点 线上免费培训、线下限时领取免费名额 线下杭州培训可直通决赛,跳过选拔赛 线上培训有3次机会参与考试进入决赛 已购/未购用户均可参加、无身份限定 使用Mc…...
Kotlin与Java写法的变更
目录 获取类的Java Class属性 类型检查 for循环 switch语句 if判断 获取类的Java Class属性 //Java Intent intent new Intent(this, MainActivity.class);//Kotlin val intent Intent(this, MainActivity::class.java) 类型检查 //Java apple instanceof Fruit !(app…...

京东数据软件系统:京东销量和销额数据在哪里看?
京东平台店铺众多,行业同行也数不胜数,若想要在平台中更好的运营店铺,品牌需要做好数据分析。下面结合鲸参谋电商数据分析平台这一数据分析工具,我们来看一看品牌在做数据分析时需要注重哪些数据维度。 *行业数据 京东商家通过鲸…...

美观且功能丰富的控制台:5个.Net开源项目
今天一起盘点下,9月份推荐的5个.Net开源项目(点击标题查看详情)。 1、FTP开源库 FluentFTP是一个基于.Net开发的,可用于FTP和FTPS文件传输。该项目优化了速度,并提供简单易用的API,让开发人员可以快速地集…...

深度学习模型基于Python+TensorFlow+Django的垃圾识别系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 要使用Python、TensorFlow和Django构建一个垃圾识别系统,您可以按照以下步骤进行操作: 安装…...

ArcGIS Pro怎么生成山顶点
山顶点是指山脉、山丘或山脉系统中最高的地点,通常是山的最高峰,这是山地地貌中的最高点,往往是山脉的标志性特征之一,这里为大家介绍一下如何使用ArcGIS Pro获取山顶点,希望能对你有所帮助。 数据来源 本教程所使用…...

Anolis 8.6 安装 Drawio
Anolis 8.6 安装 Drawio 22.1.0 一.RPM版(不建议)二.WAR 包部署 一.RPM版(不建议) Draw RPM 包下载链接 RPM 包直接基于Linux图形化能力部署,服务器类型的Linux系统启动RPM包安装的Draw可能比较复杂 系统版本 ## 1.…...

AI图像生成模型LCMs: 四个步骤就能快速生成高质量图像的新方法
在最新的AI模型和研究领域,一种名为Latent Consistency Models(LCMs)的新技术正迅速推动文本到图像人工智能的发展。与传统的Latent Diffusion Models(LDMs)相比,LCMs在生成详细且富有创意的图像方面同样出色,但仅需1-…...

成都瀚网科技有限公司抖音带货正规
随着互联网的蓬勃发展,越来越多的公司开始利用网络平台进行产品销售。其中,抖音作为一款广受欢迎的短视频平台,已经成为众多商家眼中的“香饽饽”。在这场电商狂欢中,成都瀚网科技有限公司(以下简称“瀚网科技”&#…...
php 8 注解的实际应用
前言 学过java的同学应该都知道注解的作用,但是在php中注解有什么用呢?我的理解就是美化代码和便于维护一些类的设计。 说明 我们先设计一个类,声明人类的性别 <?php class Sex {//男人const MAN 1;//女人const WIFE 2;//未知const…...

【数据结构】树与二叉树(十三):递归复制二叉树(算法CopyTree)
文章目录 5.2.1 二叉树二叉树性质引理5.1:二叉树中层数为i的结点至多有 2 i 2^i 2i个,其中 i ≥ 0 i \geq 0 i≥0。引理5.2:高度为k的二叉树中至多有 2 k 1 − 1 2^{k1}-1 2k1−1个结点,其中 k ≥ 0 k \geq 0 k≥0。引理5.3&…...

相机突然断电,保存的DAT视频文件如何打开
3-6 本文主要解决因相机突然断电导致拍摄的视频文件打不开的问题。 在平常使用相机拍摄视频,比如使用佳能相机拍摄视频的时候,如果电池突然断电,就非常有可能会导致视频没来得及保存而损坏的情况,比如会产生下图中的这种DAT文件…...

[西湖论剑 2022]real_ez_node
文章目录 前置知识EJS模板注入(CVE-2022-29078)原型链污染漏洞 (CVE-2021-25928)HTTP响应拆分攻击(CRLF) 解题过程代码审计构造payload 前置知识 EJS模板注入(CVE-2022-29078) EJS…...

如何正确使用GPT工具
引言 在快速发展的数字时代,人工智能(AI)已成为科研领域的一个不可或缺的工具。特别是像ChatGPT这样的AI聊天机器人,它通过高效的语言模型和深度学习算法,为科研工作者提供了前所未有的辅助。从文献搜索到数据分析&…...

Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑
Kotlin Multiplatform稳定版本发布:加速跨平台开发的新里程碑 引言 在最新的消息中,JetBrains团队宣布Kotlin Multiplatform(KMP)将于2023年10月稳定发布。这一消息对于广大开发者来说毫无疑问是一个令人振奋的消息。KMP的正式生…...
Paas-云管理
云管理平台(Cloud Management Platform,CMP)是由Gartner最先提出的企业云战略中的一种产品形态。Gartner对云管理平台(CMP)的定义是一种管理公有云、私有云和混合云环境的整合性产品。 什么是云管理平台 云管理平台&a…...

http-server安装使用
前段时间给电脑重装了系统,很多东西都没了,今天想在浏览器打开一个本地的html文件,发现电脑上没有http-server,于是装了一个,并且记录下安装过程 1、安装 nodejs,但如果你电脑上有,就无需下载 …...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...

企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...

论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...