搜索结果: "pvc"

共找到 29 个页面

K8s 持久化存储 — PV / PVC / StorageClass 生产实战

标题匹配

title: K8s 持久化存储 — PV / PVC / StorageClass 生产实战

tags: [kubernetes, storage, pvc, statefulset, production]

## PV / PVC / StorageClass 关系

PVC(PersistentVolumeClaim)= 租仓单(用户申请多大空间、什么类型)

管理员提前创建 PV,用户创建 PVC 去绑定。适合小规模或特殊存储要求场景。

K8s 存储生产配置与排障实战:PV/PVC/StorageClass 避坑指南

标题匹配

title: "K8s 存储生产配置与排障实战:PV/PVC/StorageClass 避坑指南"

tags: [kubernetes, storage, troubleshooting, deployment, pvc]

sources: [raw/articles/K8s存储三剑客避坑指南-PV-PVC-StorageClass生产级配置实战.md]

# K8s 存储生产配置与排障实战:PV/PVC/StorageClass 避坑指南

| PVC | 租仓单 | 用户申请多大空间、什么类型 |

存储排障 — PVC Pending / 挂载失败

标题匹配

title: 存储排障 — PVC Pending / 挂载失败

tags: [kubernetes, troubleshooting, storage, pvc, statefulset]

## PVC Pending

**现象:** PVC 处于 Pending 状态,Pod 无法启动。

# 查看 PVC 事件(直接揭示原因)

Jenkins 多 Master 架构部署方案 — K8S + Gateway API

- **各 Master 完全独立**,各自有独立的 PVC 持久化

- **PVC 持久化**(JENKINS_HOME)

**方案一:PVC 快照(推荐)**

2. 删除旧 PVC(保留 PV 的话删除 PVC 即可)

3. 从快照恢复 PVC 或 rsync 回数据

K8s 架构与核心概念深度解析 — 面试通关秘籍(一)

| 存储 | 共享或无 | 独立 PVC(volumeClaimTemplates) |

### PV / PVC — 持久化存储

PVC (PersistentVolumeClaim) ← 用户申请存储

PVC 创建 → 查找匹配 PV(容量/访问模式/StorageClass)

详见 [[k8s-persistent-storage-guide]](PV/PVC 生产实战)和 [[storage-troubleshooting]](存储排障)。

K8s 面试通关指南 — 100 道核心题全解析

| 14 | PV 和 PVC? | PV 是集群存储资源,PVC 是对 PV 的请求 | [[k8s-persistent-storage-guide]] |

| 40 | 持久化存储实现? | PV/PVC/StorageClass 配合 | [[k8s-persistent-storage-guide]] |

| 54 | 有状态应用部署? | StatefulSet + Headless Service + PVC | [[k8s-statefulset-guide]] |

| 94 | 存储架构设计? | 需求分析 + 类型选择(PV/PVC/StorageClass)+ 分层 + HA + 监控 |

| [[k8s-persistent-storage-guide]] | PV/PVC/StorageClass 生产实战 |

Pod Pending 排障指南 — 7 个角度快速定位调度失败根因

### 方向四:存储卷问题(PVC Pending)

- PVC 的 accessModes 不匹配

# 检查 PVC 状态

kubectl get pvc -n

kubectl describe pvc <pvc-name> -n

StatefulSet 完全指南 — 稳定网络标识 / 独立存储 / 有序部署

| 存储 | 共享 PVC 或无 | 每个 Pod **独立 PVC**(volumeClaimTemplates) |

为每个 Pod 自动创建独立 PVCPVC 名称与 Pod 序号绑定:

**PVC 命名规则:** `{volumeClaimTemplate-name}-{statefulset-name}-{ordinal-index}`

- Pod `mysql-0` → PVC `data-mysql-0`

- Pod `mysql-1` → PVC `data-mysql-1`

K8s 高频问题一站式排查清单 — 10 大故障场景快速参考

| **PVC 未就绪** | `kubectl get pvc -n ` → `kubectl describe pvc` | 检查 StorageClass / PV 绑定 / 存储后端 |

**诊断入口:** `kubectl get pvc -n ` → `kubectl describe pvc <pvc-name>`

PVC Pending → 检查 StorageClass → 检查 PV → 检查 CSI 驱动 → 检查后端存储

