当客体机在 Proxmox VE 节点上运作且客体磁碟储存於节点的本机储存即区时,若想要让客体机的磁碟资料在其它节点也保有一份而且能够经常更新,以用来避免因为节点故障时,需要从备份档还原时的较长时间,或者是因为备份间隔较长而遗失了中间的重要资料,Proxmox VE 可以做到吗?
可以,在 Proxmox VE 当中提供了「复写」机制,可以将客体机的磁碟排程复写至其它节点之中存放,大幅提升因为使用本机储存的资料即时异机保存能力。
要将客体机建立复写排程,请选取客体机後,切换至 复写
页签,按下 增加
按钮。
准备增加复写排程
进入增加复写作业选项视窗後,在 目标
下拉清单可以选择要复写至那一个节点存放,排程
栏位里可以选取要进行复写的排程时间点,也可以直接输入时间字串,它与 CRON 的排程定义格式相同,此处我选择 每 2 小时
复写一次。
这里提供几个自订时间的 CRON 范例语法:
mon..fri 03:00
*/1
*/15
19:00
mon..fri 8..17,22:0/15
12,14,16,18,20,22:5
准备增加复写排程:目标与排程
在 速率限制
栏位可以做复写时的限制,以避免因为复写作业占去太多网路传输资源而影响其它服务的运作。当内容确定无误後,请按下 建立
按钮。
准备增加复写排程:速率限制
建立完成後,可以在清单中看到有一笔新的排程复写作业,由於目前还没开始进行,所以它的 上次同步
、期间
栏位都还是空的。
增加复写排程完成
技巧:
若该客体机很重要,想要让它复写到好几个节点时,可以建立多个排程复写指向不同节点即可。
提醒:
要使用复写机制的必要条件:复写来源与目的节点必须有同样名称的储存集区,而且都是 ZFS。因为复写机制是基於 ZFS 的快照与快照传送功能所衍生而来。
当复写排程时间到达後即会开始复写作业,或是可以手动按下 立即执行排程
按钮,它也会在 1 分钟内启动复写作业,复写中的作业会在状态显示转动中的图示。
正在进行排程复写作业
提醒:
因为它是基於 CRON 排程进行复写作业,所以按下
立即执行排程
时会在下个准点 1 分钟触发执行。
当排程复写作业完成时,可以在作业记录视窗里看到 successfully imported
以及 end replication job
的字样,清单中也会显示 完成
、 上次同步时间
及 期间
内有显示结果。
进行排程复写作业完成 1
进行排程复写作业完成 2
客体机是存在於 host-106
这个节点,我们可以选取 host-111
的储存集区 vmdisk-2
,切换至 VM 磁碟
内检查刚刚所设定要复写的客体机磁碟,确实已经复写一份在此。
确认复写作业磁碟状况
复写机制因为是基於 ZFS 的快照机制与快照传送而来,所以它的作业效率很高,只需要先以 ZFS 制作快照後,再把此份快照传送制目的节点存放即可完成,几乎没有太多的运算、检查、压缩等等的耗损。
上一章我们整合 Proxmox BS 进行备份,纳入增量备份後已经把时间由初次备份 5 分 26 秒,做到第二次备份时只耗费 30 秒;而采用复写机制後,第二次备份时间仅须 9.6 秒。
现有网路传输是采用 1Gbps,若网路传输速度更快还可以缩短更多的时间。
第二次以後的复写作业时间
如果只是将客体机磁碟复写至其它节点,对我们直接应用的效果并不太大,但搭配上迁移机制後时间效率的提升就立刻感受明显了。
先前我们对客体磁碟放在节点本机储存集区的客体做迁移时,要完整的把整个客体磁碟搬移至另一个节点,所耗费的时间相当久,而现在预先启用复写机制後,在迁移时系统只需要制作一份最新的快照後传送至另一个节点,所要传输的客体磁碟量就少去很多。
在下图的迁移作业记录中可以看到,迁移作业自动判断这部客体机已经有一份复写放在目标节点,所以它立即制作一份临时快照传送即可,而这次的容量只需要传送 2.67MB
,而不需要传送客体机的实际的磁碟容量 20GB
,速度自然是大大加快。
搭配复写机制时迁移客体机的磁碟传输量
迁移完成後,客体机已经由来源节点迁移至目标节点继续运作,同样在过程中继续服务。
复写机制时迁移客体机完成
另外,先前我们为这个客体机设定的排程复写作业是 host-106
传输往 host-111
存放,当客体机迁移至 host-111 後,它的排程复写作业会自动反转,改为由 host-111
排程复写往 host-106
存放。
迁移客体机完成後排程复写设定的异动
<<: [Day 26] Android Studio 七日陨石开发:嘘! 我正在监听这个元件
中秋节连假的最後一个早上,就用早餐吃到饱跟大家说声早安!! 8个月前,决定要分享我生活中很重要的部分...
前言 今天加权指数开低,维持一个大跌,来观察讯号灯和大盘、个股的关系,来验证我们的讯号灯能不能参考。...
目的 了解 forEach() 的来由。 说明 简单来说,实作任意资料结构的 forEach(),最...
传值与传址,但C++是一个特别的语言比C语言更复杂真要细分可分成3类(传值,传址,传参考),同时指标...
React Component是什麽概念呢!? 就是很像把东西组成起来的元件 => 比如汽车的...