搜索结果: "lock"

共找到 39 个页面

MySQL / Redis 常见故障排查速查清单

**修复**:开启并行复制(`replica_parallel_type=LOGICAL_CLOCK`);避免主库大事务,拆分为小批量;从库使用 SSD。6 大根因逐条拆解与真实案例见 [[mysql-replication-lag-troubleshooting]]。

**现象**:`Deadlock found when trying to get lock; try restarting transaction`

-- 找到 LATEST DETECTED DEADLOCK 部分

SET GLOBAL innodb_print_all_deadlocks = ON;

## 故障 5:元数据锁等待(MDL Lock

MySQL 备份方案对比与选型 — 从工具原理到生产落地的工程手册

| `FLUSH TABLES WITH READ LOCK` | 全库读锁,阻塞所有写 | mysqldump 无 `--single-transaction` 时 |

| `LOCK INSTANCE FOR BACKUP` | MySQL 8.0,备份期间允许 DML、阻塞 DDL | 需 `BACKUP_ADMIN` 权限 |

| MyISAM 混用 | 快照不支持 MyISAM | 生产库全 InnoDB,或 `--lock-all-tables` |

启动后台线程持续拷贝 redo log → 拷贝所有 InnoDB 数据文件 → InnoDB checkpoint 刷脏页 → 记录最终 LSN → 停 redo 拷贝线程 → 写 `xtrabackup_checkpoints`、`xtrabackup_binlog_info`。整个过程不阻塞 DML,只在最后 `FLUSH TABLES WITH READ LOCK` 极短时间(秒级)锁非 InnoDB 表。

| 8.0 | 8.0 | `--lock-ddl`、`--redo-log-archive`,备份格式与 2.4 不兼容 |

MySQL 性能调优 — 慢查询 / 锁分析 / 死锁排查 / 索引失效 / 深度分页 / 缓冲池 / 配置模板

tags: [mysql, database, performance, monitoring, production, deadlock, lock]

- raw/articles/mysql-deadlock-troubleshooting.md

SHOW PROFILE CPU, BLOCK IO, SWAPS FOR QUERY 1;

-- block io: 磁盘读写耗时

SELECT start_time, query_time, lock_time, rows_sent, rows_examined,

幽灵文件排查 — 删了 200GB 日志磁盘却不释放

sudo stat -Lc 'path=%n size=%s blocks=%b block_unit=%B inode=%i links=%h' "/proc/$pid/fd/$fd"

sudo stat -Lc 'device=%d inode=%i links=%h bytes=%s blocks=%b' "/proc/$pid/fd/$fd"

read -r logical blocks block_size < <(stat -Lc '%s %b %B' "$link")

allocated=$((blocks*block_size))

sudo stat -Lc '%F device=%d inode=%i links=%h size=%s blocks=%b' "/proc/$pid/fd/$fd"

Linux 磁盘故障场景化排查与修复 — 8 大故障场景完整解决方案

## 场景 2:文件系统超级块(Superblock)损坏

**现象:** mount 报错 `Structure needs cleaning` 或 `can't read superblock`。

# Superblock backups stored on blocks:

## 场景 4:磁盘 I/O 错误 / 坏道(Hardware Error / Bad Block

badblocks -sv /dev/sda > /root/badblocks.txt # 扫描坏道

生产级 Linux 磁盘 IO 调优 — 从核心概念到实战落地

cat /sys/block/sda/queue/scheduler

echo mq-deadline > /sys/block/sda/queue/scheduler

ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="noop"

ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="deadline"

cat /sys/block/sda/queue/read_ahead_kb

Linux 进程状态诊断 — 从 R/S/D/T 态看穿系统瓶颈

| **阻塞** (Blocked) | S / D | 等待事件(I/O/网络/锁) | S 可中断;D 不可中断 → 磁盘/NFS 瓶颈 |

Blocked ──事件完成──▶ Ready

### 阻塞状态(Blocked)— I/O 与锁等待

dmesg | tail # 块设备错误 / "task blocked" 信息

# 如果 D 状态无法杀死且 dmesg 有 "task blocked for more than 120 seconds"

Linux rm -rf 误删文件恢复实战指南 — 从事故复盘到数据恢复的完整手册

→ 把对应的 block 标为 free

**关键点:** ext4 在删除时**只是把 block 标记为空闲,并不会清零 block 内容**。所以只要 block 没被新数据覆盖,理论上就能恢复。

- xfs 使用 B+ 树管理 inode(AGI)和 block(AGF)

- xfs 在删除大文件时,extent 分配器会很快把 block 标记为 free,但不会清零

即使文件系统保留 block 不清零,以下情况仍会导致恢复失败:

Nginx 访问日志暴涨排查手册 — 14 步定位异常 URI 与爬虫流量

awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -50 | awk '$1 > 100000 {print "deny " $2 ";"}' >> /etc/nginx/conf.d/block_ip.conf

# 屏蔽单个 IP / IP 段(/etc/nginx/conf.d/block_ip.conf)

