03. PBS 数据备份迁移

03. PBS 数据备份迁移 背景 PBS (Proxmox Backup Server) 数据原来存在 HHD_3TB/backup,500G 数据: 1 2 zfs list HHD_3TB/backup 500G 510G /HHD_3TB/backup 这名字太通用了: 容易和别的 backup 混 名字不代表内容(它现在是 PBS datastore) 想改成 backup-mirror 表明是镜像策略的备份 方案 不需要复杂工具,直接 zfs rename + PBS 配置改路径: 1 2 3 4 1. 停 PBS 服务 (避免正在写入时改名) 2. zfs rename HHD_3TB/backup HHD_3TB/backup-mirror 3. 改 /etc/proxmox-backup/datastore.cfg 4. 起 PBS 服务 执行过程 Step 1: 停 PBS 1 2 3 4 systemctl stop proxmox-backup proxmox-backup-proxy # 确认停掉 systemctl is-active proxmox-backup proxmox-backup-proxy # 应该输出 inactive Step 2: zfs rename 1 2 3 4 zfs rename HHD_3TB/backup HHD_3TB/backup-mirror # 秒级完成(只改 metadata,不挪数据) zfs list | grep backup # HHD_3TB/backup-mirror 500G 510G /HHD_3TB/backup-mirror Step 3: 改 PBS datastore 配置 1 2 3 4 cat /etc/proxmox-backup/datastore.cfg # 原: # datastore: backup # path /HHD_3TB/backup/pbs_datastore 编辑 /etc/proxmox-backup/datastore.cfg: ...

September 2, 2026 · 3 min · 493 words · LiMingCoding

02. 硬件体检:SMART 与温度

02. 硬件体检:SMART 与温度 目标 给家里 PVE 做一次彻底硬件体检: 温度:CPU、APU、SSD、HDD 都在合理范围? SMART:4 块盘健康度? 寿命预估:SSD 还剩多少寿命? 1. 温度监控:lm-sensors 装好 安装 1 2 3 4 5 apt install lm-sensors sensors-detect # 一路回车 (选 yes 自动) modprobe k10temp # AMD CPU 温度 modprobe amdgpu # APU 温度 sensors # 第一次看 第一次结果 1 2 3 4 5 6 7 8 9 10 k10temp-pci-00c3 Adapter: PCI adapter Tctl: +42.6°C # CPU 温度 Tdie: +42.6°C # die 温度 amdgpu-pci-0600 Adapter: PCI adapter vddgfx: N/A # 待机没数(正常) vddnb: N/A edge: +42.0°C # APU 边缘温度 结论: 一切正常。42°C 远低于警戒线(70°C)。 ...

September 2, 2026 · 3 min · 511 words · LiMingCoding

PVE 折腾记 (2026-08-31 ~ 2026-09-09)

PVE 折腾记 (2026-08-31 ~ 2026-09-09) 这是一系列文章,记录过去几天对家庭 PVE (Proxmox VE) 基础设施的全面盘点、迁移和故障排查。 时间跨度:2026-05-30 启动 Kopia → 2026-08-30 HHD_3TB metadata 损坏 → 2026-09-01 完成主体工作 → 2026-09-09 观察期满 背景 家里一台 PVE 主机跑了很多服务,2-3 天集中时间做了一次彻底盘点: 硬件: AMD CPU + APU,4 块盘(2 SSD + 1 退化的 SSD + 1 HDD) 服务: VM (Windows/Linux/飞牛 NAS),CT (opencode/rustfs/syncthing),PBS 备份 目标: 体检 + 备份迁移 + 替换飞牛 NAS 角色 + 准备长期稳定运行 系列目录 01. 概述与时间线 整体故事脉络、架构决策、最终成果。 02. 硬件体检:SMART 与温度 lm-sensors 装好 + 4 盘 SMART 体检 + 发现 sdc 退化盘。 ...

September 2, 2026 · 2 min · 223 words · LiMingCoding

12. 硬盘损坏全程记录

