自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

skdkjxy的专栏

好好工作,努力挣钱~柱子

  • 博客(1260)
  • 资源 (22)
  • 收藏
  • 关注

转载 利用BLKTRACE分析磁盘IO

http://www.idcat.cn在Linux系统上,查看磁盘的负载情况,咱们一般使用iostat监控工具,iostat的详细介绍查看另外的培训资料。其中很重要的参数就是await,await表示单个I/O所需的平均时间,但它同时包含了I/O Scheduler所消耗的时间和硬件所消耗的时间,所以不能作为硬件性能的指标。那如何才能分辨一个io从下发到返回整个时间上,是硬件层耗时多还是在io调...

2019-01-29 19:21:30 1385

转载 ceph存储 性能测试常见问题

目录名词解释性能测试FAQ1. 性能测试的基本过程是什么?2. 如何准备测试环境?3. 准备环境时,由于条件限制,机器系统硬件环境可能不同,机器硬件的cpu主频,单双核,硬盘转速等对性能测试的影响情况如何,在准备测试中哪些因素可以较少考虑或者忽略?4. 我们的机器本身会启很多自动服务,其对性能的影响如何?5. 测试过程中应该收集哪些数据?应该怎么获得?6. 是否打开...

2018-09-12 15:50:19 2015

转载 ceph存储 微软SMB3.0文件共享协议新特性介绍

SMB(*nix平台和Win NT4.0又称CIFS)协议是Windows平台标准文件共享协议。Linux平台通过samba来支持。SMB最新版本v3.0,在v2.0基础上针对WAN和分布式有改进。详细内容如下:透明故障切换:SMB3.0提供故障切换功能,在一台服务器故障情况下,客户端请求可以平滑切换到另外一台服务器,可以实现0宕机时间,切换过程少量IO会有延迟。该功能要求SMB服务器是一个集群,...

2018-07-10 15:58:51 2282

转载 ceph存储 C、C++白盒测试打桩小结

什么是桩       桩,或称桩代码,是指用来代替关联代码或者未实现代码的代码。如果函数B用B1来代替,那么,B称为原函数,B1称为桩函数。打桩就是编写或生成桩代码。       打桩的目的       打桩的目的主要有:隔离、补齐、控制。       隔离是指将测试任务从产品项目中分离出来,使之能够独立编译、链接,并独立运行。隔离的基本方法就是打桩,将测试任务之外的,并且与测试任务相关的代码,用...

2018-06-19 15:16:28 1662

转载 ceph存储 Linux内核分析coredump文件内核代码崩溃

一、分析Core文件1.1 找到core文件目录,启动mycrash:mycrash1.2 查看崩溃的堆栈信息:bt1.3 反汇编崩溃点的代码,10行:dis -l extract_http_info+73 10二、分析源文件hinfo.ko2.1 查看源文件信息:objdump -S hinfo.ko > tmp2.2 从tmp文件中查找1

2017-09-21 16:55:33 2273

转载 ceph存储 CentOS内核优化示例sysctl.conf、iptables、limits.conf

不是老法师,具体参数请自己根据自己的系统需求等情况做适当修改/etc/sysctl.confnet.ipv4.ip_forward = 0net.ipv4.conf.default.rp_filter = 1net.ipv4.conf.default.accept_source_route = 0kernel.sysrq = 0kernel.core_uses_pid = 1

2017-03-08 19:16:16 1859

转载 ceph存储 初识systemctl

