当前位置: 首页 > news >正文

Proxmox VE 8 入门上手系列(四) 存储与备份-保护你的数据

Proxmox VE 8 入门上手系列(四):存储与备份——保护你的数据

本章目标:掌握 Proxmox 的存储类型、快照、备份和恢复操作,能为虚拟机/容器创建快照和备份,并能从备份恢复。


一、Proxmox 存储类型概览

1.1 内置存储类型

Proxmox 支持多种存储后端,常见的有:

存储类型说明适用场景
Directory普通目录存储入门最简单,灵活性高
LVM逻辑卷管理默认推荐,性能好
LVM-Thin精简配置的 LVM支持快照,省空间
ZFS高级文件系统数据完整性、快照、压缩
NFS网络文件系统共享存储、多节点
CIFS/SMBWindows 共享对接 Windows 环境

1.2 默认存储布局

安装 Proxmox 后,默认会有几个存储:

存储名类型用途
localDirectoryISO 镜像、容器模板、备份文件
local-lvmLVM-Thin虚拟机磁盘、容器根目录

在 Web 界面中,点击DatacenterStorage可以查看所有存储。


二、添加新存储(以目录存储为例)

2.1 场景说明

假设你的 Proxmox 服务器有两块硬盘:

  • /dev/sda:系统盘(Proxmox 已安装)
  • /dev/sdb:数据盘(空盘,想用来存虚拟机)

2.2 在宿主机上准备硬盘

通过 Web Shell 或 SSH 登录 Proxmox 宿主机:

# 查看所有磁盘lsblk# 输出示例:# NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT# sda 8:0 0 120G 0 disk# ├─sda1 8:1 0 1G 0 part /boot/efi# ├─sda2 8:2 0 119G 0 part /# sdb 8:16 0 500G 0 disk <-- 这是我们的数据盘

2.3 格式化并挂载硬盘

# 创建 ext4 文件系统(会清空数据!)mkfs.ext4 /dev/sdb# 创建挂载目录mkdir-p/mnt/data# 临时挂载mount/dev/sdb /mnt/data# 查看挂载情况df-h# 设置开机自动挂载echo'/dev/sdb /mnt/data ext4 defaults 0 0'>>/etc/fstab

2.4 在 Proxmox 中添加存储

  1. 点击DatacenterStorageAddDirectory
  2. 填写参数:
参数说明填写
ID存储名称data-storage
Directory目录路径/mnt/data
Content允许存储的内容Disk image, Container, ISO image, VZDump backup file
Nodes可用节点默认(所有节点)
Enable启用勾选
  1. 点击Add

现在创建虚拟机/容器时,Storage 下拉菜单中就可以选择data-storage了。


三、快照(Snapshot)

3.1 什么是快照?

快照是虚拟机/容器在某一时刻的"状态保存",包括:

  • 磁盘数据
  • 内存状态(可选)

快照的特点是:

  • 创建速度快(几秒到几十秒)
  • 占用空间小(只保存变化的部分)
  • 恢复快(瞬间回滚)

适用场景:升级软件前、修改配置前,做一个快照,出问题可以快速回滚。

3.2 创建快照

Web 界面方式

  1. 选中虚拟机或容器
  2. 点击Snapshots标签页
  3. 点击Take Snapshot按钮
  4. 填写参数:
参数说明建议
Name快照名称before-nginx-upgrade
Include RAM包含内存状态虚拟机建议勾选(需要关机才能恢复快照)/ 容器不支持
Description描述升级 Nginx 前的备份
  1. 点击Take Snapshot

命令行方式

# 虚拟机快照qm snapshot100before-upgrade--description"升级前的快照"# 容器快照pct snapshot200before-upgrade

3.3 查看快照

Snapshots标签页,可以看到所有快照列表,包括:

  • 快照名称
  • 创建时间
  • 占用的额外空间

3.4 恢复快照

如果升级后出了问题,可以回滚到快照状态:

  1. Snapshots标签页
  2. 选中要恢复的快照
  3. 点击Rollback按钮
  4. 确认提示后,点击Yes

注意

  • 包含 RAM 的快照,回滚后虚拟机会恢复到快照时的运行状态
  • 不包含 RAM 的快照,回滚后虚拟机是关机状态

命令行方式

# 虚拟机回滚qm rollback100before-upgrade# 容器回滚pct rollback200before-upgrade

3.5 删除快照

快照会占用磁盘空间,确认不再需要后可以删除:

  1. 选中快照
  2. 点击Remove按钮
  3. 确认删除

四、备份(Backup)

4.1 快照 vs 备份的区别

