migrate proxmox to smaller root disk - question regarding config.db

RolandK

Famous Member
Mar 5, 2019
1,020
223
108
52
i have used the nice tutorial at https://aaronlauterer.com/blog/2021/proxmox-ve-migrate-to-smaller-root-disks/. at several times to migrate proxmox host to smaller zfs disk. nice tutorial !

now i need to do that with a proxmox host being part of a cluster.

do i need to take any additional precaution when bringing up the node after clone , as it moves backward in time, because it does contain an older copy of the cluster config.db , i.e. on restart , the node has an older copy of config.db ?

will it rejoin/get active without problems or can this caus corruption?

maybe @aaron may know and want's to add a note to the blog post ?
 
Last edited:
trying to answer this myself - if the cluster filesystem and thus writes to config.db is being stopped before transferring the zfs snapshot, it should not be a problem to bring up the cloned system again, if the original one has not been restarted in between - as this would be the same as if the host was just shutdown for a while.

is this correct ?
 
yes, this should work. the usual caveats apply (don't let two systems with differing state using the same nodename connect to the cluster, don't manually muck around with DB contents, don't modify corosync.conf while the cluster is split, ..). we don't actually keep track of how synced up a node is on the other nodes - there's a global "latest" version, and every node syncs up to that on joining (drastically oversimplified of course :-P) before being allowed to handle ongoing changes. since any node can only write to /etc/pve after having synced up and while being part of the quorate partition, the only way to mess this basic property up is by splitting the cluster and then making both parts quorate by modifying the quorum settings (e.g., setting expected votes or similar shenanigans).
 
  • Like
Reactions: RolandK
I'm curious why we need to rename the existing rpool to old-rpool... can't we just remove them right after, then rename new-rpool as rpool?