在 ext4 损坏后将 Raspberry Pi 系统从 64GB SD 卡无损迁移到 8GB SD 卡

摘要 在 Raspberry Pi 上运行 Ubuntu 或 Raspberry Pi OS 时,如果发生异常断电或 SD 卡老化,常会导致 ext4 文件系统元数据损坏,表现为启动进入 initramfs、fsck 报错、甚至出现异常输出(如大量负数刷屏)。当系统仍可启动时,最佳做法不是继续在原卡上修复,而是将当前系统整体迁移到一张健康的新存储介质。 本文记录了一次真实的灾难恢复流程:在原 64GB SD 卡发生 ext4 元数据错误后,将系统无重装迁移到一张 8GB 新 SD 卡,并保证系统可以从新卡稳定启动。 问题背景 系统在一次强制断电后启动失败,进入 initramfs,并提示: 执行 fsck 后虽然可以重新启动,但内核日志中出现: 这类错误并非单纯 journal 未回放,而是 ext4 从底层存储读到了不一致的数据,说明原 SD 卡已经出现 silent corruption(隐性数据损坏)。 此时继续在原卡上使用会导致未来随机文件损坏,因此必须迁移系统。 目标 环境 1. 对新 SD 卡重新分区 在 …

Linux 下彻底清除硬盘与 NVMe SSD 数据的方法

在日常使用中,如果我们需要报废、转让或重新利用一块硬盘,彻底清除数据 是非常重要的一步。单纯的删除文件或重新分区并不会真正抹掉数据,仍可能被恢复工具找回。本文记录在 Linux 下对一块 机械硬盘(/dev/sda) 和一块 NVMe SSD(/dev/nvme0n1) 进行彻底清理的过程。 为什么要彻底清除? 一、清理机械硬盘(/dev/sda) 对于机械硬盘,最常见的方式就是用 dd 或 shred 将整个盘覆盖。 方法 1:用 dd 写满 0 最终磁盘会被完全写满 0,所有数据被覆盖。 方法 2:用 shred 多次覆盖(更彻底) 这种方式比单次写 0 更难恢复,但耗时也更长。 二、清理 NVMe SSD(/dev/nvme0n1) SSD 与机械硬盘不同,出于磨损均衡和 Flash 管理的原因,单纯的写零未必能保证彻底覆盖。NVMe 盘推荐使用固件自带的 安全擦除指令。 使用 NVMe Secure Erase 安装 nvme-cli 工具: 执行安全擦除: 此方法速度极快(通常几秒钟),效果等同于恢复出厂,所有数据不可恢复。 三、执行结果 清理完成后,可以用以下命令确认: …

在 Proxmox VE 中安装 Windows 11 时遇到的 CPU 指令集检测问题及解决方案

在虚拟化环境中部署 Windows 11 时,常常会遇到安装程序提示 CPU 不支持必要的指令集 的情况。即便宿主机 CPU 本身功能完备,如果虚拟化配置不当,虚拟机依然会误报缺少指令集,从而阻碍安装。本文记录一次在 Proxmox VE (PVE) 环境中解决此类问题的过程。 问题背景 在使用 Rufus 制作的 Windows 11 安装 U 盘启动虚拟机时,安装程序提示 缺少 SSE4.2 和 POPCNT 指令。然而,宿主机搭载的 Xeon E5-2695 v2 处理器基于 Ivy Bridge-EP 架构,本身完全支持 SSE4.2、POPCNT 以及 AVX 等现代指令集。说明问题并非源自硬件,而是虚拟化配置导致。 原因分析 Proxmox VE 在创建虚拟机时,默认 CPU 类型往往是 kvm64。该配置出于兼容性考虑,只暴露最基本的 x86 指令集(类似于 SSE2 级别),从而屏蔽了宿主机 CPU …

在 Proxmox VE 中通过反向代理连接 Proxmox Backup Server 的实践