特性快照备份
存储位置与原磁盘在同一存储可以存到其他存储/设备
数据安全存储损坏则快照也丢失独立文件,可异地保存
恢复范围只能恢复到同一虚拟机可以恢复到新的虚拟机
导出能力不能导出可以下载、迁移
适用场景临时回滚长期保留、灾难恢复

简单记忆:快照是"后悔药",备份是"保险单"。

4.2 手动备份

Web 界面方式

  1. 选中虚拟机或容器
  2. 点击Backup标签页
  3. 点击Backup now按钮
  4. 填写参数:
参数说明建议
Storage备份存储位置local 或>
  • 点击Backup
  • 等待备份完成,可以在底部Task History中查看进度。

    命令行方式

    # 备份虚拟机到 local 存储vzdump100--storagelocal--modesnapshot--compresszstd# 备份容器vzdump200--storagelocal--modesnapshot--compresszstd

    4.3 查看备份文件

    备份完成后,文件存储在对应存储的dump/目录下:

    # 查看备份文件ls-lh/var/lib/vz/dump/# 输出示例:# -rw-r--r-- 1 root root 1.2G Apr 20 10:00 vzdump-qemu-100-2026_04_20-10_00_00.vma.zst

    文件名格式:vzdump-<类型>-<ID>-<日期时间>.vma.zst

    4.4 自动备份(定时任务)

    手动备份容易忘记,建议设置自动备份。

    步骤 1:创建备份计划

    1. 点击DatacenterBackup
    2. 点击AddAdd Backup Job
    3. 填写参数:
    参数说明建议
    Node节点选择你的节点
    Storage备份存储local 或>
  • 点击Create
  • 步骤 2:设置保留策略

    在备份任务中,可以设置保留几个备份:

    1. 选中备份任务,点击Edit
    2. 找到Keep区域:
      • Keep Last: 保留最近 N 个备份(如 3)
      • Keep Daily: 保留最近 N 天每天的备份
      • Keep Weekly: 保留最近 N 周每周的备份
      • Keep Monthly: 保留最近 N 月每月的备份

    建议设置:

    • Keep Last: 3
    • Keep Weekly: 2

    这样会自动删除旧备份,节省空间。


    五、从备份恢复

    5.1 恢复到原虚拟机/容器

    1. 选中要恢复的虚拟机/容器
    2. 点击Backup标签页
    3. 选中要恢复的备份文件
    4. 点击Restore按钮
    5. 确认参数,点击Restore

    恢复会覆盖当前虚拟机的数据,请确认后再操作!

    5.2 恢复到新的虚拟机/容器

    如果想保留原虚拟机,可以恢复到新的 ID:

    命令行方式

    # 恢复到新的虚拟机 ID(如 101)qmrestore /var/lib/vz/dump/vzdump-qemu-100-2026_04_20-10_00_00.vma.zst101# 恢复到新的容器 ID(如 201)pct restore201/var/lib/vz/dump/vzdump-lxc-200-2026_04_20-10_00_00.tar.zst

    恢复后,在资源树中会出现新的虚拟机/容器,可以正常启动使用。

    5.3 迁移备份到另一台 Proxmox

    备份文件可以复制到其他 Proxmox 服务器上恢复:

    # 从 A 服务器复制到 B 服务器scp/var/lib/vz/dump/vzdump-qemu-100-*.vma.zst root@192.168.1.200:/var/lib/vz/dump/# 然后在 B 服务器上恢复qmrestore /var/lib/vz/dump/vzdump-qemu-100-*.vma.zst100

    六、备份文件管理

    6.1 查看备份占用空间

    # 查看 dump 目录大小du-sh/var/lib/vz/dump/# 查看每个备份文件大小ls-lhS/var/lib/vz/dump/

    6.2 手动删除旧备份

    # 删除特定备份rm/var/lib/vz/dump/vzdump-qemu-100-2026_04_01-*.vma.zst# 删除所有超过 30 天的备份find/var/lib/vz/dump/-name"*.vma.zst"-mtime+30-delete

    6.3 下载备份到本地

    使用 WinSCP 或 scp 命令:

    # 从 Proxmox 下载到本地scproot@192.168.1.100:/var/lib/vz/dump/vzdump-qemu-100-*.vma.zst ./

    七、常见问题排查

    Q1:备份失败,提示 “no space left on device”

    1. 检查存储空间:df -h
    2. 清理旧备份或快照
    3. 更换备份存储位置到更大容量的磁盘

    Q2:快照创建很慢

    1. 检查磁盘 I/O 性能
    2. 如果虚拟机磁盘很大且变化多,首次快照会比较慢
    3. 后续增量快照会快很多

    Q3:恢复备份后虚拟机无法启动

    1. 检查目标存储是否有足够空间
    2. 确认恢复的 ID 没有被占用:qm list
    3. 检查虚拟机配置是否正确

    Q4:备份文件损坏无法恢复

    1. 检查备份文件的完整性:zstd -t 文件名.vma.zst
    2. 如果有多个备份,尝试恢复其他时间点的备份
    3. 重要数据建议保留多个备份副本

    Q5:自动备份没有执行

    1. 检查备份任务是否启用
    2. 查看系统日志:journalctl -u pve-daily-update
    3. 确认节点时间正确:date

    八、本章小结

    恭喜你!到这里,你已经完成了:

    • ✅ 了解了 Proxmox 的存储类型
    • ✅ 添加了一块新的数据盘作为存储
    • ✅ 为虚拟机/容器创建了快照
    • ✅ 执行了手动备份和自动备份配置
    • ✅ 从备份恢复了虚拟机
    • ✅ 学会了备份文件的管理

    数据保护最佳实践

    1. 重要操作前先创建快照
    2. 设置自动备份任务,保留多份备份
    3. 定期将备份复制到异地存储
    4. 定期测试恢复流程,确保备份可用

    下一章预告:我们将学习 Proxmox 的网络配置,让虚拟机/容器正确连上外网,并配置静态 IP 和端口转发。


    附录:备份相关命令速查

    # 手动备份虚拟机vzdump100--storagelocal--modesnapshot--compresszstd# 手动备份多个虚拟机vzdump100101102--storagelocal# 备份时排除某些磁盘vzdump100--exclude-path /mnt/temp# 查看备份信息vma list /var/lib/vz/dump/vzdump-qemu-100-*.vma.zst# 恢复虚拟机到新 IDqmrestore /path/to/backup.vma.zst101# 恢复并覆盖原虚拟机qmrestore /path/to/backup.vma.zst100--force# 删除快照qm delsnapshot100snapname# 查看快照列表qm listsnapshot100
    http://www.jsqmd.com/news/673651/

    相关文章:

  • R 4.5文本挖掘升级后,92%用户忽略的5个性能陷阱及3步修复法:从分词崩溃到实时流处理
  • YOLOv5-SI: 基于多尺度训练与测试的尺度不变性增强算法
  • VBA和Python 如何使己有的Office应用程序自动化
  • 人工智能(十一)- 什么是 Skills
  • Gitee CodePecker SCA:重新定义企业级软件供应链安全防护
  • Base64 Decode and Encode - Online
  • 如何构建层次化任务体系:Tasks子任务管理的终极指南
  • 5G NR协议实战:手把手教你理解DCI大小对齐的5个关键步骤(附避坑指南)
  • 终极魔兽争霸III地图编辑器HiveWE:快速创建精美地图的完整指南
  • Cesium 3D可视化实战:给你的地理围栏加上‘跑马灯’特效(基于MaterialProperty自定义材质)
  • Windows的cmd运行编译器(cmd运行c/c++、python等)
  • 搞定RAG高级RAG技巧:从Query改写到Prompt构建,看这篇就够了!
  • SVG圆形详解
  • Spring Framework 3.2 于 2013 年 12 月 12 日正式发布(General Availability,GA)
  • 终极指南:如何在Mac上免费使用Xbox 360手柄玩游戏
  • 深入理解kubectl-debug架构:从插件到代理的完整解析
  • 【万字文档+PPT+源码】基于Java的平价汽车租赁系统-计算机专业项目设计分享
  • 把闲置的CM311-1A机顶盒刷成Armbian服务器,保姆级教程(含balenaEtcher烧录与EMMC写入避坑指南)
  • 告别数据乱码!深入调试HC32 UART:用逻辑分析仪抓包分析时序与错误
  • SpringBoot项目实战:手把手教你搞定阿里奇门SDK对接(含完整代码与避坑指南)
  • 保姆级教程:Halcon灰度投影(gray_projections)从‘simple’到‘rectangle’模式全解析
  • Dify 2026多模态集成避坑手册:92%开发者忽略的模态对齐偏差校准、token截断容错与异构Embedding归一化技巧
  • 别再只懂原理了!动手用C++实现一个Redis风格的LRU缓存(支持TTL过期)
  • 避开GD32F103的‘软’坑:除了改延时,你的ADC+DMA配置真的对了吗?(附官方Demo对比心得)
  • 题解:AcWing 487 金明的预算方案
  • 企业级项目三:基于 Paimon 湖仓的 AI 数据分析平台
  • 销量爆款背后的真相:先选场景,再做产品!
  • 7个实用技巧:GitHub Actions自动化流程打造高效持续集成
  • 基于改进YOLOv5的无人机航拍小目标检测算法研究
  • 关于在vs2022中使用清单模式遇到的问题