12. 硬盘损坏全程记录 本文是这次 PVE 折腾里最沉重的一篇。 三块数据相关盘,一块有过 metadata 永久损坏,一块当前 DEGRADED,一块 power retract 计数异常高。 一次次"还好没出事"积累成了真实事故。 整体盘点 1 2 3 4 5 6 7 PVE host 4 盘: ┌──────────────────────────────────────────────────────────────┐ │ sda Kingston SA400 120G rpool (mirror 一半) │ │ sdb Kingston RBUSC 128G rpool (mirror 另一半) │ │ sdc Great Wall GW600 1TB SSD_1TB 池 (VM/CT 数据) │ │ sdd Seagate ST3000NM0053 3TB HHD_3TB 池 (PBS/RustFS/Kopia) │ └──────────────────────────────────────────────────────────────┘ 详细 SMART (2026-09-02 当前) 盘 型号 通电 周期 断电 retract Wear/Realloc 状态 sda Kingston SA400 120G 15,550 h 1,305 - - ✅ 健康 sdb Kingston RBUSC 128G 13,683 h 62 25 Wearout 12,621 ✅ 健康 sdc Great Wall GW600 1TB 7,064 h 1,655 779 WLC 37,726,810 ⚠️ DEGRADED sdd Seagate ST3000NM0053 3TB 11,853 h 92 - Realloc 0 ⚠️ 历史 metadata 损坏 事件一: HHD_3TB 池 metadata 永久损坏 (2026-08-30 发现) 现象 1 2 3 4 5 6 7 8 9 10 11 12 $ zpool status HHD_3TB pool: HHD_3TB state: ONLINE config: NAME STATE HHD_3TB ONLINE ata-ST3000NM0053_Z1Y0PBQS ONLINE errors: 4 data errors Permanent errors have been detected in: <metadata>:<0x0> <metadata>:<0x3d> 含义 ZFS metadata 永久损坏 = 文件系统结构本身不可信。 ...

September 2, 2026 · 5 min · 1054 words · LiMingCoding

Hugo + PaperMod 博客搭建:从 0 到评论上线,我踩过的坑

起因 上一篇文章里说过我想开个博客记录学习——这篇讲博客本身是怎么搭起来的,以及搭建过程中真实踩过的几个坑。 技术栈选得很朴素:Hugo(静态站点生成器)+ PaperMod(主题)+ GitHub Pages(托管)+ Giscus(评论,底层是 GitHub Discussions)。 理论上这套 30 分钟能搞定的事,实际花了整整一个下午加一个晚上——其中大半时间耗在一个看似配置都对、但 Giscus 死活报 Unable to create discussion 的问题上。 下面按踩坑顺序记录。 1. 一波加 16 个 feature,让 agent 并行做 第一篇文章发出去之后,我列了一堆功能需求: 系列文章(taxonomy + 首页云 + 前后篇导航) 搜索框点击 bug 首页 taxonomy 云(分类 + 标签) 自定义 shortcode(alert / card / video) 代码语法高亮(chroma CSS) 代码块复制按钮 Giscus 评论 Mermaid 流程图 + KaTeX 数学公式 分享按钮(微博 + 复制链接) 多语言支持(加英文) 彩虹标签 图标科技感 …… 一共 16 项。我派了 11 个 agent 同时干,每只 agent 拿到独立的文件范围,互不重叠,跑完自己 commit + push。 ...

August 30, 2026 · 3 min · 592 words · LiMingCoding

VS Code Remote-SSH 终端无法输入中文的踩坑记录