在实际环境中,Proxmox Backup Server(PBS)往往部署在内网环境,无法直接被公网访问。为了方便远程管理和使用,可以通过反向代理(如 Nginx、Caddy、Traefik 等)将内网 PBS 暴露到公网,并使用自定义域名进行访问。在 Proxmox VE(PVE)中添加 PBS 存储时,可能会遇到 证书指纹验证失败 的问题。本文记录了相关原因和解决方案。 问题背景 在 PVE Web 界面添加 PBS 时,需要填写以下参数: 如果 PBS 运行在内网,但 PVE 通过反向代理域名(公网 443 端口)进行访问,那么 Fingerprint 验证可能会失败。错误信息大致如下: 问题原因 PVE 在连接 PBS 时会校验证书指纹,防止中间人攻击。 由于返回的证书不同,Fingerprint 不一致,导致验证失败。 解决方案 方法一:使用反向代理证书的 Fingerprint ✅ 既然 PVE 通过反向代理访问 PBS,那么就需要使用 反向代理证书的 SHA-256 指纹。 操作步骤: 这样 PVE …

在 Proxmox VE 中安装 Windows XP 的完整步骤

Windows XP 已经发布二十多年,虽然早已停止支持,但在某些场景下依然需要使用,例如运行老旧软件或测试环境。本文将介绍如何在 Proxmox VE (PVE) 虚拟化环境中安装 Windows XP,并解决常见的兼容性问题。 一、准备工作 二、创建虚拟机 完成后,点击 Finish。 三、安装系统 四、驱动与优化 五、注意事项 六、命令行创建方式(可选) 如果习惯命令行,可以直接使用以下命令快速创建 VM(假设 ISO 已上传到 /var/lib/vz/template/iso/): 这样即可通过 Web 界面连接并安装 XP。 总结 在 PVE 中安装 Windows XP 的关键点是选择 SeaBIOS + i440fx + IDE 磁盘 + E1000 网卡。这些设置能保证 XP 正常运行,避免安装过程中的蓝屏或驱动问题。完成安装后,XP 可用于老软件兼容性测试,或作为怀旧系统体验。

Proxmox Backup Server (PBS) 使用独立磁盘作为 Datastore 并实现灾难恢复

在部署 Proxmox Backup Server (PBS) 时,一个常见的需求是:将备份数据存储在独立的磁盘上(如 USB 磁盘)。这样即使系统盘损坏或需要更换设备,只要数据盘还在,就能快速恢复所有备份。本文将介绍完整的操作流程,包括挂载磁盘、配置 PBS,以及灾难恢复的方法。 背景与问题 在 PBS 的 Web 界面中新建 datastore 时,系统会要求目标目录必须为空,否则会提示: 然而实际使用场景中,数据盘里往往已经有 PBS 生成的备份文件,我们需要的是“导入”而不是“清空”。解决方法是:手动修改 PBS 配置文件,让 PBS 直接识别已有的目录。 步骤 1:确认磁盘与文件系统 首先确认磁盘设备和文件系统类型: 示例输出(已格式化为 ext4): 步骤 2:挂载磁盘 确认挂载成功。 步骤 3:手动配置 PBS Datastore 因为 Web 界面不允许添加非空目录,我们需要直接修改 PBS 配置文件。 说明: 步骤 4:验证结果 进入 PBS Web 界面 → Datastore,即可看到新添加的 …

使用 journalctl 实时查看 Linux 服务日志

在 Linux 系统中,实时查看由 systemd 管理的服务日志是日常运维中的基础操作。以下内容以一个通用服务名(如 example_server.service)为例,介绍如何使用 journalctl 命令查看服务的运行日志。 实时查看服务日志 使用以下命令可以实时追踪某个 systemd 服务的日志输出: 查看最近日志并持续追踪 结合 -n 参数可以查看最近若干条日志并继续实时输出: 查看失败日志的详细信息 当服务启动失败或出现异常时,可以使用以下命令获取详细日志说明: 总结 借助 journalctl,可以便捷地监控 systemd 服务的运行状态。无论是排查故障,还是验证启动行为,该命令都是系统管理中的关键工具。

