文章 86
评论 0
浏览 124463
对象存储压力性能测试工具

对象存储压力性能测试工具

一、Cosbench工具 cosbench是intel开源的针对对象存储开发的测试工具 二、Cosbench安装 运行环境:centos7 依赖软件:JDK nmap-ncat 2.1 单台压测服务器部署 #安装依赖 [16:52:30 root@centos7 ~]#yum install java nmap-ncat #下载cosbench工具压缩包 [16:58:41 root@centos7 ~]#ls 0.4.2.c4 0.4.2.c4.zip [16:59:00 root@centos7 ~]#unzip 0.4.2.c4.zip #删除http_proxy环境变量 [17:00:04 root@centos7 ~]#unset http_proxy #启动cosbench [17:02:09 root@centos7 0.4.2.c4]#bash ./start-all.sh 2.2 多台测试客户端部署 #配置多个driver [17:05:07 root@centos7 0.4.2.c4]#cat conf/controller.conf [controller] d....

minio性能测试

minio性能测试

压测参数说明 压测数据量为:2个backet,每个backet为10000对象。每个对象大小512kb 所有minio服务内核以及资源优化都相同 整体读写压测时间为10分,读写比例为读写各占百分之50 一共4台压测客户端,每个客户端4个读写进程,整体16个读写线程。 所有测试都经过多次验证 #所有服务器内核优化 https://gitlab.gridsum.com/TechnologySharingCenter/back-end/research/-/issues/18#%E8%84%9A%E6%9C%AC minio服务器数据磁盘性能 多次测试 一、单机测试数据 1.1 单机单个数据盘 单块数据盘并不实现纠删码功能,即数据盘故障minio就无法正常工作,数据存储空间比例为1:1 minio服务器规格4C 16G 操作类型操作数操作产生的数据操作的平均时间吞吐量速率 read154.74kops79.23G11.41ms258.24op/s132.22MB/s write155.01kops79.36G43.12ms258.69op/s132.45MB/s 内存使....

线上rpm包下载本地

线上rpm包下载本地

通常生产环境由于安全原因都无法访问互联网。此时就需要进行离线安装,主要有两种方式:源码编译、rpm包安装。源码编译耗费时间长且缺乏编译环境,所以一般都选择使用离线 rpm 包安装。 一、工具准备 安装yum-utils 这个软件包中有许多关于rpm包的工具 repotrack(全量下载一个软件的依赖包) yumdownloader(下载软件的依赖包,如果本机已经安装不下载) reposync(下载一个yum仓库中所有包) yum -y install yum-utils 安装createrepo 这个软件可以利用目录中的rpm包生成一个repodata目录 二、实现步骤 [11:14:13 root@centos7 ~]#mkdir ansible [11:14:43 root@centos7 ~]#cd ansible #下载ansible所有依赖包 [11:14:25 root@centos7 ansible]#repotrack ansible #查看 [11:15:26 root@centos7 ansible]#ls | wc -l 88 #生成repodata元数据信....

linux系统防止某个进程被OOM

linux系统防止某个进程被OOM

内存不足:OOM OOM 即 Out Of Memory,“内存用完了”,在情况在java程序中比较常见。系统会选一个进程将之杀死, 在日志messages中看到类似下面的提示 Jul 10 10:20:30 kernel: Out of memory: Kill process 9527 (java) score 88 or sacrifice child 当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可回收时,就会抛出这个error,因为这个问题已经严重到不足以被应用处理)。 原因: 给应用分配内存太少:比如虚拟机本身可使用的内存(一般通过启动时的VM参数指定)太少。 应用用的太多,并且用完没释放,浪费了。此时就会造成内存泄露或者内存溢出。 使用的解决办法: 1,限制java进程的max heap,并且降低java程序的worker数量,从而降低内存使用2,给系统增加swap空间 设置内核参数(不推荐),不允许内存申请过量: echo 2 > /proc/sys/vm/overcommit_memory echo 80 > /proc/s....

rclone工具之对象存储数据备份

rclone工具之对象存储数据备份

安装rclone工具: 下载地址:https://hub.fastgit.org/rclone/rclone/releases/tag/v1.56.0 安装工具: yum install ./rclone-v1.56.0-linux-amd64.rpm 配置工具: 使用命令rclone config随便生成一个配置文件 之后修改生成的配置文件,配置文件默认路径~/.config/rclone/rclone.conf 根据环境修改配置文件 [13:05:05 root@centos7 ~]#cat .config/rclone/rclone.conf # Encrypted rclone configuration File [minio] type= s3 evn_auth= false access_key_id = ******** #密钥 secret_access_key = ******** #密钥 region = us-east-1 endpoint = http://****:*** #对象存储访问地址 location_constraint = server_side....