| PVC Pending | StorageClass 不存在或注解错误 | `kubectl get sc` |

> ⚠️ **风险提醒:** 有状态应用的存储问题**不适用**简单的 Pod 重建——新 Pod 会挂载同名 PVC,如果 PVC 本身有问题则修复过程更复杂。

K8s 故障排查快速参考 — 从现象到根因

| PVC 未绑定 | Events 显示 "persistentvolumeclaim not found" | 排查存储 |

## PVC Pending

| PVC 一直 Pending | 无默认 StorageClass 或 Provisioner 未运行 | `kubectl get sc`;查 provisioner Pod |

| Pod 报 "Volume not found" | 静态 PV 的 spec 不匹配 | `kubectl describe pvc` 看 Event |

> `kubectl describe pvc` 的 Events 会直接告诉你为什么绑不上——这一步能解决 80% 的存储故障。

K8s 故障排查实战 — 20 个生存法则

跨可用区集群中 volumeBindingMode: WaitForFirstConsumer 很关键——把卷的实际绑定延后到调度决策之后,避免先分配出 Pod 根本到不了的盘。看到这类错误不要先删 Pod 反复试,先确认:PVC 是否已绑定、VolumeAttachment 状态是否正常、目标节点和存储拓扑是否匹配。

StatefulSet 保证固定 Pod 名称和稳定存储绑定,意味着 **删 Pod 不等于换数据**。真实误判:mysql-0 所挂 PVC 数据损坏 → 运维删除 mysql-0 → 新 Pod 起来继续挂同一个坏卷 → 故障毫无改善。因为设计核心就是「身份稳定」(名称 + 卷绑定关系),不能用无状态「删掉重建」思路。

恢复必须回到数据层面:通过快照恢复 PVC;或在明确风险后调整 StatefulSet 管理方式。工程习惯:先确认故障发生在「Pod」还是「数据」;对 StatefulSet 维护明确备份/恢复/演练流程;不把「重建 Pod」当状态服务的默认修复动作。

**状态服务异常:** 问题在 Pod、PVC、CSI 还是底层存储拓扑?StatefulSet 对应数据是否有备份和恢复路径?是否误把「删 Pod」当作状态数据恢复手段?

- [[storage-troubleshooting]] — 存储排障:PVC Pending、挂载失败、CSI

Pod 排障 — CrashLoopBackOff / Exit Code 排查 / OOM / 探针 / 依赖服务 / ConfigMap

- **PVC Pending**(等待存储绑定)

# 检查 PVC 状态

kubectl get pvc -n

kubectl describe pvc <pvc-name> -n

- **PVC Pending:** 检查 StorageClass 是否存在、CSI 是否正常

Linux RAID 与 LVM 基础指南 — 磁盘组合与空间管理

| LVM | 空间分配(灵活扩缩) | pvcreate, vgcreate, lvcreate |

pvcreate /dev/sdb /dev/sdc # 将硬盘初始化为 PV

pvcreate --uuid --restorefile /etc/lvm/backup/vg_centos /dev/sda2 # 5. PV 丢失时按原 UUID 重建(不丢数据)

3. 掌握 LVM 核心命令:pvcreate → vgcreate → lvcreate → mkfs → mount

4. 掌握扩容流程:加盘 → pvcreate → vgextend → lvextend → xfs_growfs

数据库上 K8s 架构选型 — 收益与风险权衡

| 通用避雷 | ❗ 禁止 | 不要只用 StatefulSet + 普通 PVC 硬扛生产数据库 |

| 存储 | PVC + CSI 抽象 + 网络存储 | 本地高性能低延迟 IO | 多层转发 → IO 抖动 / 延迟不可控 |

**存储层风险最大:** 数据库依赖低延迟稳定 IO 和顺序读写。PVC + CSI + 网络存储的多层转发会直接导致 IO 抖动、读写延迟不可控、排查难度翻倍。

- [[k8s-storage-production-pitfalls]] — K8s 存储 PV/PVC/StorageClass 生产配置与排障实战

Wiki Index

- [[k8s-persistent-storage-guide]] — K8s 持久化存储:PV / PVC / StorageClass 生产实战

