自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

oba没有马

Do something big!

  • 博客(112)
  • 资源 (7)
  • 收藏
  • 关注

原创 linux下文件系统数据恢复

工具testdisk-7.2-WIP.linux26-x86_64(下载路径:https://www.cgsecurity.org/wiki/TestDisk_Download)原理 数据在文件系统中是分成两个部分的,一部分是文件名、存放位置等元数据信息,另一部分才是真正的文件数据。而常规的删除,是只删除元数据信息,文件数据信息是不删除的,因此才有带来恢复的可能。当然,如果想恢复数据,千万别在往磁盘上继续写新数据,如果文件数据的位置被新数据覆盖,那么恢复数据就不是简...

2021-09-04 22:08:53 747

转载 Linux硬盘的检测--smartctl详细介绍

概述 随着硬盘容量、速度的快速发展,硬盘的可靠性问题越来越重要,今天的单块硬盘存储容量可轻松达到1TB,硬盘损坏带来的影响非常巨大。不同的文件系统(xfs,reiserfs,ext3)都有自己的检测和修复工具。检测之前可以先使用dmesg命令查看有没有硬件I/O故障的日志,如果有,先用fsck看看是不是文件系统有问题,如果不是则可以使用下面介绍硬盘检测和优化方法来修复它。 grep"erro...

2019-02-01 11:09:48 2934

转载 Linux下生成patch和打patch

转载出处:https://www.cnblogs.com/aaronLinux/p/5860552.html目录 通过diff工具生成补丁, patch工具打上补丁.1.为单个文件生成补丁2.为多个文件生成补丁3.打补丁4. 示例通过diff工具生成补丁, patch工具打上补丁.在使用diff之前, 你需要保留一份未修改过的源码, 然后在其它地方修改源码的一份...

2019-01-29 13:35:37 4465

原创 ceph df中pool对应的max avail计算方式

目录 计算公式举例结论源码跟踪取值打印max avail处计算osd除于权重占比值osd的权重占总权重的占比计算函数源码打印测试计算公式 参数说明:max_avail:最大可用空间min():取括号范围内的最小值osd_avail:表示某个编号osd对应的可用空间weight:表示对应某个编号osd对应的权重值:表示一个rul...

2019-01-28 17:28:34 2589

转载 一张图让你学会LVM

导读 随着科技的进步,人们不知不觉的就进入了大数据的时代,数据的不断增加我们发现我们的磁盘越来越不够用了,接下来就是令人头疼的事情--加硬盘,数据的备份与还原。LVM就是Linux下专门针对我们数据的不断的扩大,在原有动态磁盘的基础上动态的调整磁盘的大小,LVM动态卷管理,一张图片让你深入了解lvm的使用。 LVM——Logical Volume ManagerLVM就是动态卷管...

2018-11-21 11:16:36 319

翻译 cmake教程

目录 简介教程最简示例增加版本号和配置头文件增加一个库安装与测试增加系统自检增加生成文件和生成器创建一个安装器Dashboard的支持简介       CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX...

2018-10-18 16:28:58 1403

原创 【CEPH】修改osd journal的大小

环境ceph版本:0.94.5操作系统:Ubuntu 14.04osd存放路径:/var/lib/ceph/osd/ceph-${i}/ 背景    osd的journal大小由参数osd_journal_size控制,但是这个参数只能针对于新创建的OSD生效,对已经创建好的OSD的不生效,具体源码分析有空再补上。但是如果只想修改osd journal的大小,还得经过重做O...

2018-08-09 13:42:20 4540

原创 keystone fernet token(gAAAAA开头的token)反向解析

keystone的token分成很多种,其中一种是fernet token,是无需存库的,直接将信息加密成一串字符串,形如gAAAAABbWVmgqmOqekHLGAP5-JjSIE_-cGzKZYeADNMmEu0d6nGvZ2rBMgN7EvAGHSkrcOo3JourXwz9TG6zIrsxWBxK4iK6B2I6zBL7a-s9bHAb0qqUSwGqXRoIiZdCHfN58Hgq...

2018-07-26 13:48:13 1525

原创 【CEPH】针对RBD客户端libvirt开启admin socket的日志调试功能

 目录CEPH端配置参考网址APPArmor概述访问模式参考网址配置过程环境信息查看rbd客户端信息配置ceph创建目标路径,并修改权限重启服务验证排错针对单个rbd块开启日志查看rbd的参数配置信息设置日志等级查看perf信息 CEPH端配置       如果想针对某个RBD客户端开启日志调试功能,可以选择在...

2018-07-23 11:29:26 2333

转载 理解 QEMU/KVM 和 Ceph(2):QEMU 的 RBD 块驱动(block driver)

目录理解 QEMU/KVM 和 Ceph(2):QEMU 的 RBD 块驱动(block driver)1. QEMU 的 RBD 块驱动1.1 QEMU 存储设备1.2 QEMU 存储栈1.3 QEMU 的 Ceph RBD 块设备驱动概述1.4 QEMU 的 qemu_rbd_open 函数2. 各种情况下的测试结果2.1 打开 librbd log 和 adm...

2018-07-19 10:36:52 2275

原创 【CEPH】对象存储入门——从概念到基本命令,再到源码分析

目录 三种存储本质区别为什么需要对象存储?核心概念用户存储桶对象架构HTTP-RGW IO路径RGW-RADOS IO栈FRONTENDrados对象和rgw对象对比各个池的作用.rgw.root.rgw.control.rgw.rgw.gc.users.uid.users.rgw.buckets.index.rg...

2018-06-29 11:32:45 8152

转载 Linux 内核中的 Device Mapper 机制

Device Mapper 是 Linux2.6 内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构,如图 1。图1 Device Mapper的内核体系架构在内核中它通过一个一个模块化的 target driver 插件实现对 IO 请求的过滤或者重新定向等工作,当前已经实现的 target driver 插件包括软 raid、软加密、逻辑...

2018-06-14 16:28:27 1554

原创 【linux】进程优先级、nice系统中的nice值和nice time,top中的PR和ps中的PRI

linux优先级概述 在用户空间通过nice命令设置进程的静态优先级, 这在内部会调用nice系统调用, 进程的nice值在-20~+19之间. 值越低优先级越高. setpriority系统调用也可以用来设置进程的优先级. 它不仅能够修改单个线程的优先级, 还能修改进程组中所有进程的优先级, 或者通过制定UID来修改特定用户的所有进程的优先级内核使用一些简单的数值范围0~139表示内部优...

2018-06-01 23:14:09 16088 4

原创 linux多版本python共存

https://pypi.org/project/pythonbrew/https://www.cnblogs.com/liaozhichao/p/4904277.html

2018-05-23 14:21:25 1932

原创 Python模块的学习

0.引入一个新的模块在python中,引用新的模块形式如下import sysfrom sys import *import sys as mysys1.__name__属性Python中,有主模块和非主模块的之分,区别的方法就是根据__name__的值来区分。如果__name__的值为__main__,那么它就是主函数,否则就是非主函数。注意这个变量是由系统给出的import sys as ...

2018-05-19 00:28:32 300

原创 【Python学习】Python语法基础——变量类型

0.字符串类型    Python中字符串可以用单引号,双引号,三引号来表示,例如:'hello',"hello","""hello"""需要特别注意的是,Python中的字符串是不允许修改的!1.数的类型有以下五种类型符号示例      取值范围整数型  int0,1,-100  -2**n到2**n-1,其中n表示计算机的位数长整型long20180518理论上没有范围,根据内存大小决定浮点型...

2018-05-18 22:11:53 232

原创 利用递归和getchar()逆序打印字符串

#include<stdio.h>int main(char ch){ if ((ch=getchar())^10) { //printf("%c",(ch)^10); main(ch); } putchar(ch); return 0;}

2018-05-18 21:40:37 807

原创 【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

ceph通过iscsi协议使用rbdISCSIiSCSI target设备命名规则iSCSI target名称必须是全球唯一的,其格式为: iqn.< yyyy-mm >.< tld.domain.some.host > [:< identifier >] iqn.< 年份-月份 >.< 域名反写 > [: < 设备识别...

2018-05-15 20:30:41 9609

转载 win7开机后输入密码后卡在黑屏界面只有鼠标

点击左下角开始 ,输入regedit进入,按enter键进入注册表。进入注册表以后,我们就需要按照这个步骤来去找了。HKEY_Local_Machine\Software\Microsoft\Windows NT\CurrentVersion\Winlogon 找到了上面的一步以后,我们会在右侧看到有一个shell的,我们先鼠标选中,然后点击右键选择修改。点击选择修改以后,我们会看到出来的字符,我...

2018-04-13 10:49:49 9485

转载 ceph 查看每个osd的pg个数

ceph pg dump | awk ' /^pg_stat/ { col=1; while($col!="up") {col++}; col++ } /^[0-9a-f]+\.[0-9a-f]+/ { match($0,/^[0-9a-f]+/); pool=substr($0, RSTART, RLENGTH); poollist[pool]=0; up=$col; i=0;...

2018-04-08 17:32:42 4099

原创 openstack keystone的token id是如何生成的以及内容源码分析

keystone版本信息:2:8.1.0-2~u14.04+mos4在请求token的时候,返回的token信息中,token id是一串gAAAA开头的字符串,形如gAAAAABaxGPtr5hDQ391yR5EKGz8brDVa--BoUMppVnjHQdbYCIUssKFV7Od48zamsQZOZQXAwXrZhP8TawhRZKi9GxMqsrRsNKN7M4vdvc7pT56rFg5o...

2018-04-04 13:56:11 1795

原创 【图文教程】VNC viewer连接openstack qemu-vnc成功后闪退问题

直接用VNC viewer连接vncserver或者tighervncserver的会成功,但是连接openstack qemu-vnc的会连接成功后闪退,原因是图像级别不一致的问题,修改即可首先打开VNC viewer,然后点击Options找到Expert下的ColorLevel,将这个值改成rgb222或者full即可...

2018-03-27 11:19:27 1734

原创 samba 本地设备名已在使用中 此连接尚未恢复

环境:ubuntu 14.04连接samba的时候提示本地设备名已在使用中此连接尚未恢复查看/var/log/samba下的日志,发现talloc包出现问题,重新安装即可apt-get install libtalloc2...

2018-03-16 10:45:19 13051 1

转载 深入理解Python 装饰器(decorator)

刚看到Python装饰器时, 觉得很神奇。简单实验下,发现也就那么回事。但是慢慢的看到越来越多的装饰器。很多时候又不了解到底是怎么回事了。最后还是决定好好研究下。先看看一些实例, 然后再来分析下原理 假设我们有如下的基本函数def do_something(): for i in range(1000000): pass print "play game"do_...

2018-02-27 14:53:07 266

原创 【CEPH】RBD mirror功能测试体验

RBD mirror功能介绍        rbd mirror就是集群间数据块设备之间的备份。这个功能可以实现集群级别的备份,跨地理位置的数据备份。可以是主-备模式,也可以是主-主模式。    如下图所示    在这个 实现过程中,加入了新的守护进程rbd-mirror,负责集群到集群直接的数据同步。Jewel版本中,还只能实现一对一的备份。配置及测试过程    前提l  两个集群能相互通讯l ...

2018-02-11 17:42:33 3801

原创 【CEPH】 ERROR: error creating empty object store in /var/lib/ceph/osd/ceph-0: (13) Permission denied

问题详细LOGroot@j-2:/etc/ceph# ceph-deploy osd prepare j-2:/var/lib/ceph/osd/ceph-0[ceph_deploy.conf][DEBUG ] found configuration file at: /root/.cephdeploy.conf[ceph_deploy.cli][INFO ] Invoked (1.5.39...

2018-02-11 13:58:45 4811

原创 CEPH J版本新特性RGW Multi-tenancy详解

CEPH官方对RGW Multi-tenancy的介绍如下RGW Multi-tenancy 多租户特性允许创建使用不同的存储桶和用户,前提是将其分离在不同的租户之下。例如,允许不同租户下的Swift API的用户,都可以创建形如“test”,“trove”这样很容易重复的桶名。 从Jewel版本开始,每个用户和桶都在租户之下。为了兼容性,RGW提供

2018-02-07 14:33:39 2013

原创 openstack基于CEPH的共享盘实现方案

首先,让我们先了解下librbd I/O的协议栈 其中VM根据libvirt通过配置文件来调用QEMU的。而块存储RBD,其实是CEPH集群的一个client而已。所以,可以控制OSD中的/etc/ceph/ceph.conf中的[client]字段的rbd_cache来决定是否开启RBD的缓存。对应图上的关系则是QEMU对应服务nova-compute,Ceph Clus

2018-02-05 21:31:24 3935

原创 Cephx源码浅析

Ceph X protocol Ceph的Auth认证服务由MON中的AuthMonitor模块提供,随MON启动而启动。启动时会检查认证服务是否为cephx,如果是将加载admin.keyring(里面包含客户端服务器共享的密钥)。当服务器接受请求后会开启一个会话,并初始化一个server_challenge,该值会传输给请求授权的客户端。客户端接收到server_challenge

2018-02-05 20:42:44 2430

原创 Cinder无法连上CEPH集群原因分析和解决

问题描述        Cinder服务无法连接到CEPH,导致cinder_volume服务无法启动。原因分析        Cinder用户对应的ceph用户没有连接volumes池的权限。解决办法       部分pool对应的ceph用户对应关系如下pool名称ceph用户i

2018-02-02 20:31:44 1311

原创 【CEPH】RBD拍平原理和shell脚本测试

原理测试数据        三个块大小分别为10G,30G,50G测试脚本 #!/bin/bashfor size in 10240 30720 51200do echo "****************************************************" echo "test rbd ${s

2018-02-02 20:24:30 1098

原创 【CEPH】scrub error解决方案

问题描述原因分析        数据的不一致性(inconsistent)指对象的大小不正确、恢复结束后某副本出现了对象丢失的情况。数据的不一致性会导致清理失败(scrub error)。        CEPH在存储的过程中,由于特殊原因,可能遇到对象信息大小和物理磁盘上实际大小数据不一致的情况,这也会导致清理失败。不一致性校验失败解决方案

2018-02-02 20:14:46 10138 1

原创 shell计算上传一个文件到CEPH的时间

shell计算上传一个文件到CEPH的时间

2017-08-24 13:51:44 561

原创 linux c/c++ 判断是否为中文(不包括中文符号,非正则)

在linux环境下,c/c++默认的中文编码为UTF-8,中文的unicode编码是双字节的编码。有趣的是,windows环境下中文utf-8的编码为两个字节,而linux环境下UTF-8的为三个字节,而匹配中文使用正则表达式为[\u4e00-\u9fa5]无论你是怎么搜索,百度出来匹配中文的正则基本都是上述的表达式。因此linux环境下3字节的UTF-8也用这个正则来匹配显然是不正确的。Linu...

2017-08-23 21:16:40 9331 4

原创 xshell连接VM虚拟机上下左右及退格键不正常问题

上下左右的问题可以在终端修改以下变懒来解决(非完美解决)export TERM=linux退格的问题可以通过“文件”->"属性”->"终端"->"键盘",修改红框区域内容来解决(并非完美解决)

2017-08-22 22:21:06 5376

原创 构建CEPH deb包

注:操作系统为UBUNTU14.4,3.X的内核,安装的CEPH版本为0.94.5(hammer) 思路        根据github上下载的CEPH源码,然后打包成deb包。通过dpkg –i指令替换ceph-deployinstall安装ceph的包,其他直接用ceph-deploy部署集群。或者是将打包的deb包发布本地repo,替换掉ceph-deploy的网络repo,按照...

2017-08-15 21:04:53 1183

原创 C语言strerror错误代码与其对应内容

strerror错误代码大全

2017-07-10 10:46:33 1081

原创 SSH原理及免密登陆

SSH的原理及免密登陆的设置

2016-11-13 17:52:44 622

原创 linux 查看目录的剩余可用空间【shell脚本】

Linux查看目录可用空间大小

2016-11-04 13:33:30 9270

转载 Ubuntu 14.04 设置软件源

Ubuntu设置软件源

2016-10-28 10:00:30 938

testdisk-7.2-WIP.linux26-x86_64.tar.bz2

linux文件系统恢复工具

2021-09-03

cmake学习相关的代码

本博客相关的cmake对应代码资源文档。里面包含了所有步骤所需要的代码。如果在学习过程中有疑问可以下载此安装包

2018-10-18

CEPH的对象存储RGW更新配额的源码跟踪

利用visio软件编写的CEPH的对象存储RGW更新配额的源码跟踪,从删除和上传的动作一直跟踪到具体更新配的代码位置

2018-06-29

samba离线安装和自动部署

ubuntu下,解压后执行./install.sh即可完成安装,映射路径在/etc/samba/smb.conf中,默认的samba密码见install.sh脚本

2018-05-23

sonar-ant-task-2.2.jar

Trying to override old definition of task javac [taskdef] Could not load definitions from resource org/sonar/ant/antlib.xml. It could not be found.

2016-04-07

coreutil文件包括pr.exe和link.exe

编译ffmpeg的静态库或者动态库时提示pr:commad not found时,需下载coreutil文件,这个文件夹下的bin文件夹下有pr.exe文件,将该bin目录下的所有文件复制到{MinGW_dir}\msys\1.0\bin下即可

2016-04-05

JLINK-V8不亮灯刷固件教程

网上的刷固件教程年代久远,配图少,生涩难懂,本人通过几个小时的整理,重新制作了图文并茂的教程,包看包会,还你一个正常的JLINK

2016-03-07

空空如也

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

TA关注的人

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