- 博客(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
1592
转载 ceph存储 性能测试常见问题
目录名词解释性能测试FAQ1. 性能测试的基本过程是什么?2. 如何准备测试环境?3. 准备环境时,由于条件限制,机器系统硬件环境可能不同,机器硬件的cpu主频,单双核,硬盘转速等对性能测试的影响情况如何,在准备测试中哪些因素可以较少考虑或者忽略?4. 我们的机器本身会启很多自动服务,其对性能的影响如何?5. 测试过程中应该收集哪些数据?应该怎么获得?6. 是否打开...
2018-09-12 15:50:19
2137
转载 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
2476
转载 ceph存储 C、C++白盒测试打桩小结
什么是桩 桩,或称桩代码,是指用来代替关联代码或者未实现代码的代码。如果函数B用B1来代替,那么,B称为原函数,B1称为桩函数。打桩就是编写或生成桩代码。 打桩的目的 打桩的目的主要有:隔离、补齐、控制。 隔离是指将测试任务从产品项目中分离出来,使之能够独立编译、链接,并独立运行。隔离的基本方法就是打桩,将测试任务之外的,并且与测试任务相关的代码,用...
2018-06-19 15:16:28
1910
转载 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
2499
转载 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
1943
转载 ceph存储 初识systemctl
从很久很久以前我们就在使用静态运行级别。而systemd提供了更为动态灵活的机制,来管控你的系统。运行级别 vs. 状态SysVInit使用静态的运行级别来构建不同的启动状态,大部分发布版本中提供了以下5个运行级别:单用户模式(Single-user mode)多用户模式,不启动网络服务(Multi-user mode without network service
2016-11-09 21:54:28
2210
转载 ceph存储 smartctl用法小结
SMART简介S.M.A.R.T.,全称为“Self-Monitoring Analysis and Reporting Technology”,即“自我监测、分析及报告技术”。是一种自动的硬盘状态检测与预警系统和规范。通过在硬盘硬件内的检测指令对硬盘的硬件如磁头、盘片、马达、电路的运行情况进行监控、记录并与厂商所设定的预设安全值进行比较,若监控情况将或已超出预设安全值的安全范围,就可以通
2016-11-09 21:11:07
3868
转载 ceph存储 集群恢复流程详解
1. 基本概念基于版本10.2.1pg状态机转换: 1.1 epoch epoch是一个单调递增序列,其序列由monitor负责维护,当集群中的配置及osd状态发生变更时,其数值向上加一。这一机制等同于时间轴,每次序列变化是时间轴上的点。1.2 intervals 由于epoch反映的是整个集群的状态,故从单个
2016-10-18 20:03:21
6253
转载 ceph存储 dmesg和addr2line分析bug以及so动态库崩溃示例
Addr2line 工具(它是标准的 GNU Binutils 中的一部分)是一个可以将指令的地址和可执行映像转换成文件名、函数名和源代码行数的工具。这种功能对于将跟踪地址转换成更有意义的内容来说简直是太棒了1. 首先把你编译的库文件中的LINK目录对象的so库放到手机里,如 2. 当出错是查看Log中PC 的信息3. 执行在LINKED目录
2016-10-14 19:14:24
1898
转载 嵌入式 __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
1283
转载 ceph存储 Jewel 版ceph安装和BlueStore配置
BlueStore对象可以直接存放在裸盘上,不需要任何文件系统接口。原理BlueStore 直接使用一个原始分区,ceph对象将直接写在块设备上,不再需要任何的文件系统;和osd一起进来的元数据将存储在 一个 名为 RocksDB 的键值对 数据库;各层意义:RocksDB :存储 WAL 日志和元数据(omap)BlueRocksEnv: 与RocksDB
2016-10-11 17:11:59
1914
转载 ceph存储 ceph Bluestore的架构
ceph 目前是开源社区比较流行的分布式块存储系统,其以良好的架构,稳定性和完善的数据服务功能,获得的了广泛的部署和应用。目前ceph 最大的问题是其性能相对较差,特别是无法发挥SSD等高速设备的硬件的性能。 Ceph 开源社区一直在优化ceph的性能问题。 目前的结果就是引入了新的object store,这就是最进合并入ceph master的BlueStore.Bluesto
2016-10-11 16:43:27
6198
原创 脚本乐园 磁盘自动化均等分区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
611
原创 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
1687
原创 ceph存储 ceph源码调试中admin_socket接口
各位好,其中JSONFormatter与XMLFormatter均继承与Formatter这个格式基类,Formatter在源码调试或者性能调优中起到很重要的作用,值得细细研究。
2016-08-03 19:16:38
2430
转载 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
4647
转载 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
10347
4
转载 ceph存储 object的attr和omap操作
这里有一个ceph的原则,就是所有存储的不管是块设备、对象存储、文件存储最后都转化成了底层的对象object,这个object包含3个元素data,xattr,omap。data是保存对象的数据,xattr是保存对象的扩展属性,每个对象文件都可以设置文件的属性,这个属性是一个key/value值对,但是受到文件系统的限制,key/value对的个数和每个value的大小都进行了限制。如果要
2016-06-03 15:52:53
9872
转载 ceph存储 PG的数据恢复过程
PG 的数据恢复过程 集群中的设备异常(异常OSD的添加删除操作),会导致PG的各个副本间出现数据的不一致现象,这时就需要进行数据的恢复,让所有的副本都达到一致的状态。想知道如何来进行数据的恢复之前,先要了解OSD故障的种类。 一、OSD的故障和处理办法: 1. OSD的故障种类: 故障A:一个正常的OSD因为所在的设备发生异常,导致
2016-06-03 15:44:07
11069
1
转载 ceph存储 基于pglog的一致性协议
分布式存储系统通常采用多副本的方式来保证系统的可靠性,而多副本之间如何保证数据的一致性就是系统的核心。ceph号称统一存储,其核心RADOS既支持多副本,也支持纠删码。本文主要分析ceph的多副本一致性协议。1.pglog及读写流程 ceph使用pglog来保证多副本之间的一致性,pglog的示意图如下:pglog主要是用来记录做了什么操作,比如修改,删除等,而每一条记录里包含
2016-05-24 11:38:52
3055
转载 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
6461
转载 ceph存储 一致性hash算法释义
一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数
2016-05-18 17:26:21
2439
转载 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
16563
转载 ceph存储 Ceph架构剖析
1. 介绍云硬盘是IaaS云平台的重要组成部分,云硬盘给虚拟机提供了持久的块存储设备。目前的AWS 的EBS(Elastic Block store)给Amazon的EC2实例提供了高可用高可靠的块级存储卷,EBS适合于一些需要访问块设备的应用,比如数据库、文件系统等。 在OpenStack中,可以使用Ceph、Sheepdog、GlusterFS作为云硬盘的开源解决方案,下面我们来了
2016-05-11 17:02:00
2936
转载 ceph存储 缓存淘汰算法--LRU算法
1. LRU1.1. 原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.2. 实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:1. 新数据插入到链表头部;2. 每当缓存命中(即缓存数据被访问),则将数据移到链表头部;3
2016-04-25 17:05:52
2301
转载 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
1363
转载 嵌入式 如何手动释放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
1571
转载 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
1271
转载 ceph存储 Linux文件空洞与稀疏文件
1、Linux文件空洞与稀疏文件2、文件系统数据存储3、文件系统调试文件空洞在UNIX文件操作中,文件位移量可以大于文件的当前长度在这种情况下,对该文件的下一次写将延长该文件,并在文件中构成一个空洞。位于文件中但没有写过的字节都被设为 0。如果 offset 比文件的当前长度更大,下一个写操作就会把文件“撑大(extend)”在文件里创造“空洞(hole)”
2016-04-07 14:00:41
1773
转载 ceph存储 CentOS系统启动流程及GRUB文件说明
CentOS系统启动流程POST(加电自检):检测硬件在CPU的控制下,将RAM芯片中的某个程序映射到ROM地址空间,并执行其中的指令完成系统硬件健康状况检查,例如存储设备、网卡、CPU、声卡等硬件设备是否完好。当检查完成后,所有硬件或基本硬件、核心硬件没有问题,则下一个启动流程BIOSBIOS(Boot Sequence):决定启动介质按照BIOS
2016-03-11 10:37:47
774
转载 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
4757
转载 ceph存储 分布式系统设计系列 -- 基本原理及高可用策略
“分布式系统设计”系列第一篇文章,这篇文章主要介绍一些入门的概念和原理,后面带来一些高可用、数据分布的实践方法!!==> 分布式系统中的概念==> 分布式系统与单节点的不同==> 分布式系统特性==> 分布式系统设计策略==> 分布式系统设计实践【分布式系统中的概念】 三元组
2016-02-25 14:04:12
5922
转载 嵌入式 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
6200
转载 ceph存储 UIO 子系统结构介绍
------1------为什么出现了UIO?硬件设备可以根据功能分为网络设备,块设备,字符设备,或者根据与CPU相连的方式分为PCI设备,USB设备等。它们被不同的内核子系统支持。这些标准的设备的驱动编写较为容易而且容易维护。很容易加入主内核源码树。但是,又有很多设备难以划分到这些子系统中,比如I/O卡,现场总线接口或者定制的FPGA。通常这些非标准设备的驱动被实
2016-01-14 09:35:04
603
转载 嵌入式 环形缓冲区的设计与实现
环形缓冲区是嵌入式系统中十分重要的一种数据结构,比如在一个视频处理的机制中,环形缓冲区就可以理解为数据码流的通道,每一个通道都对应着一个环形缓冲区,这样数据在读取和写入的时候都可以在这个缓冲区里循环进行,程序员可以根据自己需要的数据大小来决定自己使用的缓冲区大小。 环形缓冲区,顾名思义这个缓冲区是环形的,那么何谓环形这个意思也很好理解,就是用一个指针去访问该缓冲区的最后一个内存位置的
2016-01-14 09:31:53
1740
转载 嵌入式 /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
2881
转载 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
1711
转载 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
13264
转载 嵌入式 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
1598
tracepoint_lttng使用详解
2015-03-23
多路径multipath配置文档和相关概念
2015-01-07
ceph-fs-rpm-build
2014-12-08
ceph-cognize-docs_zh-v1.3
2014-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人