docker镜像上传下载脚本

docker镜像上传下载脚本

一、镜像下载以及替换tag list=`cat $1` #修改后的镜像仓库 Registry='harbor.zhangzhuo.org/base/' echo > images-save.txt echo > images-name.txt for var in $list;do #取镜像名称及tag tmp=${var##*/} #取镜像仓库url repo=${var%/*} #取镜像名称 project=${tmp%%:*} #取镜像tag tag=${tmp##*:} #修改原本镜像仓库url地址为新的的仓库url地址 eval new_image_url=${Registry}${tmp} #拉取镜像 docker pull ${var} #修改镜像tag docker tag ${var} ${new_image_url} #导出镜像 docker save ${new_image_url} -o ${project}-${tag}.tar.gz #记录导出的文件名称 echo ${project}-${tag}.tar.gz >> images-....

自动化部署zabbix-agent

自动化部署zabbix-agent

role目录结构 [17:57:10 root@ansible zabbix-agent]#tree . ├── role_zabbix-agent.yml #主playbook文件 └── zabbix-agent ├── files │   ├── echo.sh #自定义采集监控数据脚本 │   └── zabbix-4.0.30.tar.gz #zabbix源码包 ├── tasks │   ├── main.yaml #主tasks文件 │   ├── zabbix_conf.yaml #zabbix配置文件生成 │   ├── zabbix_install.yaml #安装zabbix-agent │   └── zabbix_service.yaml #生成zabbix-agent的service ├── templates │   ├── zabbix_agentd.conf.j2 #zabbix-agent配置文件模板 │&nbs....

自动化部署docker

自动化部署docker

docker的role目录结构 [19:07:17 root@ansible docker]#tree . ├── docker │   ├── files │   │   └── docker-19.03.15.tgz #docker二进制安装文件 │   ├── handlers │   ├── tasks │   │   ├── docker_etc.yaml #docker的etc配置文件,主要为镜像加速地址配置 │   │   ├── docker_install.yaml #docker二进制安装过程 │   │   ├── docker_service.yaml #docker服务的service文件生成 │   │   ├── docker_start.yaml #docker服务器启动 │  ....

Prometheus监控服务

Prometheus监控服务

一、Prometheus简介 官方网站:https://prometheus.io/docs/ github地址:https://github.com/prometheus Prometheus是基于go语言开发的一套开源的监控、报警和时间序列数据库的组合,是由SoundCloud公司开发的开源监控系统, Prometheus于2016年加入CNCF(Cloud Native Computing Foundation,云原生计算基金会),是CNCF继kubernetes 之后毕业的第二个项目,prometheus在容器和微服务领域中得到了广泛的应用,其特点主要如下: 1.使用key-value的多维度格式保存数据 2.数据不使用MySQL这样的传统数据库,而是使用时序数据库,目前是使用的TSDB 3.支持第三方dashboard实现更高的图形界面,如grafana(Grafana 2.5.0版本及以上) 4.功能组件化 5.不需要依赖存储,数据可以本地保存也可以远程保存 6.服务自动化发现 7.强大的数据查询语句功(PromQL,Prometheus Query Language) ....

Ceph分布式存储

Ceph分布式存储

