自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 nf_conntrack: table full, dropping packet

“连接跟踪表已满,开始丢包”!相信不少用iptables的同学都会见过这个错误信息吧,这个问题曾经也困扰过我好长一段时间。此问题的解决办法有四种(nf_conntrack 在CentOS 5 / kernel <= 2.6.19中名为 ip_conntrack ):一、关闭防火墙。 简单粗暴,直接有效chkconfig iptables offchkconfig ip6tables offservice iptables stopservice ip6tables stop

2021-05-14 20:52:55 3983

转载 Docker架构原理及常用命令

Docker的介绍 Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用进程进行封装隔离,并且 独立于宿主机与其他进程,这种运行时封装的状态称为容器。 Docker早起版本实现是基于LXC,并进一步对其封装,包括文件系统、网络互联、镜像管理等方面,极大简化了容器管理。从0.7版本以后开始去 除LXC,转为自行研发的libcontainer,从1.11版本开始,进一步演进为使用runC和c

2021-04-11 15:09:42 467

原创 Linux内存测试---构造消耗内存shell脚本

实现思想:借鉴虚拟内存的思想,创建虚拟内存文件系统,不断写入数据达到消耗内存的目的,需要清除内存时,删除创建的虚拟内存目录即可。#使用虚拟内存构造内存消耗mkdir /tmp/memorymount -t tmpfs -o size=1024M tmpfs /tmp/memorydd if=/dev/zero of=/tmp/memory/block#释放消耗的虚拟内存rm /tmp/memory/blockumount /tmp/memoryrmdir /tmp/memor

2021-01-25 11:40:42 7510 1

原创 Linux的cpu测试---构造消耗cpu的shell脚本

思路:构造是循环可以消耗CPU的资源。用法:该脚本很简单,使用之前使用命令cat /proc/cpuinfo | grep "processor"|wc -l 先查询下cpu的个数,需要构造消耗8颗cpu的资源运行脚本sh cpu_usage.sh consume 8,此时运行top命令查看cpu的使用率。如果要释放cpu资源,运行sh cpu_usage.sh release即可释放cpu资源。#!/bin/bash# Destription: test cpu usage # Exa.

2021-01-25 11:40:24 4664 1

转载 cosbench详细安装及使用说明

一、前言参考资料:https://blog.csdn.net/QTM_Gitee/article/details/100067724https://github.com/intel-cloud/cosbench/blob/master/COSBenchUserGuide.pdfCOSBench测Ceph对象存储:那些网上找不到的细节1、介绍cosbench - Cloud Object Storage Beachmark,是Intel开发的一个对象存储基准性能测试工具,支持OpenStack

2020-08-26 10:39:16 16972 7

转载 Flask操作指南(超级详细)

flask使用操作指南11. flask介绍Flask是一个基于Python实现的web开发的'微'框架中文文档地址Flask和Django一样,也是一个基于MVC设计模式的Web框架flask流行的主要原因:a)有非常齐全的官方文档,上手非常方便b) 有非常好的拓展机制和第三方的拓展环境,工作中常见的软件都有对应的拓展,自己动手实现拓展也很容易c) 微型框架的形式给了开发者更大的选择空间2. 安装flask2.1虚拟环境搭建virtualenv..

2020-08-18 11:50:43 6846

转载 Python 类的继承和组合

面向对象的编程带来的主要好处之一是代码的复用,实现这种复用的方法之一是通过继承机制。python中解决代码复用的方式:继承和组合。1 什么是继承继承是一种创建类的方法,在python中,一个类可以继承来自一个或多个父类。原始类称为基类或超类。class ParentClass1: #定义父类 passclass ParentClass2: #定义父类 passclass SubClass1(ParentClass1): #单继承,基类是ParentClass...

2020-08-17 14:14:35 2953

转载 面向对象圣经----Python