map $http_user_agent $block_ua {

server { if ($block_ua) { return 403; } }

- **日志采样**(超高频接口):OpenResty `access_by_lua_block { if math.random(100) <= 10 then ngx.var.sample = "1" else ngx.var.sample = "0" end }` + `access_log ... if=$sample`(需 Lua 模块)。

Terraform 基础设施即代码实战 — 从入门到生产

cidr_block = "10.0.0.0/16"

cidr_block = var.vpc_cidr

cidr_block = "10.0.1.0/24"

dynamodb_table = "terraform-locks"

cidr_block = "10.0.0.0/16"

Terraform 基础设施版本控制与 CI/CD 工作流

cidr_block = "10.0.0.0/16"

cidr_block = "10.0.${count.index}.0/24"

cidr_blocks = ["0.0.0.0/0"]

cidr_blocks = ["0.0.0.0/0"]

cidr_blocks = ["0.0.0.0/0"]

Redis 高可用 — 主从复制 / 哨兵 / 脑裂 / 集群踩坑

SETNX lock:order:123 "locked" # 获取锁

DEL lock:order:123 # 释放锁 — 如果业务逻辑崩溃,锁永远不释放

SET lock:order:123 NX EX 30 # 30秒自动过期

运维工程师面试 50 题 — 经典 Linux/网络/数据库基础全覆盖

### 47. inode 与 block

- **inode**: 存储文件元数据(权限、大小、时间、block 位置)

- **block**: 存储文件实际数据

Linux SSH 防暴力破解脚本 — anti_brute_force.sh 实战部署指南

block - 手动封禁指定 IP

unblock - 解封指定 IP

脚本通过解析系统 SSH 认证日志(`/var/log/auth.log` 或 `/var/log/secure`),使用 `grep "Failed password"` 提取失败登录 IP,按出现次数排序。超过 `MAX_ATTEMPTS` 阈值的 IP 自动通过 `iptables -I INPUT -s -j DROP` 封禁(或 `ufw deny from `)。封禁记录写入 `/tmp/blocked_ips.db`,含封禁时间、解封时间、原因,供自动解封和查询使用。

Linux 高频运维命令全梳理 — 生产级命令参考手册

| 定时 | `crontab`, `at`, `flock` |

yum versionlock nginx-1.20.1 # 锁定版本

* * * * * flock -n /tmp/mytask.lock python3 /opt/mytask.py

Wiki Log

- Created raw: raw/articles/mysql-deadlock-troubleshooting.md

- B类 9 页:block 格式 sources + 尾部重复 → 仅保留 frontmatter sources

| 2026-09-07 | ingest | Linux 操作系统常见磁盘故障与完整解决方案(高级运维实战版)(微信公众号「Bob小课堂」2026-07-09) | 新建 raw/articles/2026-09-07-linux-disk-fault-scenario-runbook.md(sha256 f550181d…,5322 字符;原文第 9 节巡检清单为纯图片表格,OCR 还原 6 行存 raw/assets/2026-09-07-disk-fault-checklist-table.png)+ concepts/linux/linux-disk-fault-scenario-runbook.md 主承载页(260 行:前置三铁律 + 8 大故障场景对号入座——只读文件系统 remount/e2fsck、超级块 mkfs -n 查备份点 fsck -b 恢复、Inode 耗尽 rsync 加速删+mkfs -N、坏道 badblocks/dd remap/fsck -l 黑名单/ddrescue 抢救、盘符漂移 blkid+UUID+multipath、挂载夯住 D 状态 umount -l 四步、LVM vgcfgrestore/vgck/pvcreate --uuid 五步恢复、救援模式 ISO 四步 + SRE 巡检清单 6 行表 + 数据库盘坏道先 mysqldump/pg_dump 导出原则,12 出链);查重:既有页均为操作/工具手册视角(partition-mount/space-troubleshooting/smart-prediction/raid-lvm),本文为故障现象→修复场景 runbook,单源核心建新页;增量合并 5 页(partition-mount 案例三补 grub2-mkconfig+multipath 盘符漂移治理 / space-troubleshooting 补 rsync --delete 加速删+mkfs.ext4 -N 扩 Inode / smart-prediction 补坏道处置三步+数据库盘先导出原则 / raid-lvm 补 VG 丢失五步恢复小节 / disk-io-troubleshoot 补挂载夯住 D 状态小节),全部反向补链;index +1(Total 183→184);SCHEMA linux 62→63 页 |

Wiki Schema

- deadlock: 死锁分析

- lock: 锁机制详解

MySQL 连接失败排查指南 — 从报错定位到根因修复

SELECT user, host, account_locked, password_expired FROM mysql.user WHERE user = 'app_user';

ALTER USER 'app_user'@'10.0.0.%' ACCOUNT UNLOCK;

MySQL 慢查询排查案例复盘 — 从发现到根治的完整链路

# Query_time: 4.718782 Lock_time: 0.000162 Rows_sent: 20 Rows_examined: 980000

# Query_time: 0.023401 Lock_time: 0.000108 Rows_sent: 20 Rows_examined: 56218

全栈性能排障方法论 — Nginx → 应用 → 数据库 → 服务器

FROM information_schema.INNODB_LOCK_WAITS w

JOIN information_schema.INNODB_TRX b ON w.blocking_trx_id = b.trx_id

Linux 目录结构完全指南 — FHS 标准与运维实战

└── lock/ # 锁文件

/sys/block/ # 块设备

Linux 高并发内核优化手册 — 文件句柄/网络/内存/调度/I/O/安全七维调优

cat /sys/block/sda/queue/scheduler

echo mq-deadline > /sys/block/sda/queue/scheduler

SMART 磁盘故障预测实战 — 采集管道 + smartd 告警 + XGBoost 模型 + Prometheus 可视化

badblocks -sv /dev/sda > /root/badblocks.txt # 1. 扫描定位坏道

fsck.ext4 -l /root/badblocks.txt -y /dev/sda1 # 3. fsck -l 黑名单标记不再使用

SSH 连接调试完全指南 — ssh -vvv 输出解读 + 服务端日志联查 + 典型问题排查

Authentication refused: User matches Match block with restriction

Authentication refused: User matches Match block with restriction

系统负载高排查实战 — rsyslogd + audit 日志刷屏案例

cat /proc/softirqs | grep -E "NET_RX|NET_TX|BLOCK|TIMER|TASKLET|RCU|SCHED|HRTIMER"

| **BLOCK** | 块设备 I/O | 磁盘 I/O 瓶颈 |

Nginx 日志分析与 4xx/5xx/超时故障排查实战

| `cache lock` | 缓存锁竞争 | 检查缓存配置 |

valid_referers none blocked server_names *.example.com;

MySQL 主从复制指南 — 原理 / 手把手搭建 / GTID / 架构 / 故障排查 / 监控

SET GLOBAL slave_parallel_type = 'LOGICAL_CLOCK';

MySQL 主从延迟排查 — 6 大根因 / 真实案例 / 万能四步流程

- 完整开启命令(`slave_parallel_type = LOGICAL_CLOCK` + `slave_preserve_commit_order`)见 [[mysql-replication-guide]] 的「复制延迟过大」一节

Docker 镜像优化完全指南:瘦身、构建加速与安全加固

COPY package.json package-lock.json ./

CPU 100% 故障排查实战:从告警到根因的全链路分析与 10 大场景

| **多线程锁竞争** | 大量线程 Blocked | `jstack` 搜 `waiting for monitor` | 减小锁粒度、用并发容器 |

Linux 系统负载过高排查思路与实战 — 11 步标准流程与 6 场景修复手册

**系统日志关键字(`journalctl -xe | tail -50` / `dmesg | tail -50`;持续监控用 `journalctl -f`):** `Out of memory`(内存不足)、`I/O error`(磁盘 IO 错误)、`segfault`(进程段错误)、`hung task`(进程卡死)、`soft lockup`(软锁死)/ `hard lockup`(硬锁死)。

Linux 内存管理深潜 — Buffer/Cache/Page Cache/Slab/回收/OOM 全链路

| **Buffer** | 块设备元数据缓存(superblock、inode bitmap 等),加速磁盘元数据操作 | `Buffers` | 内存紧张时可回收 |

Linux 用户管理避坑指南 — /etc/passwd/shadow 到用户安全运维

auth required pam_tally2.so deny=3 unlock_time=600 even_deny_root root_unlock_time=300

scp 与 rsync:服务器文件传输工具用法与优劣解析

**原理:** rsync 使用 rolling checksum 算法,将文件切分为固定大小的块(block),逐块校验对比,只传输发生变化的块。

服务器性能五维排查 — CPU/内存/磁盘/网络/文件系统深度解析

> **`tune2fs -m` 补充边界(2026-09-02 补):** 这是文件系统级变更,仅适用于 ext4 块设备(先 `findmnt -n -o SOURCE /var` 确认),**不要对 XFS 执行**;根分区的保留块是管理员登录和关键服务写入的保障,不要盲目调低;回滚时若新增空间已被业务写满,恢复更高保留比例会让普通用户可用空间进一步下降。查保留量:`tune2fs -l "$device" | grep -E 'Reserved block count|Reserved block percentage'`。详见 [[linux-deleted-file-disk-space-reclaim]]。

TCP 连接数暴涨排查 — 异常流量识别与应对完整手册

- **自动化响应**:Alertmanager webhook 到本地 /block 服务(Flask + subprocess 执行 ipset add blacklist ),自动封禁攻击 IP

Keepalived+Nginx 高可用实战 — 3 个隐藏坑位与生产级防护方案

content_by_lua_block {

Nginx 典型配置错误复盘 — 20+ 个踩坑点详解

- 每个 server block 只有一个文件,不跨文件碎片化配置

Wiki Index

- [[linux-disk-fault-scenario-runbook]] — Linux 磁盘故障场景化排查与修复 — 8 大故障场景对号入座:只读文件系统/超级块备份恢复/Inode 耗尽/坏道 badblocks+ddrescue/盘符漂移 UUID 治理/挂载夯住 D 状态/LVM 元数据恢复 vgcfgrestore/救援模式 + 巡检清单与数据库盘先导出原则