自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 收藏
  • 关注

原创 idea在同一窗口打开多个项目

ieda中同一窗口打开多个项目操作如下

2023-09-18 10:02:32 1049

原创 编译rocksdb报错: error: implicitly-declared ‘constexpr rocksdb::FileDescriptor::FileDescriptor

error: implicitly-declared ‘constexpr rocksdb::FileDescriptor::FileDescriptor(const rocksdb::FileDescriptor&)’ is deprecated [-Werror=deprecated-copy],

2023-05-09 09:18:15 634 1

转载 ceph_osd故障检测

当前monitor可以通过3种途径检测到osd离线

2023-04-26 11:06:54 334

原创 pip安装boto3

最后没办法,下载了一个pip的新包,直接手动安装。由于最近在研究ceph 对象存储的生命周期,用到了boto3,所以打算安装一个boto3,以下是一步一步遇到的问题,查看pip的版本是8.1。但是还是显示下面2.7版本那个事儿,又想把 pip从20一直升级到23,Python2.7支持的最高版本就是20。我已经安装过升级的python,但是python3查看版本才是3.8,python的软链接没动。最后又用python3升级pip也报错,没办法,就用同样手动安装的办法升级了python3。

2023-04-04 18:14:38 1364

原创 python2.75升级到python3

python2.75升级到python3

2023-02-23 11:04:50 390 1

原创 ceph中报错“ clock skew detected on mon.ceph2, mon.ceph3”

clock skew detected on mon

2023-02-02 10:01:44 1857

转载 数据库测压工具Sysbench的安装和使用

sysbench是一个很不错的数据库性能测试工具。官方站点:https://github.com/akopytov/sysbench/rpm包下载:el/7/sysbench-1.0.15-1.el7.centos.x86_64.rpm - akopytov/sysbench · packagecloud源码包下载:https://github.com/akopytov/sysbench/archive/1.0.15.tar.gz

2022-12-27 10:15:40 1414

转载 ceph bluestore中的磁盘空间管理

一个设计良好的磁盘空间管理器,需要兼顾空间和时间效率;bluestore中提供了空间管理器FreelistManager来支持空间管理,当前提供了一种基于位图的实现,包含:位图持久化以及内存分配器Allocator两部分。其中,位图的持久化是指将空间分配(置1)和回收(置0)的位图状态持久化到磁盘中,基于rocksdb实现;内存分配器是磁盘位图的一致性视图,用来加速空间分配的速度,基于不同的内存组织形式,包括:stupid,bitmap, avl,hybrid四种。bluestore中,当前基于bitmap

2022-06-08 14:56:44 3244

原创 删除ceph数据量较多的bucket

线上环境ceph对象存储的bucket有大概180多万个对象,都是小文件,总体bucket不算太大,100G左右。经过测试,用rclone挂载以后打开挂载的目录会使集群的IO或者iops太高,害怕集群不稳定,所以换个方法删除,尽量在不影响线上集群使用的情况下删除这些对象。由于小文件数量太多,目录结构也太多,我看了大概有十几级目录,用s3cmd ls bucket的时候也出现超时,稍后重试的现象。但是把rgw的日志级别调整到20/20以后,出现下列日志:cls_bucket_list_ordered 把所有的

2022-05-12 11:01:02 1622

转载 Visual Studio添加整个目录到空项目中