设计模式解析里提到了面向对象设计考虑的几个视角,一个是概念层(解决需求的实现方式, 定义抽象类),一个是规约层(描述对象的行为, 定义接口),一个是实现层(实现对象的行为)。实际上我们大多数初级编程人员的眼睛一直是盯着实现层的,而这正是面向对象设计所极力避免的,即你不要在一开始就关注这些细节,你要关注的是规约(接口)。从概念层开始编程叫概念层次编程,其定义了需求的行为和实现方式;从规约层编程开始叫做面向接口编程,其描述了对象的行为。第一天上帝看到人类发明了计算机,但一直在用...

2020-08-17 14:10:49 197

转载 Jenkins pipeline语法详解

一、引言  Jenkins 2.0的到来,pipline进入了视野,jenkins2.0的核心特性. 也是最适合持续交付的feature。  简单的来说,就是把Jenkins1.0版本中,Project中的相关配置信息,如SVN/Git的配置,Parameter的配置等都变成Code,即Pipeline as Code。  随着pipeline交付流水线在团队中的推广,使用pipeline脚本的job也迅速增加。  优势:     通过写代码的形式配置Project,且Jenkins中

2020-08-13 20:18:23 994

转载 kickstart详解(超级详细)

一、kickstart是什么  许多系统管理员宁愿使用自动化的安装方法来安装红帽企业 Linux.为了满足这种需要,红帽创建了kickstart安装方法.使用kickstart,系统管理员可以创建一个文件,这个文件包含了在典型的安装过程中所遇 到的问题的答案.  Kickstart文件可以存放于单一的服务器上,在安装过程中被独立的机器所读取.这个安装方法可以支持使用单一kickstart文件在多台机器上安装红帽企业Linux,这对于网络和系统管理员来说是个理想的选择.Kickstart给用户提供了一

2020-08-10 21:16:05 43301 1

转载 Linux的网络流控工具tc使用方法

在进行网络服务的测试时,有时需要模拟一些异常的网络情况,例如网络延时长、丢包、网络地址连接不通等。在Linux下,可以通过tc工具来模拟各种网络情况;通过iptables禁止访问某个网络地址。一、netem与tc介绍 netem 是Linux 2.6及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽、传输延迟、丢包等等情况。 使用Linux 2.6 (或以上)版本内核的很多发行版Li...

2020-07-27 14:46:29 1531

原创 分布式存储与传统存储对比优缺点

传统的存储以EMC,HDS,NetApp为代表,产品方案以SAN和NAS应用为主。典型的SAN应当属于关系型数据库,数据以块数据为主,所谓结构化数据;而NAS以文件数据为主,可以认为是非结构化数据。期间,也有所谓融合存储或者统一存储,用单一阵列兼顾SAN和NAS应用,所谓SAN+NAS。实际上,传统阵列存储也在向软硬件分离方向发展,也是一种软件定义的存储方式,在新的方式下,统一的存储不再需要额外的添加NAS机头,用软件方式来实现。分布式存储方面,以对象存储、软件定义存储、云存储、超融合、Server

2020-07-24 16:55:45 17291

转载 多路径multipath参数配置详解

默认情况下,multipath已经支持大部分常见的存储型号(可见multipath.conf.defaults),但不同的multipath版本可能都有些不同。这时,建议参考存储的官方文档,但有时候,同一台机器上如果连接了一个以上的存储时,可能默认规则并不完全适用。这时我们可以给特定的存储定制多路径符合的策略。  配置文件的模板默认位于/usr/share/doc/device-mapper-multipath-x.x.x/multipath.conf(x为multipath的实际版本号),配置mult

2020-07-24 09:33:44 6838

转载 Docker架构详解及常用命令介绍

1.1、Docker的介绍 Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用进程进行封装隔离,并且 独立于宿主机与其他进程,这种运行时封装的状态称为容器。 Docker早起版本实现是基于LXC,并进一步对其封装,包括文件系统、网络互联、镜像管理等方面,极大简化了容器管理。从0.7版本以后开始去 除LXC,转为自行研发的libcontainer,从1.11版本开始,进一步演进为使用ru

