![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux
文章平均质量分 94
日常使用的Linux的经验总结和学习心得
李姓门徒
视思明,听思聪,色思温,貌思恭,言思忠,事思敬,疑思问,忿思难,见得思义。
多写、多记、多思考!
慢一点,再慢一点,慢就是快,少打错别字!
可以查看个人私人网站 https://www.dawnli.cn/
展开
-
Linux网络抓包工具tcpdump是如何实现抓包的,在哪个位置抓包的?
随着G行架构从集中式体系向分布式式体系转型,行内系统服务快速增多,不同的服务短期内需要在集中式体系、分布式体系之间互相调用,调用链复杂,网络通讯相关问题时有发生。系统管理员在排查网络问题时就用到一款网络抓包工具tcpdump,该工具可以将网络中传送的数据包完全截获下来进行分析,能有效的排查复杂环境的网络问题。本文将从原理的角度分析tcpdump在Linux系统的实现。主要是希望能够分析实现原理,以协助判断tcpdump抓的是网卡的包,还是经过内核处理后的包?对于分析服务器处理网络包过程有很大帮助。原创 2024-04-29 00:01:48 · 2108 阅读 · 5 评论 -
k8s的ca以及相关证书签发流程
对于网站类的应用,网站管理员需要向权威证书签发机构(CA)申请证书,这通常需要花费一定的费用,也有非营利的证书签发机构,比如”Let's Encrypt“可以为用户免费签发证书。但对于Kubernetes这类应用来讲,它通常部署在企业内部,其管理面组件不需要暴露到公网,所以就不需要向外部的证书签发机构申请证书,系统管理员就可以自已签发证书供内部使用。本文通过介绍部分内部组件的ca证书签发流程,引导相关的证书签发过程。原创 2024-04-08 16:07:33 · 1313 阅读 · 0 评论 -
MySQL常见锁探究
MySQL提供了几种锁机制来管理并发访问数据库时的数据一致性。本文探讨各种类型以及应用场景。原创 2024-04-05 23:53:01 · 822 阅读 · 0 评论 -
Redis监控方案以及相关黄金指标提升稳定性和可靠性
Redis 是非常经典优秀的内存数据库,其拥有非常高的性能;其单机实例在数据结构设计良好,实例健康的情况下能达到**10w左**右的OPS 现代应用程序对实时性的需求和计算机体系结构的限制决定了:很多时候我们都需要将 in-memory data stores 放在现代应用程序的中心,因此在很多常见场景中我们也都能见到 Redis,如:- 数据库:可作为传统的基于磁盘的数据库的替代方案。Redis非常简单粗暴地以持久性换取运行速度,并且支持异步磁盘持久化;同时提供了一组丰富的数据原语和非常广泛的命令列表原创 2024-04-04 13:58:09 · 696 阅读 · 0 评论 -
Ceph分布式存储系统以及高可用原理
Ceph分布式存储系统具有优秀的策略层的设计,**无中心元数据节点,无单点问题,完善的错误恢复机制,良好的扩展性等特性是它的核心竞争力**。同时,良好的架构设计为其带来的多存储接口以及多存储引擎的支持也为其吸引了大量的用户和开发者。目前从社区以及我们自己的测试情况来看,Ceph已经具备非常高的可靠性。并且从社区来看,RadosGW和RBD接口已经在生产环境中得到了很好的检验,CephFS接口目前还有待得到生产环境的检验。当前,Ceph社区也非常活跃,并且背靠OpenStack这棵大树,相信Ceph的发展会越原创 2024-04-04 13:31:36 · 1206 阅读 · 0 评论 -
在k8s中部署高可用程序实践和资源治理
Kubernetes 可以提供所需的编排和管理功能,以便您针对这些工作负载大规模部署容器。借助 Kubernetes 编排功能,您可以构建跨多个容器的应用服务、跨集群调度、扩展这些容器,并长期持续管理这些容器的健康状况。有了 Kubernetes,您便可切实采取一些措施来提高 IT 安全性。高可用性(High Availability,HA)是指应用系统无中断运行的能力,通常可通过提高该系统的容错能力来实现。一般情况下,通过设置 replicas 给应用创建多个副本,可以适当提高应用容错能力,但这并不意原创 2024-04-01 22:21:51 · 1527 阅读 · 0 评论 -
Linux 基于chrony进行时钟同步方案验证
chrony是一个Linux系统中用于时钟同步的工具。它使用NTP(网络时间协议)来与远程时间服务器进行通信,从而使系统的时钟保持准确。chrony具有一些特性,使其成为时钟同步工具的首选:- 精准度:chrony能够以亚毫秒级的精度同步系统时钟,确保时钟的准确性。- 动态时钟频率调整:chrony具有自适应的时钟频率调整机制,可以根据网络延迟和计算机负载等因素动态地调整时钟频率,以保持时钟的稳定性和准确性。- 持久追踪:chrony能够在计算机重启后快速同步时钟,不需要等待很长的时间。- 多服务原创 2024-03-30 22:31:05 · 1255 阅读 · 0 评论 -
MySQL高可用架构涉及常用功能整理
MySQL是一个开源的关系型数据库管理系统,采用了单一进程、多线程的架构,本文探讨mysql架构以及高可用集群的常规架构模式。由于mysql产品的发展较早,在架构上以主从模式为主,提升相关高可用能力。后续的演化版本中,出现了多主模式的高可用版本,但是本文依然以最常见的主从模式探讨mysql集群的高可用机制。原创 2024-03-24 00:30:48 · 1285 阅读 · 0 评论 -
分布式Raft原理详解,从不同角色视角分析相关状态
CAP : 一个分布式系统不可能同时满足一致性 (C: Consistency)、可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个基本需求,最多只能同时满足其中的两项分布式存储架构中,设计共识算法要考虑在一个复制集群中,所有节点按照确认的顺序处理命令,最终结果是在客户端看来,一个复制集群表现的像一个单状态机一样一致。为了保证多个节点顺序一致,需要处理如下问题:- 非拜占庭错误,包含网络延迟,分区,丢包,重复和乱序- 只要多数节点(quorum)原创 2024-03-19 23:43:14 · 1223 阅读 · 0 评论 -
分布式系统常见负载均衡实现模式
负载均衡是指将网络流量分发到不同的服务器上,以实现资源的均衡利用和提高系统的性能、可靠性和可扩展性。本文整理负载均衡常见的需求以及设计模式,便于后续读者更好的理解负载均衡的相关原理。原创 2024-03-15 22:30:45 · 1183 阅读 · 0 评论 -
k8s的pod和svc相互访问时网络链路解析
在常用的k8s环境中,通常会面临同机器pod的相互访问、跨机器之间的pod访问以及通过svc访问相互,这几种模式下,k8s底层网络的访问规则不同。本文希望针对这几种场景下的流量访问链路和访问规则,从而探索k8s针对网络层面的设计逻辑。k8s层面svc访问的详细规则可以参考[k8s的svc流量通过iptables和ipvs转发到pod的流程解析](https://blog.csdn.net/weixin_43845924/article/details/136232099)原创 2024-03-12 23:49:13 · 1650 阅读 · 1 评论 -
跨城容灾与异地多活常见的架构设计
现如今,我们开发一个软件系统,对其要求越来越高,如果你了解一些「架构设计」的要求,就知道一个好的软件架构应该遵循以下 3 个原则:- 高性能- 高可用- 易扩展其中,高性能意味着系统拥有更大流量的处理能力,更低的响应延迟。例如 1 秒可处理 10W 并发请求,接口响应时间 5 ms 等等。易扩展表示系统在迭代新功能时,能以最小的代价去扩展,系统遇到流量压力时,可以在不改动代码的前提下,去扩容系统。在此背景下,我调研并对比了几种不同的部署方案,看哪种方案在我们的业务场景下最能够满足异地多活以原创 2024-03-12 00:04:31 · 1051 阅读 · 0 评论 -
Linux 常用的工作问题定位小技巧
日常工作中,遇到日常工作使用的小技巧,便于生产环境进行生产debug和排障,现进行整理和梳理,便于梳理和沉淀。1. k8s常用技巧1.1 pod一启动就crash,来不及定位相关的日志,该如何debug?1.2 pod内部没有安装tcpdump,该如何抓包?2. linux常用技巧2.1 服务出现性能问题,怀疑到系统调用,该如何继续定位?2.2 ping一个域名有延迟,该如何定位哪个环节慢?2.3 服务器load很高,该如何定位?2.4 如何判断服务器磁盘io性能慢以及慢的原因?2.5原创 2024-03-09 23:57:10 · 814 阅读 · 0 评论 -
Linux 关于NTP同步硬件时钟的可靠性验证
NTP(Network Time Protocol)是一种用于同步网络中各个计算机的时间的协议。它的主要目的是确保网络中的所有计算机都能够精确地使用相同的时间。NTP通过在网络中的某个服务器上提供准确的时间源,然后将该时间源同步到其他计算机上,来实现时间同步。NTP使用一种层级化的结构来同步时间。在这个结构中,有一个或多个主要的时间服务器,称为Stratum 1服务器。这些服务器通过一些高精度的时钟源(如原子钟或GPS)来提供准确的时间。其他计算机通过与这些主时间服务器交互,定期询问并调整自己的时间。原创 2024-03-08 17:42:34 · 1285 阅读 · 0 评论 -
Linux cgroup技术解析和验证测试
cgroup是于2.6内核由Google公司主导引入的,它是Linux内核实现资源虚拟化的技术基石,LXC(Linux Containers)和docker容器所用到的资源隔离技术,正是cgroup。cgroup(control group)是Linux内核提供的一种机制,用于将进程组织成为一个层次化的层级结构,并为每个层级结构提供资源限制、优先级控制等功能。cgroup技术可以用于管理和控制系统中的进程,从而提供更好的资源管理和隔离性能。linux 可以通过cgroup针对进程级别进行资源隔离和限原创 2024-03-06 13:33:22 · 972 阅读 · 0 评论 -
Linux conntrack和iptables技术解析
conntrack和iptables是Linux操作系统中的两个网络工具,用于网络连接跟踪和流量过滤。conntrack是一个内核模块,用于在网络连接建立时跟踪和记录连接的信息。它可以记录连接的源地址、目的地址、端口等信息,并且能够在连接关闭后继续跟踪一段时间。通过conntrack,系统管理员可以查看和管理网络连接状态,如查看活动连接、删除连接等。iptables是一个防火墙工具,用于管理和配置Linux操作系统的数据包过滤规则。它可以根据数据包的源地址、目的地址、端口等信息来过滤网络流量,以实现原创 2024-03-05 13:26:53 · 1519 阅读 · 0 评论 -
Linux网络TCP和UDP协议解析
TCP(传输控制协议)和UDP(用户数据报协议)是两种基于IP(Internet协议)的传输层协议。TCP协议是一种面向连接的协议,它提供可靠的数据传输。TCP通过三次握手建立连接,然后进行数据传输,最后通过四次挥手释放连接。TCP保证数据的可靠性,通过序号、确认和重传机制来实现数据的完整性和可靠性。TCP协议适用于需要确保数据完全传输的应用,如网页浏览、文件传输等。UDP协议是一种无连接的协议,它提供不可靠的数据传输。UDP不需要建立连接,直接发送数据包。UDP不保证数据的可靠性,也不提供重传机制原创 2024-03-05 00:02:38 · 993 阅读 · 0 评论 -
Linux虚拟文件系统管理技术
Linux包含一个通用的、强有力的文件处理机制,该机制利用虚拟文件系统(Virtual File System,VFS)来支持大量的文件管理系统和文件结构。VFS向用户进程提供了一个简单的,统一的文件系统接口。VFS定义了一个能代表任何可想到的文件系统的通用特征和行为的通用文件模型。VFS认为文件是计算机大容量存储器上的对象。这些计算机大容量存储器具有共同的特征,这与目标文件系统或底层的处理器硬件无关。原创 2024-03-03 14:00:55 · 1081 阅读 · 0 评论 -
Linux内存管理机制和虚拟内存技术
本文主要是研究Linux内存管理机制和虚拟内存技术,同时比较Windows NT和Linux在实现时的异同。主要为操作系统底层的实现原理的分析,花费大量篇幅描述虚拟内存技术的模型,这是理解Windows和Linux内存机制实现的基础,仅仅是对技术的介绍,提供概念和理论实现上的认知,如果对具体的实现和源码感兴趣可以自行上网查阅源码或者这方面的文章。原创 2024-03-03 00:36:19 · 1132 阅读 · 0 评论 -
Linux磁盘性能方法以及磁盘io性能分析
磁盘性能是衡量计算机系统运行状况的关键因素之一。对于磁盘性能的测试和分析,Fio 和 dd 是两个常用的工具。在这篇文章中,将介绍如何使用 Fio 进行磁盘 I/O 测试,以及如何分析磁盘性能。同时,还会简单介绍 dd 工具的使用。Fio 是一个灵活的 I/O 测试工具,支持多种工作模式,包括顺序读写、随机读写等。在安装 Fio 时,可以选择通过 yum 或编译源码进行安装。Fio 的测试报告中包含了丰富的信息,包括吞吐量和时延等指标。除了 Fio 以外,dd 也是一个常用的磁盘测试工具。dd 可以原创 2024-02-29 13:07:32 · 3748 阅读 · 0 评论 -
Linux磁盘设备LVM介绍和常用场景说明
LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、原创 2024-02-28 19:33:10 · 1011 阅读 · 0 评论 -
Linux常见的物理设备数据备份和负载均衡模式
在早期互联网的技术发展中,已经在思考数据的一致性和高可用,以应对设备异常和负载容量问题。典型的就是磁盘和网卡,分别发展出raid技术和bond技术,能够针对磁盘和网卡进行扩展。虽然这些技术依然存在,由于分布式存储的发展,分布式高可用的发展已经从硬件阶段过渡到软件阶段,并且能够提供更加丰富的能力。以满足业务需求。原创 2024-02-27 23:45:19 · 1231 阅读 · 0 评论 -
Linux服务器节点性能问题排查和优化思路
本文档分为三个部分研究和解决节点性能问题:1. 高负载问题的排查与应对:主要解决的问题是,已经知道了节点存在高负载的问题,要怎么办?2. 程序相关的节点性能问题:主要讨论的问题是:如果已经知道了是某个程序存在性能问题,但是不知道和节点有没有关系?这里我们会介一些节点问题相关的应用性能问题的排查方法和解决思路。本文档并不会涉及到和业务相关的内容,业务自身的问题可以通过应用的可观测进行排查(如 golang pprof、监控、日志等),互为补充。3. 节点进程洞察:主要讨论的问题是:如果我们已经确定了节点原创 2024-02-26 22:08:31 · 1308 阅读 · 0 评论 -
Linux iptables和五链四表相关规则说明
在k8s环境中经常使用iptables规则进行负载均衡、路由转发和NAT等操作,本文针对iptables的实现原理和相关常用方法进行整理和讨论。原创 2024-02-24 22:11:23 · 1018 阅读 · 0 评论 -
k8s的svc流量通过iptables和ipvs转发到pod的流程解析
在常用的k8s环境中,通常会通过iptables将流量进行负载均衡、snat、dnat等操作,从而流量转发到pod或者外部的服务。本文重点介绍iptables是如何进行流量转发的以及相关转发的iptables解析。原创 2024-02-23 23:58:32 · 1770 阅读 · 1 评论 -
Linux使用nginx和http搭建yum-server仓库
探讨在linux环境下的搭建yum-server仓库,特别是使用nginx搭建yum-server提供yum服务。原创 2024-02-21 00:02:59 · 1338 阅读 · 0 评论 -
Linux的/etc/resov.conf配置的options rotate对nameserver行为的影响
介绍linux的/etc/resolv.conf配置轮询时,不同的dns解析表现原创 2024-01-17 17:39:17 · 1591 阅读 · 0 评论 -
ntp的server的上游跳变对ntp的server及client的影响
ntp针对时钟跳变的表现测试原创 2022-12-18 09:38:28 · 783 阅读 · 0 评论 -
Linux时间延迟平滑对时方案的分析-Ntp和Chrony的不同表现
Linux节点如果出现很长的时间差,该如何进行平滑的追时间方案?本文针对该场景进行探讨和论证原创 2022-08-07 20:05:45 · 1012 阅读 · 2 评论 -
linux服务器在超线程情况下性能表现分析
linux服务器在超线程情况下额性能表现分析在生产过程中,发现一些使用虚拟机服务器的性能表现,会跟随服务器的cpu使用率的提高,服务的性能呈现一定程度的下降,两者之间呈现并非线性的,表现方式较为奇特,因此进行了问题的探究。查看当前服务器的物理cpu和超线程cpu的方法#!/bin/bashecho "开启虚拟化会有三行数据:"lsmod |grep kvm # 虚拟化cpuhx=`cat /proc/原创 2021-06-19 16:32:45 · 647 阅读 · 0 评论