自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 为什么内核中TCP连接在第一次握手后没有进入SYN_RECV状态?

注:本文分析基于3.10.0-693.el7内核版本,即CentOS 7.4 背景 之前梳理TCP建链的过程时,发现一个问题,百思不得其解。各种文章和书籍里说的都是服务端在接收到客户端的SYN报文后就进入SYN_RECV状态,然而当我看内核源码时,发现却不是这样的。连接在第一次握手后还是保持LIS...

2018-09-21 17:14:31 1034 0

原创 TCP 的backlog详解及半连接队列和全连接队列

注:本文分析基于3.10.107内核版本 问题1:backlog是什么? 问题2:backlog怎么设置? 问题3:backlog怎么影响TCP的建链? 问题4:如何验证backlog的设置? 以上就是我的疑问,因此我开始去从代码中了解backlog。 man手册 首先,要知道这...

2017-10-27 21:26:36 1391 0

原创 MongoDB的CURD基本操作(五)——用户、角色管理

注:本文基于MongoDB 4.2.6编写 1、用户管理 1、创建用户 > db.createUser( { user: "testuser", pwd: "test", roles:[]}) Successfully added user: { &q...

2020-06-21 12:15:32 19 0

原创 MongoDB的CURD基本操作(四)——删除、备份及恢复

MongoDB文档删除、数据备份及恢复

2020-06-21 12:14:27 22 0

原创 MongoDB的CURD基本操作(三)——查找

注:本文基于MongoDB 4.2.6编写 1、查找 查找集合所有文档 > db.bb.find() { "_id" : ObjectId("5ec29c1e6b02bc57526eb598"), "hello" : "...

2020-05-28 22:44:08 43 0

原创 MongoDB的CURD基本操作(二)——更新

注:本文基于MongoDB 4.2.6编写 1、更新 替换更新 比如将hello的值替换为basketball > db.bb.find().pretty() { "_id" : ObjectId("5ec29c1e6b02bc57526eb598"...

2020-05-28 22:40:50 41 0

原创 MongoDB的CURD基本操作(一)——创建

1、查看基本信息 查看数据库 > show dbs admin 0.000GB config 0.000GB local 0.000GB mydb 0.000GB 查看当前使用的数据库 > db mydb 切换当前使用的数据库 > use mydb...

2020-05-28 22:40:37 48 0

原创 MongoDB的安装及连接

注:本文基于CentOS 7.2编写 1、安装 使用yum方式安装,因此需要先添加repo配置, [root@centos7 yum.repos.d]# cat mongodb-org-4.2.repo [mongodb-org-4.2] name=MongoDB Repository base...

2020-05-13 23:09:41 61 0

原创 Logstash codec相关插件

1、关于codec 开始时Logstash是一个input | filter | output的数据流,只支持纯文本形式输入,然后再进入过滤器处理。但是logstash从1.3.0版开始引入Codec,因此logstash的就成了input | decode | filter | encode |...

2020-05-02 18:07:02 101 0

原创 Logstash file插件

Logstash使用一个名叫FileWatch的Ruby Gem库来监听文件变化。这个库支持glob展开文件路径,而且会记录一个叫.sincedb的数据库文件来跟踪被监听的日志文件的当前读取位置。 1、file插件 file插件主要用于本地文件, input { file { ...

2020-04-29 22:39:58 47 0

原创 vm内核参数之内存水位min_free_kbytes和保留内存lowmem_reserve_ratio

1、zone内存水位值 系统内存的每个node上都有不同的zone,每个zone的内存都有对应的水位线,当内存使用达到某个阈值时就会触发相应动作,比如直接回收内存,或者启动kswap进行回收内存。我们可以通过查看/proc/zoneinfo来确认每个zone的min、low、high水位值。 [r...

2020-04-06 11:41:32 172 0

原创 vm内核参数之内存整理compact_memory和extfrag_threshold

只有在启用了CONFIG_COMPACTION选项才有效。当向该文件(/proc/sys/vm/compact_memory)写入1时,所有的内存域都会被压缩,使空闲的内存尽可能形成连续的内存块。 ...

2020-04-01 21:39:00 255 0

原创 Grafana搭建及结合prometheus使用

1、关于grafana grafana是一个开源的度量分析和可视化工具,用于时序数据库的图标展示和分析,上篇文章我们也说过,prometheus的dashboard比较简单,想要达到比较好的展示效果,一般接入grafana使用。 2、安装和启动grafana grafana提供rpm方式安装,因此...

2020-03-15 17:15:21 97 0

原创 Prometheus搭建

注:本文基于CentOS 7.2编写 1、下载prometheus安装包 我们以官网最新版本为例,官网地址,https://prometheus.io/download/ wget https://github.com/prometheus/prometheus/releases/download...

2020-03-11 22:36:33 81 0

原创 vm内核参数之虚拟内存申请overcommit

1、涉及参数 /proc/sys/vm/下 admin_reserve_kbytes user_reserve_kbytes overcommit_memory overcommit_kbytes overcommit_ratio 2、具体作用 首先是admin_reserve_kbyte...

2020-03-07 22:45:48 40 0

原创 MySQL utf8和utf8mb4编码

1、MySQL中utf8字符集 utf8是MySQL存储Unicode数据的一种编码方式 utf8中一个符号使用1~3个字节表示 2、MySQL中utf8mb4字符集 由于utf8对UTF-8支持不彻底,无法存贮表情(emoji)和不常用汉字,因此引入utf8mb4字符集,MySQL在5.5....

2020-03-03 22:12:53 61 0

原创 Zabbix服务端部署

1、安装zabbix源码库配置部署包 rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.noarch.rpm 安装这个包之后,我们就可以直接使用yum的方式来安装zabbix了 2、...

2020-03-02 21:07:10 88 0

原创 ELK系统简单构建

注:本文基于CentOS 7.6编写 一、ELK架构 二、安装组件 1、安装依赖组件jdk 我们通过yum安装tomcat的方式来连带安装jdk, yum install -y tomcat 安装完成后查看jdk版本, [root@localhost ~]# java -version open...

2020-02-26 22:20:53 81 0

原创 内存页类型

文件页 内存回收,也就是系统释放掉可以回收的内存,比如缓存和缓冲区,就属于可回收内存。它们在内存管理中,通常被叫做文件页(File-backed Page)。大部分文件页,都可以直接回收,以后有需要时,再从磁盘重新读取就可以了。 脏页 那些被应用程序修改过,并且暂时还没写入磁盘的数据(也就是脏页)...

2020-02-10 23:21:59 76 0

原创 rsync同步文件简单使用

注:本文基于rsync-3.1.2-6.el7_6.1编写 1、环境准备 机器 用途 192.168.0.100 rsync服务端 192.168.0.120 rsync客户端 2、服务端配置 安装rsync 由于使用CentOS 7系统,因此,rsync已经安装好,如...

2020-01-15 17:47:54 61 0

原创 关于swap分区使用

#!/bin/bash function getswap { SUM=0 OVERALL=0 for DIR in find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]" ; do PID=echo $DIR | cut ...

2020-01-15 16:45:35 39 0

原创 Ext4文件系统日志模式——journal、ordered、writeback

Journal is the lowest risk mode, writing both data and metadata to the journal before committing it to the filesystem. This ensures consistency of th...

2020-01-09 20:51:49 212 0

原创 IPMI配置及常用命令

1、关于ipmi IPMI,即智能平台管理接口(Intelligent Platform Management Interface),IPMI的核心是一个专用芯片/控制器(BMC),独立于操作系统、BIOS和处理器,因此属于带外管理设备。正是因为如此,我们可以通过BMC来控制或者获取系统的各种信息...

2019-12-27 14:32:32 386 0

转载 Linux各层级内存管理

1、NUMA(Non-Uniform Memory Access) 非一致内存访问 该模型假定给定CPU对不同内存的单元访问时间不一样。NUMA架构下,CPU平均划分为多个Node,每个Node有自己的内存控制器及内存插槽。CPU访问自己Node上的内存时速度快,而访问其他CPU所关联Node的内...

2019-12-25 14:15:07 33 0

原创 sed命令替换行首

sed命令替换行首,比如注释匹配行 sed -i '/pam_loginuid.so/s/^/#/' /etc/pam.d/sshd 命令效果为在pam_loginuid.so这一行最前面添加#,也就是注释/etc/pam.d/sshd文件中pam_loginuid.so这一...

2019-12-08 17:22:09 70 0

原创 k8s基本概念

Master节点:集群控制节点 kube-apiserver:提供rest接口的进程,集群资源增删改查入口,集群控制入口进程 kube-controller-manager:资源对象自动化控制中心 kube-scheduler:资源(pod)调度进程 etcd server:保存集群所有资源对象...

2019-11-27 22:02:14 43 0

原创 docker ntpdate同步时间执行失败

[root@d3803eb23a14 /]# ntpdate hshh.org asia.pool.ntp.org ntp.cacheflow.com 22 Nov 07:12:43 ntpdate[78]: Can't adjust the time of day: Operation...

2019-11-23 16:52:03 258 0

原创 linux上搭建svn服务器

1、安装subversion yum install -y subversion 2、设置数据目录 subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改默认位置。 OPTIONS="-r /data" 设置根目...

2019-11-20 20:05:47 28 0

原创 df和du命令统计差异

du从文件角度统计 df从文件系统角度统计 文件在使用时被删除,文件不存在,但是文件句柄依然存在,从而du统计不到这部分文件所占空间,而df依然可以从文件系统层面统计到改文件所占空间。 ...

2019-11-12 20:59:18 63 0

原创 数据包接收流程

1、数据包到达网卡设备 2、收到数据后 网卡通过 DMA 将数据存到内存,也就是网卡的ring buffer中 3、产生硬件中断,通知CPU处理数据报文 4、CPU执行网络设备注册的中断处理函数,响应硬中断,将该设备添加到CPU轮询设备队列中,关闭网络设备中断响应,并唤醒软中断处理 5、NAPI软...

2019-11-12 20:56:54 119 0

原创 ssh远程执行nohup命令

2、使用ssh username@hostip “cmd”,可以实现执行远程命令的效果,不过该方法执行的cmd包含nohup时,不起作用。 3、如果想让执行nohup生效,解决的方法是,手动在命令里面指定重定向,即上面的命令换成:ssh username@hostip “nohup ./test....

2019-11-08 09:40:47 545 0

原创 sed -n使用变量

sed -n '2,'$num'p' file

2019-11-07 14:11:37 537 1

原创 多队列网卡及RPS/RFS/XPS设置

1、关于多队列网卡 通过lspci方式查看网卡信息,如果有MSI-X, Enable+ 并且Count > 1,则该网卡是多队列网卡。 [root@localhost ~]# lspci -vvv | grep -A50 "Ethernet controller" | g...

2019-11-07 13:35:32 1113 0

原创 grep命令Binary file standard input matches

1、背景 使用grep查找文件时蹦出这个错误, [root@localhost ~]# lspci -vvv | grep -A50 "Ethernet controller" | grep -E "Capabilities|Ethernet controller&...

2019-10-29 12:40:37 60 0

原创 查看pagesize和blocksize以及inodesize

1、查看pagesize [root@CentOS-7-2 ~]# getconf PAGE_SIZE 4096 2、查看blocksize [root@CentOS-7-2 ~]# tune2fs -l /dev/sda1 | grep -i "block size" Bl...

2019-10-29 12:39:16 205 0

原创 文件系统选项之noatime、nodiratime

1、关于文件的几个时间 我们通过stat命令查看文件的信息, [root@CentOS-6-5 /home]# stat a File: `a' Size: 12552 Blocks: 32 IO Block: 4096 regular file D...

2019-10-26 22:35:51 46 0

原创 网卡中断均衡设置

1、查询 例如查询eth0的网卡中断号, 在这里插入代码片

2019-10-26 15:44:55 368 0

原创 使用helm部署ingress-nginx

使用helm安装ingress-nginx helm install stable/nginx-ingress --set controller.hostNetwork=true,rbac.create=true -n nginx-ingress --namespace ingress-nginx...

2019-09-26 23:58:43 1493 0

原创 k8s集群部署helm组件

背景 获取 参考 1、https://helm.sh/docs/using_helm/#quickstart-guide 2、https://helm.sh/docs/using_helm/#role-based-access-control

2019-08-20 23:05:36 2227 0

原创 使用kubeadm部署k8s 1.15集群——基于CentOS 7

背景 之前搭建的k8s集群是基于CentOS 7自带yum源,版本老旧,是1.5.2版本,但是目前社区k8s版本已经发布1.15版本了,因此想要了解最新特性和方向还是需要通过二进制部署方式,使用最新版本搭建集群。 k8s 1.15版本 我们可以通过版本的release notes(https://...

2019-08-01 13:02:25 1889 1

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