在 Proxmox 中禁用并删除 Swap:性能优化与空间回收实践

在虚拟化平台中,如 Proxmox VE(PVE)和 Proxmox Backup Server(PBS),系统默认通常会配置一定大小的 Swap。虽然这在资源紧张时能提供一定容错性,但在物理内存充裕的场景中,Swap 反而可能成为性能瓶颈。 本文将介绍如何在 Proxmox 系统中禁用并删除 Swap 分区(特别是 LVM 逻辑卷),并将其回收给根逻辑卷,从而提升系统 I/O 响应与资源利用效率。 背景场景 系统资源使用监控显示 Swap 虽未被大量使用,但在部分高 I/O 场景中存在响应延迟问题。考虑到内存充足,决定彻底移除 Swap 并将空间释放给根卷使用。 为什么禁用 Swap? 虽然 Swap 是 Linux 的基本组成部分,但在高内存环境下它可能引发如下问题: 操作流程 1. 关闭 Swap swapoff -a 2. 注释 /etc/fstab 中的 Swap 条目 编辑 /etc/fstab: nano /etc/fstab 将如下行注释掉: #/dev/pve/swap …

提高 Proxmox Backup Server 验证效率的实践分析

Proxmox Backup Server(PBS)常用于对虚拟机(VM)和容器的备份与验证。随着备份规模的增长,日常验证任务可能逐渐成为系统的性能瓶颈。本文结合实际案例,分析了 PBS 验证任务在高负载环境下的表现,并探讨了如何优化验证流程以提升整体效率。 背景:验证任务变慢的表现 在某台 PBS 节点上,原本每天进行全量验证任务可以在 24 小时内完成。然而,近期观察到验证任务执行时间大幅拉长,部分任务甚至延续至次日,影响了备份策略的可控性。这一变化引发了对系统资源使用情况的详细排查。 性能分析:iostat 输出与 IO 利用率 通过运行 iostat -x 1 观察磁盘 IO 负载,发现以下几点: 进一步分析磁盘结构发现,PBS 的数据存储磁盘通过 USB 接口外接,使用的是传统机械硬盘阵列。 关键瓶颈定位:USB 2.0 接口 该服务器为 Dell PowerEdge某型号,标准配置中仅配备 USB 2.0 接口(最高理论带宽为 480 Mbps,约 60 MB/s)。结合 iostat 观察到的读取速度上限及 %util 指标,判断瓶颈根源为 USB 2.0 接口速率限制。 在验证过程中,PBS 会顺序读取备份中的每个 .chunk 文件,并在内存中进行解压与哈希校验。这一过程主要依赖磁盘的顺序读取性能,而 …

使用 Proxmox Backup Server 进行虚拟机第一轮完整备份

本文记录了使用 Proxmox Backup Server(PBS)对多个 Proxmox VE 虚拟机进行完整备份的过程,分析了各个虚拟机的备份特征、性能瓶颈,并提出了一些优化建议。 🛠️ 背景简介 Proxmox Backup Server 是一款原生支持增量、去重、压缩的备份系统,特别适合与 Proxmox VE 配合使用。 对 7 台虚拟机进行了完整备份。使用的是 snapshot(快照)模式,并通过 PBS 后端存储,确保备份的可靠性与性能。 🧾 备份配置参数 备份命令如下(VM ID 和邮箱已脱敏处理): vzdump <VM_IDs> –mailto <admin@domain> –node pve –mode snapshot \–notes-template ‘{{guestname}}’ –mailnotification always –storage pbs 📊 各虚拟机备份表现概览 虚拟机编号 状态 模式 数据容量 用时 平均速率 复用率估计 …