pvesr 命令行工具用于管理 Proxmox VE 存储复制框架。存储复制可为使用本地存储的 来宾提供冗余,并减少迁移时间。
它会将来宾卷复制到另一个节点,因此无需使用共享存储即可让所有数据保持可用。 复制使用快照来尽量减少通过网络传输的流量。因此,在首次完整同步之后,新数据只会 以增量方式发送。如果发生节点故障,来宾数据仍可在复制目标节点上使用。
复制会按可配置的间隔自动完成。最小复制间隔为一分钟,最大间隔为每周一次。用于指定 这些间隔的格式是 systemd 日历事件的一个子集,请参见 调度格式 章节:
可以将一个来宾复制到多个目标节点,但不能对同一个目标节点复制两次。
可以限制每个复制任务的带宽,以避免存储或服务器过载。
如果将来宾迁移到一个已拥有该来宾副本的节点,则只需要传输自上次复制以来的变更 (即所谓的 deltas)。这会显著减少所需时间。如果将来宾迁移到复制目标节点, 复制方向会自动切换。
例如:VM100 当前位于 nodeA,并复制到 nodeB。将其迁移到 nodeB 后,它现在会 自动从 nodeB 反向复制回 nodeA。
如果迁移到一个没有该来宾副本的节点,则必须传输完整磁盘数据。迁移完成后,复制 作业会继续将该来宾复制到已配置的节点。
|
|
高可用可以与存储复制结合使用,但从最后一次同步到节点发生故障之间可能会有部分 数据丢失。 |
调度格式
复制使用 日历事件 配置调度。
错误处理
如果复制作业遇到问题,会被置于错误状态。在此状态下,已配置的复制间隔会被临时挂起。 失败的复制会以 30 分钟为间隔反复重试。一旦重试成功,原始调度会再次激活。
示例
假设有两个来宾(VM 100 和 CT 200)运行在节点 A 上,并复制到节点 B。 节点 A 发生故障且无法恢复上线。现在必须手动将来宾迁移到节点 B。
-
通过 ssh 连接到节点 B,或通过 Web UI 打开其 shell
-
检查集群是否具备法定票数
# pvecm status
-
如果没有法定票数,强烈建议先修复该问题,使节点重新可操作。只有在当前无法做到这一点时, 才可以使用以下命令在当前节点上强制设置法定票数:
# pvecm expected 1
|
|
设置 expected votes 后,应尽一切可能避免会影响集群的变更 (例如添加/移除节点、存储、虚拟来宾)。仅应将其用于让关键来宾重新运行,或用于解决 法定票数问题本身。 |
-
将两个来宾配置文件从原始节点 A 移动到节点 B:
# mv /etc/pve/nodes/A/qemu-server/100.conf /etc/pve/nodes/B/qemu-server/100.conf # mv /etc/pve/nodes/A/lxc/200.conf /etc/pve/nodes/B/lxc/200.conf
-
现在可以再次启动来宾:
# qm start 100 # pct start 200
请记得将 VMID 和节点名称替换为实际值。
管理作业
在 Web GUI 的所有层级(数据中心、节点、虚拟来宾)都可以找到复制面板。不同层级显示 的作业范围不同:全部作业、节点特定作业或来宾特定作业。
添加新作业时,如果尚未选中来宾,则需要指定来宾以及目标节点。如果不希望使用默认的 all 15 minutes,可以设置复制 调度。 也可以为复制作业施加速率限制。速率限制有助于让存储负载保持在可接受范围内。
复制作业由一个集群范围内唯一的 ID 标识。该 ID 由 VMID 加上作业编号组成。 只有使用 CLI 工具时才需要手动指定该 ID。
网络
复制流量会使用与来宾在线迁移相同的网络。默认情况下,这是管理网络。若要为迁移使用 其他网络,请在 Web 界面的 Datacenter -> Options -> Migration Settings 中配置 Migration Network,或在 datacenter.cfg 中配置。更多详情请参见 迁移网络。