问题 用 Win11 的 VS Code 通过 Remote-SSH 连远程服务器,集成终端里切到中文输入法,打字没反应——候选窗不出来,或者敲完回车只出来几个字母。编辑器区域输入中文倒是正常的,就终端不行。 原因 这不是配置问题,是 VS Code Remote 架构的限制。 远程终端的输入由服务器端的 pty 进程处理,而 Windows 本地的 IME(输入法)组合事件没法正确传递到远程 pty。简单说:本地输入法在"组合"中文字的时候,远程终端那边根本收不到这些中间事件。 所以不管怎么改设置,大概率都治不了根。 我试过但没用的设置 网上常见的建议,我都试了,没解决: 关闭 GPU 加速:"terminal.integrated.gpuAcceleration": "off" 开启实验性 IME:"terminal.integrated.experimentalIme": true 调整 scrollback 大小 重启 VS Code、重装 Remote-SSH 插件 如果你的情况不一样,这些设置可以试试,但别抱太大期望。 实测可用的方案 方案一:用 Windows Terminal 直接连 SSH Win11 自带 Windows Terminal,中文输入完全正常,没有任何 IME 问题。 1 ssh user@服务器IP 需要终端输入中文的场景(比如 mkdir 中文目录),直接在 Windows Terminal 里操作就行。 这是我目前最推荐的方式。 方案二:命令面板发送文本 偶尔需要在 VS Code 终端里输中文,又不想切窗口: Ctrl+Shift+P 打开命令面板 输入 send,选择 Terminal: Send Text to Active Terminal 在弹出的输入框里打中文(这里的 IME 是正常的) 回车,文本会发送到当前终端 缺点是每次都要走命令面板,频繁使用比较麻烦。 ...

August 30, 2026 · 1 min · 110 words · LiMingCoding

你好,这是LiMing笔记的第一篇文章

为什么开这个博客 学了一年多零零碎碎的东西,发现自己最容易巩固知识的方式是写下来——把别人文章里看过的、自己踩过的、调了半天才通的,全记一遍,比再读十遍笔记都记得牢。 所以这个博客的核心目的只有一个: 把学习中"有用的部分"沉淀下来,将来自己回来翻也翻得到。 这里会写什么 我会按下面几个方向持续更新: 方向 内容 编程语言 Python / Go / JavaScript 等的核心点回顾 Web / 前端 HTML / CSS / 框架要点,组件写法 系统与运维 Linux、容器、网络、性能排查 工具流 编辑器、命令行、调试、效率软件 PVE 服务器管理 安装、配置、使用 PVE 服务器 一段示例代码 技术博客少不了代码块,这是一段示例: 1 2 3 4 5 6 7 8 9 def fib(n: int) -> int: a, b = 0, 1 for _ in range(n): a, b = b, a + b return a # 算到第 10 项 for i in range(10): print(i, fib(i)) 行号自动显示,主题自带复制按钮。 相关阅读 Hugo + PaperMod 博客搭建:从 0 到评论上线,我踩过的坑 — 下一篇,讲我搭这个博客本身踩的坑(giscus repoId 格式、调试 agent 冲突等)。

August 30, 2026 · 1 min · 90 words · LiMingCoding

Hugo 完全教程:从零搭建到高级定制

本文是 Hugo + PaperMod 博客搭建:从 0 到评论上线,我踩过的坑 的「完整版」——上篇是叙事版,这篇是参考手册版。读这一篇就能掌握搭建这个博客用到的全部 Hugo 知识。 1. 什么是 Hugo Hugo 是一个用 Go 写的静态站点生成器(Static Site Generator, SSG)。你写 Markdown,Hugo 编译成 HTML,浏览器直接读 HTML 文件。 跟同类对比: 工具 语言 特点 Hugo Go 快——几千页也毫秒级编译 Jekyll Ruby 老牌,GitHub Pages 原生支持 Hexo Node.js 中文社区多 Gatsby React + GraphQL 适合复杂前端 Astro 多框架 现代,新兴 Hugo 的最大卖点是速度——几千篇文章的站,一次完整 build 通常 < 1 秒。本地 hugo server 改一行就热更新,几乎无感。 ℹ️Info > Hugo 是「无依赖」工具——单文件可执行(~30 MB),不装 Node、不装 Ruby、不装数据库。丢任何机器上都能跑。 > 2. 安装 macOS 1 brew install hugo Linux 1 2 3 4 5 # Debian/Ubuntu sudo apt install hugo # 或最新版(推荐) snap install hugo --channel=extended ⚠️Warning > 装 **`extended`** 版本——后面要用 Hugo Pipes 处理 SCSS,普通版不支持。 > Windows 1 2 choco install hugo-extended # 或 scoop install hugo-extended 验证 1 2 hugo version # hugo v0.158.0+extended ... 3. 初始化一个新站 1 2 hugo new site my-blog cd my-blog 生成结构: ...

August 30, 2026 · 9 min · 1782 words · LiMingCoding