2020-07-24 09:23:18 480

转载 RAID技术超详细介绍(RAID大全)

RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆。这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征、基本原理、关键技术、各种等级和发展现状进行了全面的阐述,并为用户如何进行应用选择提供了基本原则,对于初学者应该有很大的帮助。一、RAID 概述  1988 年美国加州大学伯克...

2020-07-24 09:16:59 6251

原创 ceph的pg,osd和pool之间的关系查找

使用ceph时,经常碰到某个pg有问题,但是这个pg属于哪个存储池呢,到处翻命令,在此记录下常用的几个命令,用于查找pg os和pool之间的映射关系。1. 通过pg查找所属的poolceph pg dump |grep "^{poolid}\." #poolid通过ceph osd pool ls detail 可查看到2. 通过pg查找pgceph pg ls-by-pool {poolname} 或者ceph pg ls {poolid}3. 通过pg查看其所在的osd

2020-07-23 14:00:34 4336

转载 FIO使用说明(最详细最全的参数说明)

这个文档是对fio-2.0.9 HOWTO文档的翻译,fio的参数太多了,翻译这个文档时并没有测试每一个参数的功能和使用方法,只有少量参数做了试验,大部分的参数采用的是根据字面翻译或是个人理解的翻译,必然有些出入,先发出来,以后有使用的时候再被充和修改。在另一个文档中会对fio自带的实例进行分析,可能会更为清晰一些。 fio这...

2020-07-17 16:09:13 23184

原创 Linux的iostat命令详解---IO和CPU实时监控

1. 简介iostat用于监控统计系统输入输出设备和CPU的使用情况,英文I/O statistics的缩写。iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat属于软件包,所以使用前需要先安装sysstat。2

2020-07-16 16:30:08 823

原创 什么是python的生成器

【前言】我们可以通过列表生成式直接创建一个列表,但是受内存限制,列表的容量肯定是有限的。而且如果创建一个包含1000万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那么我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的内存空间。在python中这种一边循环一边计算的机制,称为生成器(Generator)。所以说生成器也是一种迭代器,但是你只能对

2020-07-12 18:02:13 2408

原创 什么是python的迭代器,迭代器有什么好处

【前言】在初级研发或测试面试中总会被问到什么是python的迭代器,有什么好处?这个看似很简单的话题说起来似乎感觉自己并不是特别清楚的能讲出来。所以本文记录下自己查阅很多资料后的总结。【什么是迭代器】迭代器是python最强大的功能之一,是访问集合元素的一种方式1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个stoplteration异常,以终止迭代(只能往后走,不能往前退)2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一

2020-07-12 16:09:44 7391 3

转载 分布式存储与传统存储

随着主机、磁盘、网络等技术的发展,对于承载大量数据存储的服务器来说,服务器内置存储空间,或者说内置磁盘往往不足以满足存储需要或者虽然能满足要求,但各个服务器之间独立,严重降低了磁盘的利用率。因此,在内置存储之外,服务器需要采用外置存储的方式扩展存储空间,今天IT君给大家分享一下当前主流的存储架构。直连式存储(简称DAS)DAS存储...

2020-07-12 15:08:24 1316

转载 Centos7安装oracle11g R2超级详细步骤

资料:https://blog.csdn.net/u013634348/article/details/53552266转自:https://blog.csdn.net/mchdba/article/details/43086037需要安装oracle dataguard,所以先要安装单台oracle11g,下面是单台oracl...

2020-07-02 17:15:30 5716 1

转载 什么是SSD固态硬盘的QLC、SLC、MLC、TLC

