PROXMOX VE备份还原
内容
备份模式
备份文件名
恢复
组态
挂钩脚本
文件排除
例子
备份是任何明智的IT部署所必需的,并且Proxmox VE利用每种存储和每种来宾系统类型的功能提供了一个完全集成的解决方案。这使系统管理员可以通过mode选项在备份的一致性和来宾系统的停机时间之间进行微调。
Proxmox VE备份始终是完整备份-包含VM / CT配置和所有数据。可以通过GUI或通过vzdump命令行工具启动备份。
备份存储
必须先定义备份存储,然后才能运行备份。有关如何添加存储,请参考存储文档。备份存储必须是文件级存储,因为备份存储为常规文件。在大多数情况下,使用NFS服务器是存储备份的好方法。您可以稍后将这些备份保存到磁带机上,以进行异地归档。
预定备份
可以安排备份作业,以便它们在特定的日期和时间针对可选节点和来宾系统自动执行。计划的备份的配置在GUI的数据中心级别完成,这将在/etc/cron.d/vzdump中生成一个cron条目。
备份模式
有几种提供一致性的方法(选项模式),具体取决于来宾类型。
虚拟机的备份模式:
停止模式
此模式提供了最高的备份一致性,但以VM操作中的停机时间短为代价。它通过有序关闭VM来工作,然后运行后台Qemu进程来备份VM数据。启动备份后,如果VM先前正在运行,它将进入完全操作模式。使用实时备份功能可确保一致性。
暂停模式
提供此模式是出于兼容性原因,在调用快照模式之前会挂起VM 。由于挂起VM会导致更长的停机时间,并不一定会改善数据一致性,因此建议使用快照模式。
快照模式
此模式以最小的不稳定风险为代价,提供了最低的操作停机时间。它通过执行Proxmox VE实时备份来工作,该备份在VM运行时在其中复制数据块。如果启用了来宾代理(代理:1)并正在运行,它将调用 guest-fsfreeze-freeze和guest-fsfreeze-thaw来提高一致性。
可在此处在线找到QemuServer的Proxmox VE实时备份的技术概述 。
Proxmox VE实时备份可在任何存储类型上提供类似于快照的语义。不需要基础存储支持快照。另外请注意,由于备份是通过后台Qemu进程完成的,因此,在Qemu读取VM磁盘时,停止的VM会在短时间内显示为正在运行。但是,VM本身不会启动,仅会读取其磁盘。 |
容器的备份模式:
停止模式
在备份期间停止容器。这可能导致非常长的停机时间。
暂停模式
此模式使用rsync将容器数据复制到一个临时位置(请参阅选项--tmpdir)。然后容器被挂起,第二个rsync复制更改的文件。之后,容器将再次启动(恢复)。这样可以减少停机时间,但需要更多空间来保存容器副本。
当容器位于本地文件系统上并且备份的目标存储是NFS / CIFS服务器时,您也应将--tmpdir设置为也位于本地文件系统上,因为这将使性能提高很多倍。如果要在挂起模式下使用ACL备份本地容器(如果备份存储是NFS服务器),则还需要使用本地tmpdir。
快照模式
此模式使用基础存储的快照功能。首先,容器将被挂起以确保数据一致性。将创建容器卷的临时快照,并将快照内容存档在tar文件中。最后,临时快照再次被删除。
快照模式要求所有备份卷都位于支持快照的存储中。使用 backup = no挂载点选项可以将单个卷排除在备份之外(因此也可以排除此需求)。 |
默认情况下,备份中不包括除根磁盘安装点之外的其他安装点。对于卷安装点,您可以设置“ 备份”选项以在备份中包括安装点。设备和绑定安装永远不会备份,因为它们的内容在Proxmox VE存储库之外进行管理。 |
备份文件名
较新版本的vzdump将来宾类型和备份时间编码为文件名,例如
vzdump-lxc-105-2009_10_09-11_04_43.tar
这样,可以将多个备份存储在同一目录中。参数maxfiles可用于指定要保留的最大备份数。
恢复
可以通过Proxmox VE Web GUI或以下CLI工具还原备份存档:
pct恢复
容器还原实用程序
qmrestore
虚拟机还原实用程序
有关详细信息,请参见相应的手册页。
带宽限制
还原一个或多个大备份可能需要大量资源,尤其是用于从备份存储读取和写入目标存储的存储带宽。这可能会对其他虚拟访客产生负面影响,因为对存储的访问可能会变得很拥挤。
为避免这种情况,您可以为备份作业设置带宽限制。Proxmox VE实现了两种还原和存档限制:
每个还原限制:表示从备份存档读取的最大带宽量
每个存储的写限制:表示用于写入特定存储的最大带宽量
读取限制间接影响写入限制,因为我们写的内容不能超过读取的内容。较小的每个作业限制将覆盖较大的每个存储限制。如果您对受影响的存储具有“ Data.Allocate”权限,则较大的按作业限制将仅覆盖按存储的限制。
您可以使用restore CLI命令中的'--bwlimit
您可以对bwlimit参数使用'0' 来禁用特定还原作业的所有限制。如果您需要尽快还原非常重要的虚拟客户机,这将很有帮助。(需要“ Data.Allocate”存储权限) |
大多数情况下,您的存储的一般可用带宽会随着时间的推移保持不变,因此我们实现了为每个已配置的存储设置默认带宽限制的可能性,这可以通过以下方式完成:
#pvesm set STORAGEID --bwlimit KIBs
组态
全局配置存储在/etc/vzdump.conf中。该文件使用简单的冒号分隔的键/值格式。每行具有以下格式:
选项:价值
文件中的空白行将被忽略,而以# 字符开头的行将被视为注释,也将被忽略。该文件中的值用作默认值,并且可以在命令行上覆盖。
我们目前支持以下选项:
bwlimit: <整数>(0-N)(默认= 0)
限制I / O带宽(千字节每秒)。
压缩: <0 | 1 | gzip | lzo>(默认= 0)
压缩转储文件。
dumpdir: <字符串>
将结果文件存储到指定目录。
exclude-path: <字符串>
排除某些文件/目录(Shell Glob)。
ionice: <整数>(0-8 )(默认= 7)
设置CFQ ionice优先级。
lockwait: <整数>(0-N)(默认= 180)
等待全局锁定的最长时间(分钟)。
邮件通知: <总是| 失败>(默认= 始终)
指定何时发送电子邮件
mailto: <字符串>
以逗号分隔的应接收电子邮件通知的电子邮件地址列表。
maxfiles: <整数>(1-N)(默认= 1)
每个来宾系统的最大备份文件数。
模式: <快照| 停止| 暂停>(默认= 快照)
备份模式。
pigz: <整数>(默认= 0)
当N> 0时,使用Pigz代替gzip。N = 1使用一半的内核,N> 1使用N作为线程数。
池: <字符串>
备份指定池中包括的所有已知来宾系统。
删除:
如果备份文件超过maxfiles个,则删除旧的备份文件。
脚本:
使用指定的挂钩脚本。
stdexcludes:
排除临时文件和日志。
stopwait: <整数>(0-N)(默认= 10)
等待访客系统停止的最长时间(分钟)。
存储:
将结果文件存储到此存储中。
tmpdir: <字符串>
将临时文件存储到指定目录。
vzdump.conf配置示例
tmpdir:/ mnt / fast_local_disk
储存空间:my_backup_storage
模式:快照
bwlimit:10000
挂钩脚本
您可以使用选项--script指定挂钩脚本。在备份过程的各个阶段调用此脚本,并相应设置参数。您可以在文档目录(vzdump-hook-script.pl)中找到示例。
文件排除
此选项仅适用于容器备份。 |
vzdump默认情况下跳过以下文件(通过选项 --stdexcludes 0禁用 )
/ tmp /?*
/ var / tmp /?*
/ var / run /?* pid
您还可以手动指定(附加)排除路径,例如:
#vzdump 777 --exclude-path / tmp / --exclude-path'/ var / foo *'
(仅不包括tmp目录)
配置文件也存储在备份存档中(在./etc/vzdump/中),并且将被正确还原。
例子
只需转储客户机777(没有快照),只需将客户机专用区域和配置文件存档到默认转储目录(通常为 / var / lib / vz / dump /)。
#vzdump 777
使用rsync和suspend / resume创建快照(最小停机时间)。
#vzdump 777-模式挂起
备份所有来宾系统,并将通知邮件发送到root和admin。
#vzdump --all --mode挂起--mailto root --mailto admin
使用快照模式(无停机时间)和非默认转储目录。
#vzdump 777 --dumpdir / mnt / backup --mode快照
备份多个来宾(有选择地)
#vzdump 101102103 --mailto root
备份除101和102外的所有访客
#vzdump-模式暂停-排除101102
将容器还原到新的CT 600
#pct恢复600 /mnt/backup/vzdump-lxc-777.tar
将QemuServer VM还原到VM 601
#qmrestore /mnt/backup/vzdump-qemu-888.vma 601
使用管道将现有容器101克隆到具有4GB根文件系统的新容器300
#vzdump 101 --stdout | pct restore --rootfs 4300-