搜索结果: "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 自动创建独立 PVC,PVC 名称与 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 get pvc -n
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
kubectl describe 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
kubectl -n
**关键禁忌:** 不要为了"让文件回来"直接删除 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 的关系)