概要本文从SSD结构出发,详细介绍NAND闪存芯片QLC、SLC、MLC、TLC之间的区别、各自的优缺点以及其适用的人群。?目录一、剖析SSD二、什么是NAND闪存三、单层单元(Single Level Cell,简称SLC)四、多层单元(Multi Level Cell,简称MLC)五、三层单元(Triple Leve...

2020-07-01 08:56:56 5441

转载 SSD固态硬盘颗粒SLC MLC TLC QLC有什么区别

 NOR Flash 和 NAND Flash是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR Flash 技术,彻底改变了原先由EPROM(Electrically Programmable Read-Only-Memory电可编程序只读存储器)和EEPROM(电可擦只读存储器Electrica...

2020-07-01 08:53:29 2227

转载 对象存储(OSD)及架构原理

什么是对象存储(OSD)?存储局域网(SAN)和网络附加存储(NAS)是我们比较熟悉的两种主流网络存储架构,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。对象存储的发展历史:1999年成立的全...

2020-06-30 16:11:50 7513

转载 【详细齐全】Linux的vim操作命令

vim常用命令总结 (转)  在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。   vi...

2020-06-30 09:35:37 285

转载 大话Ceph--RBD那点事儿

引言这篇文章主要介绍了RBD在Ceph底层的存储方式,解释了RBD的实际占用容量和RBD大小的关系,用几个文件的例子演示了文件在RBD(更恰当的是xfs)中的存储位置,最后组装了一个RBD,给出了一些FAQ。RBD是什么RBD : Ceph’s RADOS Block Devices , Ceph block devices a...

2020-06-30 09:01:53 1219

转载 Git常用命令及方法大全

Git常用命令及方法大全  下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 本地分支关联远程git branch --set-up...

2020-06-29 21:29:20 3750

转载 大话Ceph--CephX 那点事儿

《大话 Ceph 》系列文章通过通俗易懂的语言并结合基础实验,用最简单的描述来讲解 Ceph 中的重要概念。让读者对分布式存储系统有一个清晰的理解。引言这篇文章主要介绍了 Ceph 中的一个重要系统 – CephX 认证系统。简要介绍了 CephX 的命名格式。并介绍了从集群启动到用户连接集群这一系列流程中 CephX 所起的作用。最后通过实验操作讲解如何在集群所有秘钥丢失的情况下将其完整恢复,以及在实际生产环境中使用 CephX 的一些注意事项。CephX 是什么?CephX 理解起来很简单,就是

2020-06-29 14:55:08 607 1

原创 python的浅拷贝和深拷贝

1. Python如何拷贝一个对象?在Python中如何拷贝一个对象呢?我们很多时候会用等号赋值法,除了=赋值,实际上还有浅拷贝和深拷贝,那么赋值,浅拷贝和深拷贝到底有什么区别呢?(1) 赋值(=):创建了对象的一个新的引用,修改其中任意一个变量都会影响到另外一个;(2) 浅拷贝:创建一个新的对象,但是它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会改变);(3) 深拷贝:创建一个新对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变)。浅

2020-06-28 17:57:34 210

原创 Ceph中的PG和PGP的关系

【前言】ceph创建存储池需要pg数和pgp数的两个参数,在前面我们介绍了ceph的pg,那么pgp和pg有什么关系呢?PG (Placement Group),pg是一个虚拟的概念,用于存放object,PGP(Placement Group for Placement purpose),相当于是pg存放的一种osd排列组合。举个例子:假设集群有3个osd,即osd1,osd2,osd3,副本数为2,如果pgp=1,那么pg存放的osd的组合就有一种,可能是[osd1,osd2],那么所有的...

2020-06-24 14:55:35 2866

转载 大话Ceph--PG那点事儿

引言PG,Placement Group,中文翻译为归置组,在ceph中是一个很重要的概念,这篇文章将对PG进行深入浅出的讲解。PG是什么PG就是目录!我事先搭建了一个3个host, 每个host有3个OSD的集群,集群使用3副本,min_size为2。集群状态如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 .

2020-06-24 13:59:03 444

原创 Ceph存储引擎bluestore简介

