- 博客(70)
- 收藏
- 关注

原创 深入 Prometheus 监控生态 - 第一篇:原理与架构详解
Prometheus 通过 pull 模式采集时序数据,结合 PromQL 查询语言和告警系统,适合大规模分布式架构的监控需求。它与 Grafana、Alertmanager 等工具紧密集成,提供了强大的监控、告警、可视化能力。
2024-09-06 11:40:43
3574
2
原创 Nginx 配置导致 “无法建立到 ws://xxx/_stcore/stream 的连接” 的解决方案
一句话:Nginx 是默认“不会翻译 WebSocket 请求”的 HTTP 代理,需要你手动告诉它如何升级协议。
2025-08-01 16:38:42
186
原创 Jenkins + SonarQube 从原理到实战二:SonarQube 社区版 + sonar-cxx 插件 + cppcheck 实现 C/C++ 代码质量扫描
是一个社区维护的 C/C++ 支持插件提供:基本语法解析、函数/变量识别、代码结构分析、部分内置规则检查支持读取外部工具输出(如 cppcheck、valgrind、clang-tidy)实现方式不是构建完整 AST,而是“轻量级语法分析”+“导入外部报告”不足之处语义理解有限:识别不了复杂控制流或宏定义展开不支持增量扫描(每次都全量)自身规则集有限,无法发现更深层次 bug这里就已经实现了C/C++ 代码质量扫描了,但指的一提的是,结果真的会有很多误判信息。
2025-07-28 17:09:37
876
原创 Jenkins + SonarQube 从原理到实战一:基于 K8s 部署与使用(含中文插件与 Python 扫描)
SonarQube 是一款开源的代码质量管理平台,通过静态代码分析识别代码中的 Bug、安全隐患、重复代码、不规范风格等问题。它支持 CI/CD 集成、质量门控、可视化报告、规则自定义等功能,有助于提升开发效率与软件质量。防止 Bug 潜入主干统一代码质量度量标准提升协作开发效率上面就是 SonarQube 的部署已经简单使用,后续将更新 SonarQube 如何通过 cxx 插件,实现 C/C++ 代码的扫描,以及打通 Windows AD 和 Jenkins。
2025-07-28 09:51:39
833
原创 Shell 脚本加密操作:让用户可执行,不可查看脚本源码 —— shc 实战避坑指南
通过生成的静态二进制,完美解决了跨环境执行的卡死问题。优先测试目标环境:即使静态编译,仍需验证 CPU 架构兼容性(如 ARM vs x86_64)。加密 ≠ 绝对安全:敏感信息应通过环境变量或密钥管理服务(如 Vault)传递,而非硬编码。
2025-07-22 17:14:55
862
原创 Jenkins 不同节点间文件传递:跨 Job 与 同 Job 的实现方法
本文分享了两种在Jenkins中实现跨节点文件传递的安全方案。方法一使用archiveArtifacts+copyArtifacts插件,适合不同Job间的构建产物传递,通过Jenkins master中转文件,无需节点直连;方法二利用stash/unstash原生命令,适合同一Job内不同阶段跨节点传递临时文件。两种方式均无需节点间直接通信,可根据实际场景选择:多Job协作推荐方法一,单Job内跨阶段处理推荐方法二。这些方案在保证节点隔离的同时,实现了构建流程的灵活协作。
2025-07-21 14:49:16
764
原创 Prometheus + SNMP Exporter 监控 QNAP 磁盘状态踩坑记录
太久没动这块了,真是忘得七七八八。以后要定期写点笔记,不然每次都是重头再踩一次坑😂。
2025-06-16 15:27:17
859
原创 记录一次 apt-key curl导入失败的处理方式
当无法联网或因为各种网络问题导致无法直接访问 GPG key 时,从已有机器导出 key 再导入,是一个非常实用的替代方案。这在企业内网、离线环境或者对外网访问有限制的情况下非常常见。
2025-06-05 19:17:22
248
原创 VS Code 新旧版本 Remote-SSH 内网离线连接服务器方法(版本 ≤ 1.78.x 及 ≥ 1.79.0)
公司出于代码安全考虑,所有服务器均处于内网、无法直接访问互联网;同时,我们仍需使用 VS Code 的 Remote‑SSH 功能连接到这些代码服务器。下面将分别介绍 VS Code 旧版(≤ 1.78.x)和新版(≥ 1.79.0)在内网离线环境下部署的完整流程,并补充了常见问题排查与优化建议。旧版容器简单,直接将解压到并标记touch 0即可;新版目录更清晰,但需额外上传 CLI 包并调整下载策略;强烈建议统一使用,将下载逻辑完全交由本地,避免覆盖问题;
2025-05-14 11:38:44
1432
原创 Linux 安装交叉编译器后丢失 `<asm/errno.h>` 的问题及解决方案
使用 ARM 编译工具,建议使用容器化或其他系统设备来来隔离交叉工具链,避免环境/系统污染。操作作用检查系统是否开启了 ARM 架构卸载交叉编译器避免非原生架构工具干扰移除 armhf 架构及包恢复系统架构单一性重新安装 libc6-dev 等包恢复标准头文件和符号链接编译测试验证开发环境正常注:安装工具链/环境之前要检查会不会和原环境冲突,不然修复排查换源也挺麻烦,挺耗时间的,以后能用 docker 就尽量用 docker 吧。
2025-05-07 14:20:26
1049
原创 Linux Quota 显示空间占用远大于实际数据的问题排查记录
第一时间使用lsof +L1排查是否有被删除但仍占用的文件;找到具体进程后,根据情况优雅退出、重启或kill -9强制释放;最后用quota -vs 用户名确认配额恢复。这种问题常见于开发环境或长时间运行的服务日志处理,建议配合监控及时发现并自动化清理。
2025-04-30 10:14:15
311
原创 多地部署Gerrit Replication插件同步异常解决思路及方案(附脚本与CronJob部署)
目前就是通过 Python 实现读取 manifest.xml 仓库并生成 sh 脚本,再通过 CronJob 定时任务实现自动推送仓库到 B 地区。若想通过 Python 直接推送也可以,这样就 docker build 一个含git含python的镜像了由于 B 地区要下的仓库变动也不大,来来去去就这几个manifest.xml(换句话说生成 sh 脚本也不咋改)若有新增,只需将 manifest.xml 加入到 Python 泡泡,重新生成 sh 脚本就好了。
2025-04-29 10:22:06
1027
原创 PCIe 转 U.2 接双硬盘指南 - 超微(Supermicro)主板
以上就是超微(Supermicro)主板开启 PCIe 插槽转 U.2 接双硬盘的全部过程了,其他品牌服务器操作流程也类似(若主板支持)。要不是为了省钱还不想这么折腾,但现在很多新服务器主板默认支持接入 U.2,可直接接入 U.2 固态硬盘使用。
2025-04-27 16:09:31
699
原创 如何完整迁移鸿蒙代码(含Git LFS文件)到内网Gerrit仓库
迁移鸿蒙这类使用 Git LFS 的大型开源项目到内网仓库,光是repo sync和远远不够。通常需要额外处理多分支、多 tag、大文件迁移以及可能存在的 LFS 插件兼容问题。
2025-04-18 16:44:28
1036
原创 Git LFS 学习笔记:原理、配置、实践与心路历程
storage]适用于自研服务或集成 Artifactory 等系统。“大文件管理的关键,不在于强塞进 Git,而是借助专业系统处理。Git LFS 让 Git 仓库保持轻量,提升团队协作体验;学习过程中,重点理解其“指针机制 + 按需下载”;配置方面,平台(如 Gerrit、GitHub、GitLab)差异虽有,但本质思路一致;在 CI/CD、Docker 等场景也可无缝集成,扩展性强。
2025-04-18 15:57:28
1438
原创 Linux 时间同步工具 Chrony 简介与使用
Chrony 是现代 Linux 系统中推荐的时间同步工具,具备轻量、精度高、适应性强等优点。通过简单的配置和管理命令,就可以保障系统时间的准确性,对于运维工作来说是非常实用的基础工具之一。
2025-04-08 13:54:26
1422
原创 Linux环境变量加载问题排查:.bashrc 环境变量刷新问题
里加了几个环境变量,结果发现每次登录后都**没!:图形界面开的终端默认是非登录式 Shell,所以可能依赖其他配置文件。文件,Shell 就直接跳过了这个步骤,环境变量自然没加载。是强制立即执行文件内容,绕过了 Shell 的自动加载逻辑。查了一圈资料,原来问题出在。(比如 SSH 或终端登录)默认只加载。里有拼写错误,加载时会直接失败。时加载(比如桌面环境下的终端)。立即生效,环境变量终于正常了!,Shell 就跳过了后续对。关闭终端重新登录,或者用。加载,属于“入口文件”。,登录时环境变量就丢了。
2025-04-03 15:19:35
478
原创 如何将外网 Git 仓库完整迁移到本地仓库并保留提交历史(附原理详解)
最近在迁移第三方Git仓库到本地私有仓库时,发现了一种简单高效的方法,可以完整保留原仓库的提交日志。本文将详细解析操作步骤及其背后的Git原理,帮助开发者理解这一过程的本质。我需要将第三方开源仓库(如GitHub仓库A,默认分支master)迁移到私有仓库(如 GitLab/Gerrit 仓库B,默认分支master)。git blame通过给 B 仓库创建中间分支 aa(承载仓库 A master 分支完整历史),既能避免分支冲突,又能实现历史溯源(如。
2025-03-20 15:34:00
1361
原创 Windows AD 域控快照回滚后域控环境问题记录与分析
在虚拟化环境中,由于频繁使用快照进行备份和回滚,我们遇到了一系列问题,主要集中在以下几方面:此外,我们发现只有虚拟机Linux会出现“掉域”的情况,而实体机Linux不会。下面我将详细记录这些问题、分析其原理,并说明最终的解决方案。在我们的环境中,搭建了两个Windows AD域控(如AD01和AD02),同时有多台Linux编译服务器和Windows实体机加入了该AD域。Linux服务器上同时配置了Samba服务,以便Windows客户端能够映射共享访问。由于之前AD域控出现故障,我们回滚了前几天的快照
2025-03-18 11:04:51
667
原创 vSphere 克隆 Windows 虚拟机后无法访问文件共享的解决方案
克隆 Windows 虚拟机后,由于 SID 相同,可能会导致文件共享访问异常、身份认证问题等。解决方案是使用 Sysprep 重新生成计算机 SID,然后再配置 IP 地址、计算机名,并加入 AD 域,即可恢复正常使用。尽量使用模板(Template)部署新机器,避免 SID 冲突。如果手动克隆,需要运行 Sysprep 处理,确保新机器拥有唯一 SID。这样可以避免后续的网络访问和身份认证问题,提高系统的稳定性和可维护性。Linux 就不会出这个问题!!!
2025-03-17 17:14:27
788
原创 虚拟化重大灾难:硬盘故障导致的 VMware vSphere 故障排查与解决全过程
这次硬盘故障让我深刻意识到,虽然我配置了 vSAN 冗余、虚拟机副本和监控系统等一堆防线,问题依然没能完全避免。再多的技术措施也没法代替硬件的物理故障,冗余和监控只是减小风险的手段,但无法消除所有潜在问题。所以备份、监控和及时的健康检查是必须的。只要硬件在,问题就有可能发生,做好准备,尽量早发现,早解决,才是最重要的。
2025-02-13 15:08:11
1253
原创 部署 ollama + deepseek + open-webui 遇到的常见问题与解决建议
在的部署过程中,硬件配置、网络设置、显卡选择等因素都会对性能和稳定性产生影响。使用SSD而非机械硬盘,以提高模型的加载和响应速度。尝试通过修改配置文件来优化GPU 使用,并确保显卡驱动和 CUDA 安装正确。如果希望从外部访问ollama,可以通过修改服务配置文件来开放端口。对于性能要求较高的模型,尽量使用更高性能的显卡,并确保足够的显存。这些调整可以帮助你更高效、稳定地运行,提高工作效率。如果你有其他问题,欢迎继续补充或者提问,我可以帮你进一步调整博文内容!
2025-02-12 15:53:04
6444
3
原创 Ubuntu 安装 NVIDIA 驱动实操指南(含卸载)
通过以上步骤,你可以在Ubuntu上成功安装和配置NVIDIA显卡驱动,并禁用开源驱动。如果遇到问题,尝试根据驱动安装日志进行排查。
2025-02-11 15:11:52
1140
原创 从零开始构建强大 AI 对话系统:ollama + deepseek + open-webui 完整部署教程(Docker 版)
在现代的人工智能应用中,基于模型的对话系统和开放式网络UI正逐渐成为越来越多企业和开发者的选择。本篇博文将为您详细讲解如何通过 Docker 部署ollama、deepseek 和 open-webui,并结合使用 Docker Compose 实现更加高效、便捷的管理。ollamaollama是一个强大的对话生成模型,它支持多种自然语言处理任务,包括对话生成、问答、文本总结等。通过容器化部署,ollama 可以轻松地集成到开发环境中,提供一个灵活、可扩展的对话服务。
2025-02-07 10:55:11
4497
2
原创 详解 Docker 启动 Windows 容器第二篇:技术原理与未来发展方向
在通过 Docker 启动 Windows 容器的过程中,我对其调用 KVM 驱动的工作原理还不够了解。尤其是与传统虚拟化技术(如 libvirt)相比,这种方法的特殊性让我产生了许多疑问。在查阅了大量资料后,我整理出了一些问题及其解答,希望能帮助对这个话题感兴趣的朋友更好地理解 Docker 容器与虚拟化技术结合的独特之处。这篇博文我们讨论了如何通过Ceph + Kubernetes + Windows 容器来优化现有的虚拟化和容器化架构。
2025-01-13 14:04:30
1118
原创 详解 Docker 启动 Windows 容器第一篇:多种方式及实用配置指南
在容器化技术中,Docker 允许我们在不同的平台上轻松运行各种操作系统,包括 Windows。本文将介绍如何通过 Docker Compose、Docker CLI 和 Kubernetes 来启动 Windows 系统容器(dockurr/windows),并提供详细的操作步骤及其配置方法。原理以及实现是一个 Docker 镜像,通常用于运行Windows容器。这个镜像的主要目标是让你能够在 Linux 系统上模拟和运行 Windows 容器,尤其是在 Docker 环境下。
2025-01-10 15:26:17
2386
4
原创 OpenStack系列第六篇:VMware VSphere 虚拟机迁移至 OpenStack(QCOW2)
随着企业对云计算的需求不断增加,越来越多的公司选择将传统的虚拟化平台迁移到开源云平台,比如 OpenStack。特别是对于那些使用 VMware vSphere 作为虚拟化解决方案的公司,考虑到 VMware vSphere 的高昂费用,许多小型企业或个人开发者希望通过迁移到 OpenStack 来降低成本,享受更灵活、可扩展的基础设施。然而,迁移过程中的挑战也不容小觑,尤其是虚拟机的迁移。
2025-01-07 16:41:53
1470
原创 OpenStack系列第五篇:CentOS7 上新增 OpenStack(Train版)计算节点,玩转多节点部署
在前面的博文中,介绍了如何完整部署 OpenStack。本篇将基于前面文章(Openstack-Train版),带大家从零开始在 VMware 环境中添加一个新的计算节点(Nova),并命名为 Compute2 节点。具体步骤包括从虚拟机的创建到 Nova 服务的安装与配置。虚拟机名计算机名ens33(NAT)ens34(仅主机)内存硬盘CPUcompute2compute24G100G1处理器2核为区分 Compute 两个计算节点 ,这里分别称为Compute 节点和。
2025-01-02 16:31:57
1086
原创 OpenStack系列第四篇:云平台基础功能与操作(Dashboard)
通过本文的介绍,大家完成了OpenStack基础资源的部署与管理,包括镜像、卷、网络、实例等,帮助大家对OpenStack的主要功能有了初步认识,并掌握了如何通过Dashboard和命令行进行常见操作。
2024-12-31 17:35:21
1347
原创 OpenStack系列第三篇:CentOS7 上部署 OpenStack(Train版)集群教程 Ⅳ Dashboard Cinder 服务部署
这里就完成了的服务部署,也就是完成了 Openstack 的所有安装,后面继续记录OpenStack 简单使用compute(Nova)节点的增减以及尝试将 VMware Vsphere 虚拟机迁移至 OpenStack上,并详细分享过程中遇到的各种坑点——包括那些连官方文档和教材中未提及的细节问题!希望通过这个教程,大家能深入理解和熟悉 OpenStack。
2024-12-30 15:51:34
1201
原创 OpenStack系列第三篇:CentOS7 上部署 OpenStack(Train版)集群教程 Ⅲ Nova Neutron 服务部署
1. Nova:计算服务2. Neutron:网络服务每个服务的部署将包含以下内容:作用、实现原理、部署流程以及关键配置的解释。这里就完成了的服务部署,后面会继续记录OpenStack的完整部署过程,并详细分享过程中遇到的各种坑点——包括那些连官方文档和教材中未提及的细节问题!希望通过这个教程,大家能轻松实现一次性部署成功。
2024-12-27 17:03:45
1176
原创 OpenStack系列第三篇:CentOS7 上部署 OpenStack(Train版)集群教程 Ⅱ Keystone Glance Placement 服务部署
在完成前期环境准备后,我们将开始正式部署OpenStack。1. Keystone:认证服务2. Glance:镜像服务3. Placement:资源放置服务每个服务的部署将包括其作用、实现原理、部署流程以及关键配置的解释。这里就完成了的服务部署,后面会继续记录OpenStack的完整部署过程,并详细分享过程中遇到的各种坑点——包括那些连官方文档和教材中未提及的细节问题!希望通过这个教程,大家能轻松实现一次性部署成功。
2024-12-27 13:50:10
1183
原创 OpenStack系列第三篇:CentOS7 上部署 OpenStack(Train版)集群教程 Ⅰ前期准备②
至此,OpenStack部署的前期准备所有工作。在后面的篇章中,我将继续记录OpenStack的完整部署过程,并详细分享过程中遇到的各种坑点——包括那些连官方文档和教材中未提及的细节问题!希望通过这个教程,大家能轻松实现一次性部署成功。
2024-12-27 08:45:00
716
原创 OpenStack系列第三篇:CentOS7 上部署 OpenStack(Train版)集群教程 Ⅰ前期准备①
至此,OpenStack部署的前期准备工作已完成一部分。在接下来的篇章中,我将继续记录OpenStack的完整部署过程,并详细分享过程中遇到的各种坑点——包括那些连官方文档和教材中未提及的细节问题!希望通过这个教程,大家能轻松实现一次性部署成功。
2024-12-26 11:38:52
1227
原创 CentOS停服后无法使用源?一招搞定旧版CentOS换源配置教程
CentOS 官方源虽然停服,但历史源仍能满足旧版系统的需求。通过本文教程,您可以轻松完成源切换,无论是官方 Vault 源还是国内镜像站,都能快速解决旧版本 CentOS 无法安装软件的问题。无论是官方 Vault 源还是国内镜像站的历史源,都不会提供任何安全更新。为了系统的安全性,建议尽快升级到最新的 CentOS Stream 或其他受支持的发行版。如果你需要继续使用旧版 CentOS,可以通过官方 Vault 源或国内镜像站切换到历史源解决此问题。如果没有报错,即表示源替换成功。
2024-12-16 10:01:52
1187
原创 用 logrotate 优雅解决日志(CentOS)爆满问题:全面教程与案例分析
logrotate是 Linux 系统自带的强大日志管理工具,用于切割和管理日志文件,支持按照时间或文件大小进行切割,能够自动清理旧日志并压缩归档。要查看logrotate通过logrotate的精确配置,我们可以轻松应对日志文件增长过快的问题。无论是定期切割、清理旧日志,还是处理错误,logrotate都提供了灵活的解决方案。本文结合案例深入讲解了logrotate的基本用法及常见问题处理,旨在帮助大家更好地掌控系统日志。如果你的日志文件也出现增长过快的问题,不妨试试本文介绍的方法,定能事半功倍!
2024-12-05 11:05:12
1347
原创 CentOS 7 忘记 root 密码怎么办?手把手教你无损找回!
这对系统管理来说无疑是一个重大障碍,但幸运的是,Linux 提供了灵活的恢复机制。在这篇文章中,我将分享一个无需重装系统的完美方案,帮你找回 CentOS 7 的 root 密码!通过以上步骤,你可以轻松找回 CentOS 7 的 root 密码,无需担心数据丢失或系统重装。这个方法不仅适用于日常操作,还可以帮助你应对突发状况,快速恢复对系统的控制权限。如果不更新标签,修改密码后可能会导致系统启动异常。在实际操作中,你还可以通过配置强密码或定期更换密码等方式,进一步提高系统的安全性。
2024-11-26 13:52:00
977
原创 Docker 配置 HTTP 和 HTTPS 网络代理
在内网环境中,为了实现全局代理上网,Linux 系统通常通过修改.bashrc或等文件,设置 HTTP 和 HTTPS 代理。这种方式可以为大多数应用提供代理支持,但 Docker 并不会自动读取系统的环境变量,因此需要单独为其配置代理。
2024-11-20 17:33:20
3281
1
原创 深入探究 Linux 系统的快照备份与恢复:TimeShift 实践与原理解析
在 Linux 系统的运维管理中,可靠的快照备份与恢复工具尤为关键。TimeShift 作为一款轻量化却功能强大的快照工具,广泛应用于系统状态的备份与恢复。本文将深入探讨 TimeShift 的原理、备份方式、优缺点,以及如何通过真实操作验证 TimeShift 的备份恢复效果。在配置文件中exclude"/root/**"TimeShift 在系统故障恢复和状态回滚方面具有显著优势。通过本文的实操验证,我们可以看到 TimeShift 在恢复系统配置上的可靠性。
2024-11-12 10:38:52
5107
1
原创 深入解读 Linux 文件传输神器:scp、rsync 与 sftp 全面解析与实用技巧
在日常的服务器运维和开发过程中,高效的文件传输工具可以极大地提升工作效率。scprsync和sftp是 Linux 中广泛使用的文件传输工具,它们各有特色,适用于不同的场景。本文将为您详细介绍这三种工具的功能和区别、端口信息、安装与使用方法,以及一些实用的脚本示例,帮助您轻松应对各种文件传输需求。scpscp(Secure Copy)是基于 SSH 协议的安全复制工具。适用于快速传输单个文件或整个目录,不做内容差异校验。rsyncrsync是功能强大的增量同步工具,仅传输源与目标之间的差异部分。
2024-11-06 10:39:22
2342
openstack的controller和compute的etc文件
2024-12-27
cirros-x86-64的img镜像
2024-12-16
snmp-exporter-main 集合包
2024-09-12
ipmi-exporter-1.8.0 集合包
2024-09-12
ipmi-exporter-1.7.0 集合包
2024-09-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人