我用的是Visual Studio Express 2013 for Windows Desktop,大多时候当做代码阅读器使用,但是对于如何将包含项目代码的整个目录导入到VS的空项目中,一直不得其法。今天特地研究了一下,并将结果与大家分享。1. 在VS中新建空项目。解决方案是不是同时新建,取决于你的需求。此处示例采用的是同时新建解决方案。如下图所示:2. 之后在文件系统中的目录和文件状态如下图所示:在openssl文件夹的内容是,3. 将源代码整个目录拷贝到项目目录(即op

2022-04-21 13:46:04 1653

转载 ceph peering机制-状态机

本章介绍ceph中比较复杂的模块:Peering机制。该过程保障PG内各个副本之间数据的一致性,并实现PG的各种状态的维护和转换。本章首先介绍boost库的statechart状态机基本知识,Ceph使用它来管理PG的状态转换。其次介绍PG的创建过程以及相应的状态机创建和初始化。然后详细介绍peering机制三个具体的实现阶段:GetInfo、GetLog、GetMissing。statechart状态机1.1 状态1.2 事件1.3 状态机的响应1.4 状态机的定义1.5 context

2022-04-02 09:47:01 588

转载 为Linux的cp和mv命令添加进度条

cp和mv可能是大家日常中使用最多的Linux命令之一。但是有一个突出的问题是这两个命令都不会有任何提示信息,这在操作大文件时候只能干等。可能大家对此已经习以为常,但是其实上也有解决解决方法,本文我们就介绍一个Gnu Coreutils(cp和mv的源代码包)的补丁Advanced Copy,用于给其增加进度条的功能。Advanced Copy是cp和mv 程序mod。它通过给cp和mv添加了一个进度条,在进行文件(夹)复制或移动操作时候提供进度条,数据传输速率,估计的剩余时间以及当前正在操作文...

2022-01-04 14:47:23 282

原创 python脚本运行报错问题

1.运行python脚本线上如下错误:根据网上查的用pip安装,执行pip install requests,继续显示如下错误执行:pip install --upgrade pip,继续报错执行:python3 -m pip install -U pip,终于成功了,如下:执行pip install requests的时候继续报错执行以下命令:查看bin目录发现有pip好几个版本,所以执行pip3.6 install requests终于成功!!!...

2021-12-09 16:10:19 867

原创 编译python出现错误

原因是在提示我们需要升级pip,执行python -m pip install --upgrade pip提示:执行 yum install python3-pip 即可

2021-12-09 14:35:55 862

原创 rclone挂载基于rsync的增量同步到ceph的验证(二)

ceph版本:12.2.12 一.在上一篇增量同步文章中提到,我用rclone挂载以后在计算机上打开挂载盘的时候有如下报错:其实这个主要原因是rclone挂载的时候access_key_id、secret_access_id配置的问题。s3cmd是提供访问RGW的开源命令行工具,通过这个工具我们可以实现类似于s3接口的访问方式。通过radosrgw-admin创建访问的用户以后,产生access_key和secret_key。s3cmd 安装完毕后,需要对 s3cmd 进行配置,这里就需..

2021-11-26 16:22:11 2103

转载 Ceph RGW 对象上传源码分析

RGW中OP请求处理函数的入口都是process_request,process_request会根据传入的RGWRados参数获取RGWOp,然后当请求合法性通过后去调用rgw_process_authenticated函数执行OP的具体动作。请求的处理 Collapse sourceint process_request(RGWRados* const store, RGWREST* const rest,

2021-11-24 14:47:38 823

转载 趣解 ceph rgw multisite data sync 机制

multisite是ceph rgw对象数据异地容灾备份的一个有效方案,笔者希望深入理解该技术,并应用于生产环境中,然而rgw的这部分代码晦涩难懂,笔者多次尝试阅读,仍云里雾里不解其意,最终流着泪咬着牙坚持多看了几遍,总结出了data sync的流程,这里以通俗易懂的形式呈现出来,希望对大家有所帮助~首先,认识下 data sync机制 的三个角色Data、DataLogShard、BucketShard rgw的multisite同步分为两部分:metadata数据同步 和 d...

2021-11-22 16:39:47 672

原创 rclone挂载基于rsync的增量同步到ceph的验证(一)

一.软件的下载和安装1.下载rsyncRsync是一款远程同步的软件,需要在客户端和服务端同时安装配置。但是如果只在本地同步,就只需要下载安装客户端就行先下载rsync,参考链接:https://blog.csdn.net/qqchaozai/article/details/41245955安装好客户端,cmd命令到安装路径的bin路径下,执行同步指令2.下载rclone参考链接:https://www.cnblogs.com/xzy186/p/14430650.html。链接这

2021-11-10 17:41:06 2804

转载 Rsync:Windows和Linux下本地同步及远程同步

一、什么是rsync  rsync,remote synchronize 一款远程同步功能的软件。Rsync 可以搭配 rsh 或 ssh 甚至使用 daemon 模式。 Rsync server 会打开一个 873 的服务通道 (port) ,等待对方 Rsync 连接。连接时, Rsync server 会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,下一次就只传送二个文件之间不同的部份。 Rsync 支持大多数的类 Unix 系统,无论是 Lin

2021-11-03 14:51:23 1020

转载 ceph(luminous)-Bluestore,更换ssd和wal位置(不改变大小)_pyrl的博客-程序员秘密

简介随着业务的增长,osd中数据很多,如果db或者wal设备需要更换,删除osd并且新建osd会引发大量迁移。本文主要介绍需要更换db或者wal设备时(可能由于需要更换其他速度更快的ssd;可能时这个db的部分分区损坏,但是db或者wal分区完好,所以需要更换),如何只更换db或者wal设备,减少数据迁移(不允许db或者wal设备容量变大或者变小).具体步骤如下:设置osd noout ,停止相应osd[root@test-1 ~]# ceph osd set nooutnoout is

2021-10-28 13:51:18 1134

转载 ceph中对象和osd的匹配

1 首先建立一个测试文件。 #echo "Hello Ceph, You are Awesome like MJ" > /tmp/helloceph #ceph osd pool create HPC_Pool 128 128 2 将生成的测试文件存入该池中并确认文件在池中: #rados -p HPC_Pool put object1 /tmp/helloceph #rados -p HPC_Pool ls object1 3 在c

2021-10-20 14:37:53 236

转载 坑爹的NSIS转义符:$ (在NSIS的MessageBox中写换行文字)

最近的项目中,发现了NSIS一个比较坑的地方:$ 不但是变量常量的开头,还是一个转义字符。大家有没有发现,NSIS写的脚本中,如果要让弹出消息框中的文字带换行功能,“\r\n” 是不是很不管用呢?某天我仔细阅读了NSIS文档后,终于恍然大悟。。要写成下面这个样子才行==MessageBox MB_OK "这是第一行 $\r$\n 这是第二行"下面整理下NSIS中字符串的存在转义的符号:$$ 表示“$”$\r 表示回车$\n 表示新的一行$\t 表示一个...

2021-09-16 09:42:23 573

转载 NSIS 静默安装

1:NSIS静默安装VC_X86.exeExecwait '"路径+exe" /q'这种情况下,若果exe没有“下一步这种过程”,程序会在读条解包时,静默安装EXE。2:NSIS静默安装.MSI文件ExecWait 'msiexec /i "$INSTDIR\drives\AppleMobileDeviceSupport64.msi" /qn /l* "$INSTDIR\drives\AppleMobileDeviceSupport64.msi.log'在安装时会打印LOG日志也可以

2021-09-09 17:38:06 1531

转载 NSIS添加系统环境变量的方法

A:使用SendMessage ,例子如下:;修改环境变量WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "abcd" "ggg"1;刷新环境变量SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment"1如何将路径添加到系统环境变量中NSIS, 系统环境变量问:比如,我把 a.exe

2021-09-09 16:43:41 1086

转载 CentOS安装S3FS实现OBS桶挂载

1、安装所需的一些工具yum -y install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel2、克隆s3fs-fuse到本地git clone https://github.com/s3fs-fuse/s3fs-fuse.git3、编译安装cd /root/s3fs-fuse/./autogen.sh./configure && make.

2021-08-05 16:49:43 726

转载 玩转ceph的正确姿势

内容目录:Ceph 客户端 Ceph 服务端 总结 参考玩转 Ceph 的正确姿势本文先介绍 Ceph, 然后会聊到一些正确使用 Ceph 的姿势;在集群规模小的时候,Ceph 怎么玩都没问题;但集群大了(到PB级别),这些准则可是保证集群健康运行的不二法门;Ceph 最初的目标是做一个分布式文件系统,直到现在这个目标也不能算完美实现;目前官网上对它的文件系统还是谨慎推荐的态度(不建议对线上核心业务部署);业界使用 Ceph ,大多是用它的对象存储;Ceph 客户端Ceph 支

2021-07-23 11:04:53 148

转载 Ceph工作原理详解

一、Ceph概述这里简单的说一下相关的组件,只是简单介绍组件 概念 Monitor 一个Ceph集群需要多个Monitor组成的小集群,它们通过Paxos同步数据,用来保存OSD的元数据 OSD OSD负责相应客户端请求返回具体数据的进程,一个Ceph集群一般都有很多个OSD MSD MSD 全称Cepg Metadata Service,是CephFs服务依赖的元数据服务 Object Ceph最底层的存储单位是Object对象,每个Object包含元

2021-07-14 10:34:18 290

转载 Centos7.4安装编译nbd模块错误(modprobe: FATAL: Module nbd not found.)

查看centos版本cat /etc/redhat-release#->CentOS Linux release 7.4.1708 (Core)查看自己内核版本uname -r #-> 3.10.0-693.el7.x86_64开始安装编译模块yum install kernel-devel kernel-headerscd /tmpwget http://vault.centos.org/7.4.1708/os/Source/SPackages/ke...

2021-06-07 10:09:41 1617

转载 Rocksdb Compaction原理

转载地址:https://www.cnblogs.com/cchust/p/6007486.html概述 compaction主要包括两类:将内存中imutable 转储到磁盘上sst的过程称之为flush或者minor compaction;磁盘上的sst文件从低层向高层转储的过程称之为compaction或者是major compaction。对于myrocks来说,compaction过程都由后台线程触发,对于minor compaction和major compaction分别对应一...

2021-02-20 16:13:24 352

原创 创建虚拟机后异常处理

在堡垒机创建完虚拟机以后,在xshell中一直ping不通。。。。查看ip a查看ip r ,发现缺少路由1.修改、/etc/sysconfig/network-scripts/eth0 注释掉 DEFROUTE=no这一行2.查看ip r命令,如果发现还是没有路由3.ifdown网口,然后再ifup网口。重启一下即可...

2020-11-13 10:46:24 157

原创 rpm包部署分布式存储ceph环境遇到的问题

编译ceph源码生成rpm包,用rpm包直接部署ceph环境。遇到的问题1.[ceph_deploy][ERROR ] File "/usr/lib/python2.7/site-packages/ceph_deploy/util/ssh.py", line 15, in can_connect_passwordless [ceph_deploy][ERROR ] if not remoto.connection.needs_ssh(hostname):,网上好多方法我都试过了,最终记录...

2020-11-12 15:06:49 1103 1

原创 安装ceph依赖包

在安装ceph的rpm包的时候出现好多依赖项,有一些是可以直接通过yum安装的,或者升级一个yum源为阿里源可以安装的,但是如下图这些事不能通过yum安装的,安装依赖项尽量用yum或者源码包安装,因为吐过通过源码编译安装的话,和可能系统的某些软件比如automake什么的版本不够之类的,到时候需要下载然后各种依赖项,反正各种问题,太麻烦。这次安装、编译ceph真的是各种坑都尝试过了。我也是通过网上找到的各种方法,希望总结记录下来,减少以后踩坑的数量1.安装xmlstarlet:参考链接https:/

2020-11-04 13:53:00 1200 6

转载 2020-10-22

转载自http://www.360doc.com/content/17/0306/10/30427643_634369208.shtml1.编译目标代码时指定的动态库搜索路径;2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径;3.配置文件/etc/ld.so.conf中指定的动态库搜索路径;//配置后要运行 ldconfig命令才能生效4.默认的动态库搜索路径/lib;5.默认的动态库搜索路径/usr/lib;1是最优先的, 使用gcc -Wl, -rpath,./ ,

2020-10-22 17:25:52 46

转载 2020-10-14

由于项目有用到ceph存储,所以打算下载源码进行编译,从ceph官网或者githup上下载全部都是不完整的,缺少各种库或者其他的文件,所以就直接从githup上克隆,首次接触githup克隆,感觉博文特别讲述特别清晰,详细,转载留念,感谢博主转载目录:https://blog.csdn.net/qq_42672770/article/details/81317778在使用git来进行版本控制时,为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下

2020-10-14 17:25:14 91

转载 动态载入DLL所需要的三个函数详解(LoadLibrary,GetProcAddress,FreeLibrary)

转载地址:https://blog.csdn.net/roshy/article/details/81944264动态载入 DLL动态载入方式是指在编译之前并不知道将会调用哪些 DLL 函数, 完全是在运行过程中根据需要决定应调用哪些函数。方法是:用 LoadLibrary 函数加载动态链接库到内存,用 GetProcAddress函数动态获得 DLL 函数的入口地址。当一个 DLL 文件...

2019-09-26 11:00:51 695

转载 session的到底是做什么的?

转载地址:前言:今天就来彻底的学一些session是个啥东西,我罗列了几个需要知道的要点:1.session 是啥?2.怎么保存的?3.如何运行?4.有生命周期吗?5.关闭浏览器会过期吗?6.Redis代替文件存储session7.分布式session的同步问题session是啥?首先,我大致的知道,session是一次浏览...

2019-09-11 14:44:16 185

转载 诸如(123456>>8) & 0xFF这类

转载地址:https://blog.csdn.net/iamgamer/article/details/79354617其中有两个位运算,一个是>>,一个是&。0xff的作用一: 十六进制0xff的长度是一个字节,即八位,二进制为:1111 1111,那么一个 8bit 数与1111 1111与运算还是这个数本身,但是一个16bit 数与 0xff就被截断了...

2019-07-03 10:34:30 896

转载 Linux中top命令

转载地址:https://www.cnblogs.com/loved-wangwei/p/8986287.htmltop命令算是最直观、好用的查看服务器负载的命令了。它实时动态刷新显示服务器状态信息,且可以通过交互式命令自定义显示内容,非常强大。在终端中输入top,回车后会显示如下内容:top - 21:48:39 up 8:57, 2 users, load average:...

2019-07-02 10:14:06 298

转载 Linux环境崩溃生成core文件以及调试

原文地址:https://www.cnblogs.com/secondtonone1/p/5732938.html步骤很详细具体,很有帮助,所以转发Windows环境崩溃问题可根据vs调试工具查看,Linux同样可以查看调用堆栈的信息,只是需要更改Linux设置,使程序崩溃时候产生core文件。然后gdb调试即可。1产生core文件方法产生coredump的条件,首先需要确认当...

2019-05-31 11:56:30 683

转载 #ifdef中的逻辑与或操作(多重判断)

转自:http://blog.csdn.net/davidhsing/article/details/8115121 原本用宏定义包起来的代码类似如下: [cpp] view plaincopyprint? #ifdef A //... #endif // A 现在要加入一个宏定义 B,实现类似这样的条件判断(显然实际上这样...

2019-04-10 15:15:34 9438

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除