一、分布式存储概述 1.1 存储分类 单机存储 SCSI/SAS/USB/PCI-E、SSD/NVME(提升性能) 网络存储(带文件系统) NFS/Samba/NAS SAN:SAN(Storage Area Network,存储区域网络 块设备-块级别存储 ISCSI-Internet Small Computer System Interface(小型计算机系统接口,又称为 IP-SAN,是一种基于网络的的存储技术) FC-SAN 单机磁盘的空间问题、IO 问题、高可用问题- 商业解决方案-EMC、NetAPP、戴尔、华为、浪潮 分布式存储 Ceph,TFS,FastDFS,MogileFS,MooseFS,GlusterFS 常见分布式存储对比:https://www.cnblogs.com/yswenli/p/7234579.html 服务分为读数据和写数据,读可以在任何一个节点读,但是写只能写在特定的节点,如 Redis 的 master、zookeeper 的 leader、MySQL 的master等场景。 1.2 数据分类及存储分类 数据分为元数据和数据: 分布....

Jenkins代码升级脚本示例

Jenkins代码升级脚本示例

[20:57:03 root@jenkins jenkins]#cat web1.sh #!/bin/bash DATE=`date +"%Y-%m-%d_%H-%M-%S"` GROUP="$1" BRANCH="$2" IP_list(){ if [ ${GROUP} == "GROUP1" ];then HOST_IP='192.168.10.183' echo "${HOST_IP}" elif [ ${GROUP} == "GROUP2" ];then HOST_IP='192.168.10.184' echo "${HOST_IP}" elif [ ${GROUP} == "GROUP3" ];then HOST_IP='192.168.10.183 192.168.10.184' echo "${HOST_IP}" fi } clone_code(){ echo "即将开始从clone ${BRANCH}分支代码" cd /data/jenkins/git && rm -rf * && git clone -b ${BRANCH} git@....

ELK日志系统

ELK日志系统

什么是ELK? 通俗来讲,ELK 是由 Elasticsearch、Logstash、Kibana 三个开源软件的组成的 一个组合体,ELK 是 elastic 公司研发的一套完整的日志收集、分析和展示的企业级解决方案,在这三个软件当中,每个软件用于完成不同的功能,ELK 又称为 ELK stack,官方域名为 elastic.co,ELK stack 的主要优点有如下几个: 处理方式灵活: elasticsearch 是实时全文索引,具有强大的搜索功能 配置相对简单:elasticsearch 的 API 全部使用 JSON 接口,logstash 使用模块配置,kibana 的配置文件部分更简单。 检索性能高效:基于优秀的设计,虽然每次查询都是实时,但是也可以达到百 亿级数据的查询秒级响应。 集群线性扩展:elasticsearch 和 logstash 都可以灵活线性扩展 前端操作绚丽:kibana 的前端设计比较绚丽,而且操作简单 什么是 Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎,它可实现数据的实时全文搜索搜索、支持分布式可实现高可用、提供 API....

消息队列与微服务

消息队列与微服务

一、MQ(Message queuing) Message Queue 的需求由来已久,在 19 世纪 80 年代金融交易中,美国高盛等公司采用Teknekron 公司的产品,当时的 Message queuing 软件叫做(the information bus(TIB),后来TIB被电信和通讯等公司采用,然后路透社收购了Teknekron 公司,再然后IBM公司开发了MQSeries,并且微软也开发了 Microsoft Message Queue(MSMQ),但是这些商业 MQ 供应商的问题是厂商锁定及使用价格高昂, 于是 2001 年,Java Message queuing 试图解决锁定和交互性的问题,但对应用来说反而更加麻烦了,于是 2004 年,摩根大通和 iMatrix 开始着手 Advanced Message Queuing Protocol (AMQP)开放标准的开发,2006 年,AMQP 规范发布,2007 年,Rabbit 技术公司基于 AMQP 标准开发的 RabbitMQ 1.0 发布。 MQ 定义 消息队列的目的是为了实现各个 APP 之间的通讯,AP....

OpenVPN一键安装脚本

OpenVPN一键安装脚本

#!/bin/bash # #******************************************************************** #Author:zhangzhuo #QQ: 1191400158 #Date: 2021-01-26 #FileName:openvpn_install.sh #URL: https://www.zhangzhuo.ltd #Description:The test script #Copyright (C): 2021 All rights reserved #******************************************************************** . /etc/init.d/functions openvpn_install_centos(){ while :;do read -p "请输入OpenVPN服务器公网IP: " IP { echo $IP | grep -E "^(([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])....

Devops之基于Jenkins的CI与CD

Devops之基于Jenkins的CI与CD

一、DevOps 简介 Gdevops:http://dbaplus.cn/ DevOps 是 Development 和 Operations 的组合,也就是开发和运维的简写。 DevOps 是针对企业中的研发人员、运维人员和测试人员的工作理念,是他们在应用开发、代码部署和质量测试等整条生命周期中协作和沟通的最佳实践,DevOps 强调 整个组织的合作以及交付和基础设施变更的自动化、从而实现持续集成、持续部署和持续交付。 DevOps 四大平台:代码托管(gitlab/svn)、项目管理(jira)、运维平台(腾讯蓝鲸/开源平台)、持续交付(Jenkins/gitlab) 1.1 什么是 DevOps 1.2 为什么要推广 DevOps DevOps 强调团队协作、相互协助、持续发展,然而传统的模式是开发人员只顾开发 程序,运维只负责基础环境管理和代码部署及监控等,其并不是为了一个共同的目标 而共同实现最终的目的,而 DevOps 则实现团队作战,即无论是开发、运维还是测试, 都为了最终的代码发布、持续部署和业务稳定而付出各自的努力,从而实现产品设计、 开发、测试和部署的良性循环,....

Zabbix监控服务

Zabbix监控服务

一 、监控服务介绍 1.1 逻辑布局 1.2 整体布局 1.3 常见的监控方案 开源监控软件:cacti、nagios、zabbix、smokeping、open-falcon等 Cacti https://www.cacti.net/ https://github.com/Cacti/cacti Cacti是基于LAMP平台展现的网络流量监测及分析工具,通过SNMP技术或自定义脚本从目标设备/主机获取监控指标信息;其次进行数据存储,调用模板将数据存到数据库,使用rrdtool存储和更新数据,通过rrdtool绘制结果图形;最后进行数据展现,通过Web方式将监控结果呈现出来,常用于在数据中心监控网络设备。 Nagios https://www.nagios.org/ Nagios用来监视系统和网络的开源应用软件,利用其众多的插件实现对本机和远端服务的监控,当被监控对象发生异常时,会及时向管理员告警,提供一批预设好的监控插件,用户可以之间调用,也可以自定义Shell脚本来监控服务,适合各企业的业务监控,可通过Web页面显示对象状态、日志、告警信息,分层告警机制及自定义监控相对薄弱 ....

Redis服务

Redis服务

一、缓存概念 缓存是为了调节速度不一致的两个或多个不同的物质的速度,在中间对速度较快的一方起到一个加速访问速度较慢的一方的作用,比如CPU的一级、二级缓存是保存了CPU最近经常访问的数据,内存是保存CPU经常访问硬盘的数据,而且硬盘也有大小不一的缓存,甚至是物理服务器的raid 卡有也缓存,都是为了起到加速CPU 访问硬盘数据的目的,因为CPU的速度太快了,CPU需要的数据由于硬盘往往不能在短时间内满足CPU的需求,因此PCU缓存、 内存、Raid 卡缓存以及硬盘缓存就在一定程度上满足了CPU的数据需求,即CPU 从缓存读取数据可以大幅提高 CPU的工作效率。 1.1 系统缓存 buffer与cache buffer:缓冲也叫写缓冲,一般用于写操作,可以将数据先写入内存在写入磁盘,buffer 一般用于写缓冲,用于解决不同介质的速度不一致的缓冲,先将数据临时写入到里自己最近的地方,以提高写入速度,CPU会把数据先写到内存的磁盘缓冲区,然后就认为数据已经写入完成看,然后由内核在后续的时间在写入磁盘,所以服务器突然断电会丢失内存中的部分数据。 cache:缓存也叫读缓存,一般用于读操作,....

Jumpserver堡垒机

Jumpserver堡垒机

一、Jumpserver 简介 Jumpserver 是一款使用 Python, Django 开发的开源跳板机系统, 为互联网企业提供了认证,授权,审计,自动化运维等功能。 官方地址:http://www.jumpserver.org/ 二、部署环境 官方环境要求: 硬件配置: 2 个 CPU 核心, 4G 内存, 50G 硬盘(最低) 操作系统: Linux 发行版 x86_64 Python = 3.6.x Mysql Server ≥ 5.6 Mariadb Server ≥ 5.5.56 Redis 从 v2.5 开始, 要求 MySQL >= 5.7 MariaDB >= 10.2 从 v2.6 开始, 要求 Redis >= 5 推荐使用外置 数据库 和 Redis, 方便日后扩展升级 服务器准备 192.168.10.181 jumpserver 2c-4G 192.168.10.182 数据库/Redis 2C-2G 2.1 部署MYsql服务 外置数据库要求 mysql 版本需要大于等于 5.6 mariadb 版本需要大于等于 5.5.6 ....

Docker服务

Docker服务

统称来说,容器是一种工具,指的是可以装下其它物品的工具,以方便人类归纳放置物品、存储和异地运输,具体来说比如人类使用的衣柜、行李箱、背包等可以成为容器,但今天我们所说的容器是一种 IT 技术。 容器技术是虚拟化、云计算、大数据之后的一门新兴的并且是炙手可热的新技术,容器技术提高了硬件资源利用率、方便了企业的业务快速横向扩容、实现了业务宕机自愈功能,因此未来数年会是一个容器愈发流行的时代,这是一个对于 IT 行业来说非常有影响和价值的技术,而对于 IT 行业的从业者来说,熟练掌握容器技术无疑是一个很有前景的行业工作机会。 容器技术最早出现在 freebsd 叫做 jail 一、Docker 简介 1.1 Docker 简介 1.1.1 Docker 是什么 首先 Docker是一个在 2013年开源的应用程序并且是一个基于 go 语言编写是 一个开源的 PAAS 服务(Platform as a Service,平台即服务的缩写),go 语言是由 google 开发,docker 公司最早叫 dotCloud 后由于 Docker 开源后大受欢迎 就将公司改名为 Docker Inc,总....

虚拟化技术之KVM

虚拟化技术之KVM

二、虚拟化技术之KVM KVM 是Kernel-based Virtual Machine的简称,是⼀个开源的系统虚拟化 模块,⾃Linux 2.6.20之后集成在Linux的各个主要发⾏版本中,KVM⽬前 已成为学术界的主流 VMM (virtual machine monitor,虚拟机监视器,也称为(hypervisor)之⼀。 KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V).It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. KVM(基于内核的虚拟机....

生而为人