从很久很久以前我们就在使用静态运行级别。而systemd提供了更为动态灵活的机制,来管控你的系统。运行级别 vs. 状态SysVInit使用静态的运行级别来构建不同的启动状态,大部分发布版本中提供了以下5个运行级别:单用户模式(Single-user mode)多用户模式,不启动网络服务(Multi-user mode without network service

2016-11-09 21:54:28 2132

转载 ceph存储 smartctl用法小结

SMART简介S.M.A.R.T.,全称为“Self-Monitoring Analysis and Reporting Technology”,即“自我监测、分析及报告技术”。是一种自动的硬盘状态检测与预警系统和规范。通过在硬盘硬件内的检测指令对硬盘的硬件如磁头、盘片、马达、电路的运行情况进行监控、记录并与厂商所设定的预设安全值进行比较,若监控情况将或已超出预设安全值的安全范围,就可以通

2016-11-09 21:11:07 3529

转载 ceph存储 集群恢复流程详解

1. 基本概念基于版本10.2.1pg状态机转换: 1.1 epoch    epoch是一个单调递增序列,其序列由monitor负责维护,当集群中的配置及osd状态发生变更时,其数值向上加一。这一机制等同于时间轴,每次序列变化是时间轴上的点。1.2 intervals    由于epoch反映的是整个集群的状态,故从单个

2016-10-18 20:03:21 5983

转载 ceph存储 dmesg和addr2line分析bug以及so动态库崩溃示例

Addr2line 工具(它是标准的 GNU Binutils 中的一部分)是一个可以将指令的地址和可执行映像转换成文件名、函数名和源代码行数的工具。这种功能对于将跟踪地址转换成更有意义的内容来说简直是太棒了1.       首先把你编译的库文件中的LINK目录对象的so库放到手机里,如 2.       当出错是查看Log中PC 的信息3.       执行在LINKED目录

2016-10-14 19:14:24 1804

转载 嵌入式 __sync_fetch_and_add系列函数

__sync_fetch_and_add系列的命令,发现这个系列命令讲的最好的一篇文章,英文好的同学可以直接去看原文。Multithreaded simple data type access and atomic variables    __sync_fetch_and_add系列一共有十二个函数,有加/减/与/或/异或/等函数的原子性操作函数,__sync_fetch_and_add,顾

2016-10-14 19:07:57 1203

转载 ceph存储 Jewel 版ceph安装和BlueStore配置

BlueStore对象可以直接存放在裸盘上,不需要任何文件系统接口。原理BlueStore 直接使用一个原始分区,ceph对象将直接写在块设备上,不再需要任何的文件系统;和osd一起进来的元数据将存储在 一个 名为 RocksDB 的键值对 数据库;各层意义:RocksDB :存储 WAL 日志和元数据(omap)BlueRocksEnv: 与RocksDB

2016-10-11 17:11:59 1800

转载 ceph存储 ceph Bluestore的架构

ceph 目前是开源社区比较流行的分布式块存储系统,其以良好的架构,稳定性和完善的数据服务功能,获得的了广泛的部署和应用。目前ceph 最大的问题是其性能相对较差,特别是无法发挥SSD等高速设备的硬件的性能。 Ceph 开源社区一直在优化ceph的性能问题。 目前的结果就是引入了新的object store,这就是最进合并入ceph master的BlueStore.Bluesto

2016-10-11 16:43:27 6079

原创 脚本乐园 磁盘自动化均等分区demo

磁盘自动化均等分区:#!/usr/bin/env shset -efunction help(){ echo "Usage: create_disk_partition " echo "Help options:" echo " the name of disk-dev , /dev/sde" echo "

2016-09-26 17:13:36 562

原创 ceph存储 ceph源码中自定义PerfCounters添加步骤

PerfCounters添加步骤,以FileStore为例:1、ObjectStore中有enum枚举,注意枚举中的第一个元素与最后一个元素,这是给PerfCountersBuilder使用的!enum {  l_os_first = 84000,  l_os_jq_max_ops,  ...  l_os_queue_lat,  l_os_nc_used_byt

2016-08-03 19:21:32 1606

原创 ceph存储 ceph源码调试中admin_socket接口

各位好,其中JSONFormatter与XMLFormatter均继承与Formatter这个格式基类,Formatter在源码调试或者性能调优中起到很重要的作用,值得细细研究。

2016-08-03 19:16:38 2319

转载 ceph存储 centos文件系统变为只读的解决处理

Linux系统重启或无故变为只读造成网站无法正常访问的简单临时的做法:一、1、mount:  用于查看哪个模块输入只读,一般显示为:  /dev/hda1 on / type ext3 (rw)  none on /proc type proc (rw)  usbdevfs on /proc/bus/usb type usbdevfs (rw)  none on

2016-06-12 11:16:31 4447

转载 ceph存储 PG的状态机和peering过程

PG 的状态机和peering过程首先来解释下什么是pg peering过程?当最初建立PG之后,那么需要同步这个pg上所有osd中的pg状态。在这个同步状态的过程叫做peering过程。同样当启动osd的时候,这个osd上所有的pg都要进行peering过程,同步pg的状态。peering过程结束后进入pg的Active状态,如果需要进行数据恢复则进行数据的恢复工作。 那

2016-06-03 16:29:47 9794 8

转载 ceph存储 object的attr和omap操作

这里有一个ceph的原则,就是所有存储的不管是块设备、对象存储、文件存储最后都转化成了底层的对象object,这个object包含3个元素data,xattr,omap。data是保存对象的数据,xattr是保存对象的扩展属性,每个对象文件都可以设置文件的属性,这个属性是一个key/value值对,但是受到文件系统的限制,key/value对的个数和每个value的大小都进行了限制。如果要

2016-06-03 15:52:53 9535

转载 ceph存储 PG的数据恢复过程

PG 的数据恢复过程   集群中的设备异常(异常OSD的添加删除操作),会导致PG的各个副本间出现数据的不一致现象,这时就需要进行数据的恢复,让所有的副本都达到一致的状态。想知道如何来进行数据的恢复之前,先要了解OSD故障的种类。 一、OSD的故障和处理办法: 1. OSD的故障种类:     故障A:一个正常的OSD因为所在的设备发生异常,导致

2016-06-03 15:44:07 10667 1

转载 ceph存储 基于pglog的一致性协议

分布式存储系统通常采用多副本的方式来保证系统的可靠性,而多副本之间如何保证数据的一致性就是系统的核心。ceph号称统一存储,其核心RADOS既支持多副本,也支持纠删码。本文主要分析ceph的多副本一致性协议。1.pglog及读写流程 ceph使用pglog来保证多副本之间的一致性,pglog的示意图如下:pglog主要是用来记录做了什么操作,比如修改,删除等,而每一条记录里包含

2016-05-24 11:38:52 2931

转载 ceph存储 ceph中pglog处理流程

ceph的PGLog是由PG来维护,记录了该PG的所有操作,其作用类似于数据库里的undo log。PGLog通常只保存近千条的操作记录(默认是3000条),但是当PG处于降级状态时,就会保存更多的日志(默认是10000条),这样就可以在故障的PG重现上线后用来恢复PG的数据。本文主要从PGLog的格式、存储方式、如何参与恢复来解析PGLog。1.PGLog的格式ceph使用版

2016-05-24 11:37:42 6231

转载 ceph存储 一致性hash算法释义

一致性Hash算法背景  一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。  但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数

2016-05-18 17:26:21 2336

转载 ceph存储 ceph-deploy部署挂载目录的osd

a, 一个ceph cluster至少需要1个mon节点和2个osd节点才能达到active + clean状态(故osd pool default size得>=2, 注意:如果不想复制的话,弄一个osd节点也是可以的,只需要将复制的备份数由默认3改为1即可,即sudo ceph osd pool set data min_size 1),meta节点只有运行ceph文件系统时才需要。

2016-05-12 16:12:40 16280

转载 ceph存储 Ceph架构剖析

1. 介绍云硬盘是IaaS云平台的重要组成部分,云硬盘给虚拟机提供了持久的块存储设备。目前的AWS 的EBS(Elastic Block store)给Amazon的EC2实例提供了高可用高可靠的块级存储卷,EBS适合于一些需要访问块设备的应用,比如数据库、文件系统等。 在OpenStack中,可以使用Ceph、Sheepdog、GlusterFS作为云硬盘的开源解决方案,下面我们来了

2016-05-11 17:02:00 2872

转载 ceph存储 缓存淘汰算法--LRU算法

1. LRU1.1. 原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.2. 实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:1. 新数据插入到链表头部;2. 每当缓存命中(即缓存数据被访问),则将数据移到链表头部;3

2016-04-25 17:05:52 2171

转载 ceph存储 linux 如何清理僵尸进程

今天在维护服务器的时候,发现有5个nova-novncproxy的僵尸进程。?26327 ?        S      0:05  \_ /usr/bin/python /usr/bin/nova-novncproxy --config-file=/etc/nova/nova.conf 4765 ?        Z      0:00      \_

2016-04-25 15:29:00 1278

转载 嵌入式 如何手动释放Linux内存的方法

Linux释放内存的命令:syncecho 1 > /proc/sys/vm/drop_cachesdrop_caches的值可以是0-3之间的数字,代表不同的含义:0:不释放(系统默认值)1:释放页缓存2:释放dentries和inodes3:释放所有缓存释放完内存后改回去让系统重新自动分配内存。echo 0 >/proc/sys/vm/dro

2016-04-15 17:12:19 1490

转载 ceph存储 Linux direct io使用

在linux 2.6内核上使用 direct io 不难,只需按照如下几点来做即可:1,在open文件时加上 O_DIRECT 旗标,这样以通告内核我们想对该文件进行直接io操作。2,在源文件的最顶端加上 _GNU_SOURCE 宏定义,或在编译时加在命令行上也可以,否则将提示:direct_io_write_file.c: In function 'main':d

2016-04-11 13:32:30 1202

转载 ceph存储 Linux文件空洞与稀疏文件

1、Linux文件空洞与稀疏文件2、文件系统数据存储3、文件系统调试文件空洞在UNIX文件操作中,文件位移量可以大于文件的当前长度在这种情况下,对该文件的下一次写将延长该文件,并在文件中构成一个空洞。位于文件中但没有写过的字节都被设为 0。如果 offset 比文件的当前长度更大,下一个写操作就会把文件“撑大(extend)”在文件里创造“空洞(hole)”

2016-04-07 14:00:41 1660

转载 ceph存储 CentOS系统启动流程及GRUB文件说明

CentOS系统启动流程POST(加电自检):检测硬件在CPU的控制下,将RAM芯片中的某个程序映射到ROM地址空间,并执行其中的指令完成系统硬件健康状况检查,例如存储设备、网卡、CPU、声卡等硬件设备是否完好。当检查完成后,所有硬件或基本硬件、核心硬件没有问题,则下一个启动流程BIOSBIOS(Boot Sequence):决定启动介质按照BIOS

2016-03-11 10:37:47 730

转载 ceph存储 查看磁盘IO负载看哪些进程在读写磁盘

发现服务器io有点高,顺带看看哪些进程在读写磁盘。1. lsof用 lsof 查看某块磁盘上的读写进程。gddg:~ # lsof /dev/xvda2 |headCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEinit 1 root cwd

2016-03-01 13:47:05 4609

转载 ceph存储 分布式系统设计系列 -- 基本原理及高可用策略

    “分布式系统设计”系列第一篇文章,这篇文章主要介绍一些入门的概念和原理,后面带来一些高可用、数据分布的实践方法!!==> 分布式系统中的概念==> 分布式系统与单节点的不同==> 分布式系统特性==> 分布式系统设计策略==> 分布式系统设计实践【分布式系统中的概念】        三元组               

2016-02-25 14:04:12 5759

转载 嵌入式 SIGBUS和SIGSEGV详解

一、导致SIGSEGV     1.试图对只读映射区域进行写操作 。    2.访问的内存已经被释放,也就是已经不存在或者越界。3.官方说法是:SIGSEGV --- Segment Fault. The possible cases of your encountering this error are: (1)buffer overflow --- usuall

2016-02-03 14:22:25 5381

转载 ceph存储 UIO 子系统结构介绍

------1------为什么出现了UIO?硬件设备可以根据功能分为网络设备,块设备,字符设备,或者根据与CPU相连的方式分为PCI设备,USB设备等。它们被不同的内核子系统支持。这些标准的设备的驱动编写较为容易而且容易维护。很容易加入主内核源码树。但是,又有很多设备难以划分到这些子系统中,比如I/O卡,现场总线接口或者定制的FPGA。通常这些非标准设备的驱动被实

2016-01-14 09:35:04 570

转载 嵌入式 环形缓冲区的设计与实现

环形缓冲区是嵌入式系统中十分重要的一种数据结构,比如在一个视频处理的机制中,环形缓冲区就可以理解为数据码流的通道,每一个通道都对应着一个环形缓冲区,这样数据在读取和写入的时候都可以在这个缓冲区里循环进行,程序员可以根据自己需要的数据大小来决定自己使用的缓冲区大小。 环形缓冲区,顾名思义这个缓冲区是环形的,那么何谓环形这个意思也很好理解,就是用一个指针去访问该缓冲区的最后一个内存位置的

2016-01-14 09:31:53 1603

转载 嵌入式 /proc/sys/kernel/sysrq and /proc/sysrq-trigger

重启服务器1.     # echo 1 > /proc/sys/kernel/sysrq  2.     # echo b > /proc/sysrq-trigger  1. /proc/sys/kernel/sysrq向sysrq文件中写入1是为了开启SysRq功能。根据linux/Documentations/sysrq.txt中所说:SysRq代表的是Magic S

2015-12-29 14:20:59 2822

转载 ceph存储 Linux 编译安装Boost

linux平台下要编译安装除gcc和gcc-c++之外,还需要两个开发库:bzip2-devel 和python-devel,因此在安装前应该先保证这两个库已经安装:#yum install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel -y然后是去官网下载源码包,地址下载,解压,按照如下步骤:#tar xvzf boos

2015-12-14 13:54:47 1627

转载 ceph存储 Could not find keyring file: /etc/ceph/ceph.client.admin.keyring on host

ceph-deploy mon create-initial 命令执行后, 如果提示:[ceph_deploy.mon][INFO ] Running gatherkeys...[ceph_deploy.gatherkeys][DEBUG ] Checking manila59 for /etc/ceph/ceph.client.admin.keyring[manila59][DEBUG

2015-11-25 12:37:35 13090

转载 嵌入式 Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches

Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches频繁的文件访问会导致系统的Cache使用量大增$ free -mtotal used free shared buffers cachedMem: 3955 3926 28 0 55 3459-/+ buffers/cache: 411 3544Swap: 5726 0 5726

2015-11-16 18:29:25 1462

osd bmp demo

我把部分代码摘到附件中了,FYI 多路码流添加osd的demo,可以下载,但请不要照搬代码,更不要随意传播,谢谢!

2015-06-25

boost中文手册C++

boost中文手册C++ boost库让我们更快、更好地使用C++进行大型系统或者服务器开发工作,提高工作效率,很值得一看!

2015-05-21

tracepoint_lttng使用详解

tracepoint_lttng使用详解,主要是对函数耗时进行定性的统计,对性能优化方案有着举足轻重的效果!LTTng 是一个 Linux 平台开源的跟踪工具,是一套软件组件,可允许跟踪 Linux 内核和用户程序,并控制跟踪会话(开始/停止跟踪、启动/停止事件 等等)。这些组件被绑定如下三个包: •LTTng-tools:库和用于跟踪会话的命令行接口 •LTTng-modules:允许用 LTTng 跟踪 Linux 的 Linux 内核模块 •LTTng-UST:用户空间跟踪库

2015-03-23

lz4-r127.tar.gz

这个源码很不好早,,在此提供给大家参考和使用

2015-03-10

oracle多实例创建和DataGuard配置DEMO

oracle多实例创建和DataGuard配置,欢迎下载,个人觉得还是很不错的哦

2015-03-05

多路径multipath配置文档和相关概念

一、什么是multipath 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,由于主机和存储通过了光纤交换机连接,这样的话,就构成了多对多的关系。也就是说,主机到存储可以有多条路径可以选择。主机到存储之间的IO由多条路径可以选择。

2015-01-07

paxos 算法 分析

很不错的paxos算法分析文档,值得一看,虽不能深入研究,但是可以初步了解!

2014-12-17

ceph-fs-rpm-build

对于,在redhat或者centos上进行建立rpm,可以说是一个必备的技能,由于项目需求,需要进行rpm包建立,故记录了rpm建立过程,供大家参考!

2014-12-08

centos7 ceph0.87

编译0.87版本ceph源码,并在centos7上成功搭建集群,并测试存储,包括相关rpms以及codes和最新ceph.conf

2014-11-24

vimrc_best

很好,我的用的很舒服,给大家看看,虽然我也从别的地方收集的,但是觉得对大家有帮助,所以分享一下!

2014-11-20

vimrc 配置文件

vimrc配置文件,精华配置,不错!

2014-11-20

centos_netcard_bonding

给大家分享一下,我成功配置的双网卡聚合的示例demo,其实就是相关的配置文件,只要放在对应的目录下就可以了

2014-11-19

ceph-cognize-docs_zh-v1.3

ceph-cognize-docs_zh-v1.3,很好的讲解了关于ceph的部署以及运维,中英文对照可以使用读者更好的理解原始原味的ceph经典。

2014-11-12

Apache2-http-conf

Apache2-http-conf,可以实现在x86以及Linux下实现http上传或者下载服务

2014-10-24

aac+h264封装MP4

aac+h264封装MP4,适用于我们项目的平台,需要使用的朋友可以修改相关参数,有问题可以反馈给我[email protected],谢谢

2014-10-23

uboot-hi3518c配置表

uboot-hi3518c配置表(适用本项目平台),这是仅适用RMII 网络模式!

2014-10-09

libevent源码深度剖析

libevent源码深度剖析,根据libevent开源代码框架进行剖析,很不错值得学习借鉴,还有libevent中C语言的功底值得学习揣摩!

2014-10-06

一眼看出NALU中SPS与PPS与SEI与IDR与P帧

一眼看出NALU中SPS与PPS与SEI与IDR与P帧

2014-09-30

使用 libevent 和 libev 提高网络应用性能

使用 libevent 和 libev 提高网络应用性能

2014-09-28

odb示例DEMO

odb示例DEMO,仅供大家参考交流……

2014-09-28

C/C++面试题

经典嵌入式、笔试面试题目大全,这里包含了面试笔试的程序题目,和一些关键字的解析

2013-01-10

空空如也

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

TA关注的人

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