- [[k8s-storage-production-pitfalls]] — K8s 存储 PV/PVC/StorageClass 生产配置与排障实战:静态/动态供给完整 YAML、PVC Pending 三板斧、NFS/Local SSD/AWS StorageClass 配置、迁移、RBAC 与隐藏坑点

- [[k8s-troubleshooting-quick-reference]] — K8s故障排查快速参考:黄金五步思维模型、Pod四种状态、Node NotReady、Service/Ingress 502、PVC Pending、CPU Throttling、故障决策树

- [[storage-troubleshooting]] — 存储排障:PVC Pending / 挂载失败

容器运维核心命令参考手册:Docker + K8s 全场景速查

kubectl get pvc -n # PVC 状态

kubectl describe pvc -n # PVC 详情

| 删除 PVC(reclaimPolicy=Delete) | 自动删 PV 和底层存储,不可恢复 | 确认已备份 |

K8s 生产排障基本原则与快速定位流程

- **存储层:** `kubectl get pvc,pv`, `kubectl get storageclass`

| Pending | `kubectl describe pod` 事件 | 资源不足、污点不匹配、PVC Pending |

| PVC Pending | `kubectl describe pvc` 事件 | StorageClass 不存在、CSI 异常 |

Linux 磁盘分区与挂载完整实操指南 — 从分区到 LVM 生产实战

pvcreate /dev/sdb1

pvcreate /dev/sdc1

pvcreate /dev/sdb1 # 创建 PV

rm -rf 误删文件恢复操作手册 — 从应急响应到工程化预防的完整实践

kubectl -n get pvc

kubectl -n describe pvc <pvc-name>

**关键禁忌:** 不要为了"让文件回来"直接删除 Pod(会关闭文件描述符、丢失可写层)。不要在未确认回收策略时删除 PVC/PV。

Wiki Log

## [2026-05-08] ingest | K8s持久化存储深度解析:PV、PVC、StorageClass

| 2026-06-04 15:20 | create | k8s-storage-production-pitfalls | tags: kubernetes,storage,troubleshooting,deployment,pvc | source: 老郭 2026-06-02 | P2 auto-publish, 5 cross-refs |

| 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 页 |

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

# 5. 若 PV 丢失,尝试重新创建 PV 不丢失数据(使用 pvcreate 恢复 UUID)

pvcreate --uuid --restorefile /etc/lvm/backup/vg_centos /dev/sda2

Wiki Schema

- pvc: 持久化存储

亚马逊 COSMO + Alexa 八步 Listing 注入法

> SWEAT-PROOF GRIP TECHNOLOGY: Unlike standard PVC mats that become slippery when wet, our yoga mat features dual-layer texture with moisture-wicking channels. This ensures stable grip during hot yoga sessions, providing you with safety and confidence.

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

pvcreate /dev/sda3

ConfigMap 挂载踩坑指南 — 符号链接 / 只读 / 热更新 / 标准挂载模式

| [[k8s-persistent-storage-guide]] | PV/PVC 持久化存储(需持久化写目录时的替代方案) |

K8s Pod Evicted 驱逐 — 根因排查与运维应对三板斧

**emptyDir 必须显式限容:** emptyDir 本质是借节点磁盘做局部缓存,sidecar/业务进程持续写入、无大小限制无轮转时,单个 Pod 就能把节点磁盘慢慢打满并触发驱逐、殃及同节点其他业务。至少显式限制:`volumes: [{name: log, emptyDir: {sizeLimit: 500Mi}}]`。边界:emptyDir 只适合临时数据,不可丢失数据请用 PVC;节点磁盘监控要能追到 Pod 维度;日志/缓存都要有轮转与清理策略。

K8s 资源限制配置指南 — Request / Limit / QoS / CPU Throttling

- [[k8s-storage-production-pitfalls]] — K8s 存储 PV/PVC/StorageClass 生产配置与排障实战:静态/动态供给完整 YAM

Linux 磁盘空间排查 — 8 个命令 / 四种场景 / 生产清理流程

| [[storage-troubleshooting]] | K8s 存储排障(PVC/挂载) |

NFS 挂载参数全解析 — 测试与调优指南

- [[storage-troubleshooting]] — K8s 存储排障(PVC 挂载失败与 NFS 的关系)