运维实践
文章平均质量分 70
运维实战经验总结
洒满阳光的午后
学习不追求快,慢才是快。
展开
-
如何使用OSI七层模型的思路进行Linux网络问题排障?
OSI,即开放系统互连(Open Systems Interconnection),该模型是一个概念框架,它将网络通信的功能划分为七个不同的层级。简单来说,OSI标准定义了不同计算机系统之间如何进行通信。原创 2024-04-16 12:02:57 · 857 阅读 · 0 评论 -
Linux系统启动过程详解
硬件初始化在启动过程中,计算机的固件(如BIOS或UEFI)开始接管并设置所有必要的硬件组件,包括CPU、内存、存储设备及周边设备。这一关键阶段确保了这些组件为操作系统的使用做好充分准备。加载操作系统硬件初始化完成后,就开始加载操作系统,这一步骤通常包括将内核及其关键服务载入内存中。启动系统服务随着操作系统的启动,它会激活一系列系统服务和驱动程序,这些核心程序确保了计算机的平稳运行,使得诸如管理网络连接、处理输入/输出操作以及维护安全措施等工作得以顺利进行。用户交互。原创 2024-04-12 16:17:32 · 944 阅读 · 0 评论 -
jq命令简易教程——Linux中处理JSON数据的利器
在shell脚本中,当我们需要对JSON数据(例如ceph、kubernetes等一些命令的输出,或是调用API获得的响应)进行处理和提取时,如果使用传统的文本三剑客sed、awk和grep,命令将会非常臃肿不可读。虽然这三个命令在处理松散结构的数据时很有用,但当面对JSON这类数据时,却显得不够优雅。原创 2024-04-08 11:37:14 · 495 阅读 · 0 评论 -
使用bcache加速hdd的原理及简单应用示例
磁盘缓存的概念其实一直存在,比如操作系统中的内存。当从磁盘读取数据时,数据会被复制到 RAM 中。如果数据已经存在于 RAM 中,就会直接从 RAM 读取,而不是再次从磁盘读取。当数据写入磁盘时,它会先写入 RAM,然后过一会儿再写入磁盘。由于 RAM 是易失的,数据在 RAM 中停留的时间非常短。bcache 与此类似,只是它有多种缓存操作模式。写入数据较快的模式是 writeback。它的工作方式与 RAM 相同,只不过 RAM 被 NVME SSD 设备所取代。原创 2024-04-07 15:50:57 · 878 阅读 · 0 评论 -
Openstack常用命令总结-Cinder篇
【代码】Openstack常用命令总结-Cinder篇。原创 2024-03-29 16:34:21 · 523 阅读 · 0 评论 -
Openstack常用命令总结-Nova篇
确认host属于哪个主机组。查看host所在Zone。过滤Zone下的主机组。原创 2024-03-29 15:50:58 · 799 阅读 · 0 评论 -
近期处理的几个小问题记录
虚机load异常升高,df/ls容易卡住,宿主机load无明显异常。原创 2024-03-04 14:18:22 · 484 阅读 · 0 评论 -
【openstack】卷迁移导致的虚机热迁移失败问题排查及解决
可知迁移失败的原因为虚机有活跃的卷任务,执行。确定迁移源节点、目标节点。服务日志,未发现异常信息。有卷拷贝任务正在执行,执行。确定该卷有热迁移任务卡死。再次执行虚机热迁移成功。原创 2023-11-18 07:35:21 · 430 阅读 · 0 评论 -
如何解决Prometheus的数据回填问题
去年10月底的时候,我们的监控系统因为一个偶然的网络离线问题,出乎意料地发生了重大的故障,这次故障暴露了当前监控系统存在的一下重大隐患,即无法处理Prometheus的数据回填,本文对该问题进行详细分析,并给出优化方案。原创 2023-01-18 18:03:57 · 3260 阅读 · 0 评论 -
ping回显间隔长或第一个包很久才显示是怎么回事?
在ping某些域名的时候,第一个回显十几秒才出现,但时延time正常,第二个包开始回显频率正常且最终统计结果为不丢包;或是每一个回显均间隔数秒才显示,但时延time又都是正常的,且统计结果为不丢包。从上述抓包结果可以看出,域名解析(序号151、154)、ICMP(序号167、170;序号186、189等)均在毫秒内即返回结果,因此域名解析及ICMP均是正常的,真正阻塞回显的序号155、158等。ping程序在成功解析域名后,试图查询IP的PTR记录(即反向解析记录,IP对应的域名/主机名)以打印回显,但经原创 2022-12-05 16:38:15 · 2293 阅读 · 1 评论 -
k8s集群内偶现无法访问外部域名怎么解?
容器内频现无法访问外部服务,是用测试有如下现象:从容器所在宿主机测试无异常,测试无异常。首先检查coredns pod运行是否正常:如果coredns pod不处于running状态,或pod频繁发生重启,则应检查pod运行异常原因:2、检查coredns日志如果pod状态正常,检查coredns日志:本次故障场景中,可在日志中看到大量如下报错:3、检查coredns负载情况看到上述报错,接着检查coredns pod负载情况:检查coredns资源限制情况:与top命令查询的负载情况比较原创 2022-12-05 12:12:20 · 2670 阅读 · 0 评论 -
云服务器重启后无法获取IP地址怎么办?
最近一位支撑厂家同事反馈,在执行了并重启服务器后,IP信息丢失,无法获取到IP地址,以下为该问题的排查思路。原创 2022-12-02 17:53:44 · 2015 阅读 · 0 评论 -
kubeadm kubernetes集群证书过期的处理方法
动态证书重载目前还不被所有组件和证书支持,所有这项操作是必须的。正确的重启方法是临时将清单文件从 /etc/kubernetes/manifests/ 移除并等待 20 秒(参考 KubeletConfiguration 结构 中的fileCheckFrequency 值)。此时kubelet 会自动终止这些pod。pod终止后再将文件移回去,kubelet将重新创建这些pod。原创 2022-11-16 10:53:26 · 938 阅读 · 0 评论 -
可观测性入门
可观测性是指可以在不了解系统内部运行机理的情况下,从外部诊断系统运行情况。它使我们能够轻松定位和处理新问题,并帮助我们了解为什么会发生这些问题。为了实现这个目标,必须正确地检测应用程序,也就是说应用程序代码必须发出调用链(trace)、指标(metric)和日志(log)。应用程序能够被正确检测,意味着开发人员不再需要添加更多的检测来解决问题,因为其已拥有所有的信息。原创 2022-10-19 11:27:30 · 666 阅读 · 0 评论 -
监控系统解决方案Thanos与VictoriaMetrics对比研究
目前主流的Prometheus长期存储及集群解决方案,包括Thanos、Cortex、VictoriaMetrics以及Grafana近期发布的Mimir,出现大一统趋势,其中以Thanos(receive模式)、Cortex、Mimir为代表的S3存储解决方案,架构、功能可以说基本一致。本文将从读写性能、资源成本、维护成本三个角度,简单对比Thanos与VictoriaMetrics的差异与优劣。原创 2022-10-12 16:31:45 · 2033 阅读 · 0 评论 -
rsync: [sender] write error: Broken pipe (32) 问题排查
同步开始时进行正常,说明配置正确。中途"Broken pipe",检查源端与目标端之间的防火墙等安全设备配置,发现配置有DDOS防护,DDOS相关告警也佐证了传输中断的原因为数据同步因流量过大被判定为DDOS攻击,因此被拦截。同步初始化时总是中断,一般在传输4G左右暂停,重启lsyncd后传输一段时间再次中断。方法一:关闭DDOS防护。......原创 2022-08-16 10:19:23 · 3341 阅读 · 0 评论 -
Elasticsearch跨集群复制(CCR)介绍
跨集群复制(CCR,cross-clusterreplication)属于xpack增强包中的功能,需要白金级、企业级证书才可使用。对于分布在不同地域的Elasticsearch集群,您可以通过CCR进行数据备份。当其中一个集群发生故障时,您可以通过访问其他集群来获取故障集群的数据,保证数据不丢失。例如A集团下有多个子公司,各子公司所分布的地域不同。为了提高业务处理速度,可按照地理位置划分子公司要承担的业务,并通过CCR将业务数据分发给各地域中的Elasticsearch集群。...原创 2022-07-28 15:10:38 · 2356 阅读 · 1 评论 -
ping域名报错unknown host,nslookup/systemd-resolve可以正常解析,ping公网地址通怎么解决?
ping域名报错unknown host,nslookup/systemd-resolve可以正常解析,ping公网地址通。需要检查的异常点1、检查/etc/nsswitch.conf检查hosts行,是否为 files dns,files 表示使用 /etc/hosts 和 /etc/network 配置文件,dns 表示使用 /etc/resolv.conf文件中的DNS解析地址。ping 程序解析域名依赖于C库中的函数 gethostbyname() 和 gethostbyaddr...原创 2022-06-30 16:44:20 · 1232 阅读 · 0 评论 -
单节点高并发Linux服务器影响接入能力的因素有哪些
在单台服务器承载数十万并发的情况下,影响服务器接入能力的因素已经不在是CPU、内存、带宽等表层因素,而是内核参数、设备配置、应用优化等多种细节因素。Linux 中所有内容都是以文件的形式保存和管理的, 包括套接字、网络通信等资源,即一切皆文件,因此提升最大打开文件数是提高服务器并发性能的重要一步。Linux的最大打开文件数限制包括系统级(系统可打开的最大文件数)、用户级(单个用户可打开的最大文件数)、进程级(单个进程可打开的最大文件数),可分别通过如下方式修改:2、nf_conntrack对开启i原创 2022-06-29 17:43:12 · 1371 阅读 · 0 评论 -
K8S某些节点容器网络访问异常的一种原因——网卡“源/目的地址检查”
移动云环境,自建K8S,所有主机处于同一网段,CNI插件是用Calico,BGP模式。某些节点的容器无法与K8S其他node通信,表现为该节点的容器无法访问其他节点及节点上的容器和服务,其他节点和节点上容器也无法访问该节点上的容器,节点间通信正常,仿佛该节点的容器被隔离了一样。通过在容器内及节点上抓包可以看到,数据包在节点与节点网卡之间丢失,如图:异常节点的网卡开启了“源目的地址检查”。该选项移动云默认开启,但无相关介绍。我们从华为云的文档中找到了一些介绍:默认情况下,“源/目的检查”状态为“ON”,系统会原创 2022-06-28 10:58:03 · 1668 阅读 · 3 评论 -
Linux内核参数net.ipv4.ip_local_port_range对服务器连接数影响的正确解释
首先明确一下该参数的意义:net.ipv4.ip_local_port_range表示本机作为客户端对外发起tcp/udp连接时所能使用的临时端口范围。对于TCP连接,本机所能发起的tcp连接数受四元组(源地址*源端口*目标地址*目标端口)限制。而对于UDP连接,本机所能发起的udp连接数则受二元组(源地址*源端口)限制。(此处借用二元组的概念,并不表示udp套接字的二元组标识)。一个实际生产场景举例我们知道,在使用nginx作反向代理服务器时,会作为客户端向后端负载发起连接,在不考虑最大打原创 2022-04-29 16:57:09 · 4088 阅读 · 0 评论 -
Thanos Compact组件测试总结(处理历史数据)
参考文档官方文档:Thanos - Highly available Prometheus setup with long term storage capabilities译文及注解:https://zhangrongjie.blog.csdn.net/article/details/120976651组件作用总结compactor组件只与对象存储交互,是唯一拥有删除对象存储数据权限的组件。主要有两个作用:压缩block(将多个block合并成一个)、降采样(可禁用,5m/1h采样数据)。原创 2021-10-28 10:06:57 · 1510 阅读 · 0 评论 -
Thanos Compactor组件使用
注:compaction,在本文档中有些地方意译为压缩。原文:Thanos - Highly available Prometheus setup with long term storage capabilitiesthanos compact命令运用Prometheus 2.0存储引擎的compaction过程处理存储在对象存储中数据。Compactor组件通常不是并发安全的,因此必须作为单例部署。Compactor还负责数据的降采样:为超过40小时(2d,2w)的blocks创建5分钟原创 2021-10-26 17:25:41 · 2916 阅读 · 0 评论 -
VirtualBox如何修改“网络地址转换(NAT)”网络模式下分配给虚拟机的IP网段
在NAT模式下,给虚拟机分配的IP地址默认为 10.0.x.0/24。其中 x 为网卡号+1,例如第1块网卡启用了NAT模式,则默认分配给虚拟机的IP地址为 10.0.2.15,网关为 10.0.2.2。如果需要修改默认网段,可以使用如下命令:cd "C:\Program Files\Oracle\VirtualBox".\VBoxManage.exe list vms"k8s-master" {bdd664c6-4292-4c05-89ff-c09219bf0bfa}"k8s-worke原创 2021-09-09 09:36:58 · 3344 阅读 · 4 评论 -
如何在Kubernetes中安装Mysql PXC(Percona XtraDB Cluster)集群
percona官方为我们提供在kubernetes中部署PXC集群的最佳实践:Percona Kubernetes Operator for PXC,https://github.com/percona/percona-xtradb-cluster-operator使用Operator安装PXC的方法如下:1、克隆percona-xtradb-cluster-operator代码仓$ git clone -b v1.9.0 https://github.com/perc..原创 2021-08-20 16:46:04 · 1673 阅读 · 0 评论 -
如何在VirtualBox的CentOS虚拟机中安装阿里云版本Minikube
一、虚拟机启用嵌套VT-x/AMD-V嵌套虚拟化特性在VirtualBox虚拟机中默认是不启用的(设置-系统-处理器):打开Windows Powershell,进入VirtualBox安装目录,将要安装minikube的虚拟机启用嵌套VT-x/AMD-V。# 进入安装目录cd 'C:\Program Files\Oracle\VirtualBox\'# 列出所有虚拟机.\VBoxManage.exe list vms"测试机1" {12027609-b5b5-4364-8.原创 2021-07-16 18:00:28 · 1144 阅读 · 0 评论 -
Redis集群中节点更换IP后如何恢复集群且保留数据
前段时间在生产中遇到一个问题,即系统需要从一个网段迁移到另一个网段。我们知道redis集群在创建时是指定了节点的ip:port,因此在节点IP变更后,集群自然就失效了。如果需要恢复集群怎么办?当然在大部分情况下,我们可以选择删除所有节点的数据文件dbfilename、持久化文件appendfilename、集群配置文件cluster-config-file,然后重建集群。但是如果需要保留数据,又该怎么操作呢?以下以一个三主三从的单副本集群来演示恢复过程:[root@test1 bin]# ./re原创 2021-07-16 11:00:17 · 1726 阅读 · 2 评论 -
Zabbix告警调用呼叫接口
#!/usr/bin/python# coding=utf-8# author:zhangrongjieimport requestsimport jsonimport sysimport datetimedef printToLog(file, info): with open(file, 'a+') as f: logtime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S ") f.原创 2020-12-25 16:03:58 · 918 阅读 · 0 评论 -
NGINX官方文档[译]:HTTP负载均衡
负载均衡是一种优化资源利用率、提升最大吞吐量、减少延迟、提高系统容错率的常用技术。要使用Nginx对一组服务器的HTTP流量进行负载均衡,首先需要使用upstream定义一组后端服务器(配置于http字段中),然后使用server对upstream组中的服务进行配置(同样配置于http字段中,注意与定义虚服务的server字段区分开)。例如,如下配置定义了一组由3台服务器组成的名为backend的资源组:http { upstream backend { server原创 2020-09-28 10:51:49 · 546 阅读 · 0 评论 -
Dell服务器忘记idrac密码,如何在不重启服务器的情况下重置密码?
同HP提供了hponconfig工具一样,Dell也为我们提供了RACADM工具,包含在Dell EMC iDRAC Tools(RACADM + IPMITool)中。Linux版下载地址:https://www.dell.com/support/home/cn/zh/cnbsd1/drivers/driversdetails?driverid=0992nWindows版下载地址:htt...原创 2020-04-03 10:31:08 · 6803 阅读 · 1 评论 -
忘记HP服务器ilo密码?如何在不重启服务器的情况下重置ilo登录密码
Hp ilo日常使用中最大的三个功能是远程控制服务器电源、虚拟机控制台、硬件健康状态检查和监控,如果忘记了ilo的登录密码,该怎么办呢?之前发生这种问题,一般都是请机房的人员到现场处理,通过重启服务器进bios来重置密码,非常麻烦,得找人得协调停机维护时间。但实际上,HP厂家早就替我们准备好方案,可以在不重启服务器的情况下对ilo进行配置。这个工具就是hponcfg——HP Lights-Ou...原创 2020-04-02 16:16:37 · 18923 阅读 · 1 评论 -
从VMware ESXI主机在线扩容到虚拟机磁盘扩容
一、需求虚拟机磁盘空间不足,需要扩容,ESXI主机未接存储,且虚拟机磁盘模式均为“厚置备延迟置零”,主机仅剩余16GB存储空间,无法满足扩容需求,需要为ESXI主机的磁盘组进行扩容。操作过程:插入物理磁盘–>配置磁盘RAID–>ESXI存储扩容–>虚拟机添加硬盘–>linux lvm扩容。整个过程顺利的话均可在不影响业务正常运行的情况下,在线完成,但仍建议,在业...原创 2020-04-01 10:40:37 · 14046 阅读 · 0 评论 -
Windows下的端口转发及其当作zabbix proxy跳板的用法示例
从XP(2001)开始,Windows就内置了网络端口转发功能,传入本地计算机端口的任何TCP连接(IPV4/IPV6),都可以被转发到本地或远程计算机的另一个端口,而无需本地计算机真的运行一个监听该端口的服务。在Linux中,使用iptables可以很轻易地实现这一功能,而在Windows中,则由Routing and Remote Access服务(RRAS)来配置端口转发,但还有一种更简...翻译 2020-01-14 14:47:52 · 908 阅读 · 0 评论 -
Linux IP命令常见用法及网络管理参考手册
一、查询1、显示IP地址及其属性ip addr仅显示某块网卡的信息ip addr show dev em12、显示所有接口状态ip link显示某一接口状态:ip link show dev em1查询接口数据:ip -s link3、查询路由表ip route4、查询网卡多播信息ip maddrip maddr show d...原创 2020-01-10 11:05:43 · 1194 阅读 · 1 评论 -
Linux服务器跨三网的网卡配置方法(4网卡3网段)
服务器有4个网卡,其中1、2号网卡进行绑定,配置10地址;3号网卡配置互联网地址;4号网卡配置192私网地址。IP信息如下IP 202.*.*.* 10.14.167.229 192.168.188.202 掩码 255.255.255.240 255.255.255.240 255.255.255.192 网关 202.*.*.* 10...原创 2020-01-09 14:36:51 · 1689 阅读 · 0 评论 -
Linux下的Tcpdump网络包分析工具使用指南
TCPDUMP是一款网络分析命令行工具,最初由Van Jacobson,Sally Floyd,Vern Paxson和Steven McCanne于1988年编写,可以捕捉通过计算机所连接网络发送和接收的各类数据包。TCPDUMP相比 Wireshark 更原始,两者常常结合使用。参数释义可以使用man tcpdump命令查看参数tcpdump使用手册,以下是一些常见参数的释义:-i...原创 2020-01-07 16:27:01 · 822 阅读 · 0 评论 -
在Zabbix中使用Orabbix插件监控Oracle数据库的配置方法
简介参考文档:http://www.smartmarmot.com/wiki/index.php?title=OrabbixOrabbix是一个与Zabbix配合使用的插件,可提供Oracle数据库的多重性能指标与可用性监控。Orabbix可安装在任意一台与Oracle数据库和zabbix server/proxy互通的服务器上,并监控多套数据库,可以利用Zabbix来收集这些数据,并为相...原创 2019-12-30 16:56:12 · 1140 阅读 · 0 评论 -
AIX操作系统的CPU、Memory、Filesystem、Paging、I/O监控
项目地址:https://github.com/zhangrj/Aix-Monitor1、CPU使用率CPU使用率 = 100% – CPU idle timeCPU ilde time可取4秒内的平均值。例如:root@**:/ # vmstat 1 4System configuration: lcpu=32 mem=63488MBkthr memory ...原创 2019-12-30 15:01:08 · 832 阅读 · 0 评论 -
Hp服务器iLO IML硬件日志收集与远程巡检
项目地址:https://github.com/zhangrj/HP-iLO-Log-Collector惠普服务器的iLO模块,可用于远程控制服务器电源、开启远程控制台、检查服务器健康状态等,其中IML( Integrated Management Log )是排查硬件故障的重要手段,这套小程序就是用来批量收集Hp服务器的IML日志,可写入本地文件并以邮件形式发送巡检报告。python-...原创 2019-12-27 16:04:49 · 4693 阅读 · 0 评论 -
一套监控EMC VNX存储的小脚本(可用于Zabbix)
项目地址:https://github.com/zhangrj/EMC-VNX-Storage-Zabbix-Monitor开发背景EMC VNX5500存储是公司最核心的存储设备,一旦出问题,整个平台就会陷入瘫痪。在我到来之前,EMC存储的巡检完全依赖人工远程与现场代维,今年5月份的时候,我开始着手解决这个问题。最先想到的监控方法肯定是SNMP/SNMPTRAP,但很不幸的是,我找...原创 2019-12-26 14:27:16 · 4246 阅读 · 1 评论