【背景】ceph后端支持多种存储引擎,以插件的方式进行管理和使用,默认使用filestore,如ext4、btrfs,xfs。理论上每个文件系统都实现了POSIX协议,但是每个文件系统都会有那么一些不标准的地方。主要存在以下几个方面:1.Ceph的实现非常注重可靠性,因而需要为每种文件系统引入不同的Walkaround或者Hack;例如Rename不幂等性,等等。这些工作为Ceph的不断开发带来了很大负担。2.FileStore构建与Linux文件系统之上。POSIX提供了非常强大的功能,但..

2020-06-22 17:46:55 3248 1

原创 Python调试神器pdb

1. pdb简介pdb是python自带的调试器,是python debugger 的简称。使用pdb调试有两种方式。为python程序提供了一种交互的源代码调试功能。2. 使用单步调试所谓的单步调试,就是指的是每次执行一句Python语句。命令:python -m pdb xxx.py #启动脚本,进入单步执行模式注意在终端命令输入的前面,会有这样一个显示:(Pdb),这就表示进入了pdb命令调试。然后输入下面的命令即可。...

2020-06-17 10:59:09 219

原创 Python使用csv库操作csv文件

1. CSV格式的文件CSV文件是一种以逗号分隔值的文件类型,在Python中操作CSV文件通常以纯文本的方式打开。2. 使用csv库操作如下表格(1) 读取表格的内容#使用csv库import csvwith open("D:\\test.csv",'r') as f: #创建阅读器对象 reader = csv.reader(f) rows=[row for row in reader] #读取文件第一行数据 print(rows[0]

2020-06-16 21:19:06 1511

原创 ceph中纠删码如何读写数据

在介绍纠删码读写之前,我们先看下ceph处理IO的流程,借鉴别人提供的图片如下:从该图我们可以看到从前端的业务文件到数据保存到存储硬盘上的过程,步骤如下:1. File->Object映射RADOS中需要配置object的大小,一般会设置为2M到4M的大小。当用户写入数据文件时,首先会根据object的大小值将file进行切分。如果file的大小不足object的大小,则直接按照原大小映射到一个object中;如果file的大小大于object大小,则file会被切分若干个完整大小的.

2020-06-06 11:50:07 1390

原创 Ceph pg状态总结

PG( placement group)是一个放置策略组,它是对象的集合,该集合里的所有对象都具有相同的放置策略;简单点说就是相同PG内的对象都会放到相同的硬盘上; PG是 ceph的核心概念, 服务端数据均衡和恢复的最小粒度就是PG,那么pg的状态有哪些:1. 常见的pg状态:creating:创建中,当创建pool的时候,将会创建响应的pg;peering:等待互联a. 当pg处于peering状态时,ceph会将pg副本协定导入osd,当ceph完成peering,意味着osd同意当前

2020-05-27 16:05:49 1690 1

原创 ceph OSD状态及常用命令

1. OSD概念OSD:Object Storage Device,主要负责响应客户端请求返回具体数据的守护进程,一般一个集群会有多个OSD,每一块盘都会对应一个OSD。2. OSD 状态[root@data1 ~]# ceph osd stat4 osds: 3 up (since 23m), 3 in (since 13m); epoch: e345OSD状态说明:a. 集群内(in)b. 集群外(out)c. 活着且在运行(up)d. 挂了且不再运行(down).

2020-05-26 14:46:26 14226 3

转载 Ceph架构原理及IO处理流程

1. Ceph架构简介及使用场景介绍1.1 Ceph简介Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。1.2 Ceph特点高性能a. 摒弃了传统的集中式存储元数据寻址的方案,采用...

2020-05-12 12:52:16 1565

原创 Robot Framework + jenkins持续构建项目

目标:实现RobotFramework的脚本定时自动执行,执行完后自动将结果发送到指定邮箱前提1、 配置好Robot Framework的环境,脚本可以正常运行2、 部署好Jenkins的环境,Jenkins的安装不是本文的重点3、 在Jenkins里安装好以下插件:Email Extension Plugin、Zentimestamp plugin、Robot Framew...

2020-05-12 12:47:36 449

空空如也

空空如也

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

TA关注的人

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