There are cases when you make changes in your configurations, only to want to partially revert it back.
NOTE See how you should have already been backing it up [1].
Alternatively, you get hold of stale (from non quorate-node) or partially corrupt
Less often, you might want to edit the contents of the database-backed filesystem without side effects to the node or cluster, e.g. in order to implant it into a separate/cloned/new cluster.
This is actually possible, however since the pmxcfs [2] relies on hardcoded locations for its backend database file as well as mountpoint, you would need to use chroot [3].
	
	
	
		
This will create alternative root structure for your own instance of pmxcfs, the only thing left is to implant the database of interest, in this example from existing one:
	
	
	
		
Now launch your own pmxcfs instance in local mode (
	
	
	
		
You can double check your instance runs using the database file that was just provided:
	
	
	
		
In fact, if you have the regular pve-cluster service running, you will be able to see there's two instances running, each over its own database, the new one in local mode (
	
	
	
		
Now you can copy out your files or perform changes in
You can also make an SQL dump [1] of
Once you are finished, you will want to get rid of the extra instance (based on the PID of the local (
	
	
	
		
And destroy the temporary chroot structure:
	
	
	
		
[1] https://forum.proxmox.com/threads/154569/
[2] https://pve.proxmox.com/wiki/Proxmox_Cluster_File_System_(pmxcfs)
[3] https://manpages.debian.org/bookworm/coreutils/chroot.8.en.html
				
			NOTE See how you should have already been backing it up [1].
Alternatively, you get hold of stale (from non quorate-node) or partially corrupt
config.db - see also how to recover it [1] - and want to take out only some of the previous files. without making it your current node's cluster filesystem.Less often, you might want to edit the contents of the database-backed filesystem without side effects to the node or cluster, e.g. in order to implant it into a separate/cloned/new cluster.
DISCLAIMER If you do not understand the summary above, do NOT proceed.
This is actually possible, however since the pmxcfs [2] relies on hardcoded locations for its backend database file as well as mountpoint, you would need to use chroot [3].
		Bash:
	
	mkdir -p ~/jail-pmxcfs/{dev,usr,bin,sbin,lib,lib64,etc,var/lib/pve-cluster,var/run}
for i in /dev /usr /bin /sbin /lib /lib64 /etc; do mount --bind -o ro $i /root/jail-pmxcfs/$i; doneThis will create alternative root structure for your own instance of pmxcfs, the only thing left is to implant the database of interest, in this example from existing one:
		Bash:
	
	sqlite3 /var/lib/pve-cluster/config.db .dump > ~/config.dump.sql
sqlite3 ~/jail-pmxcfs/var/lib/pve-cluster/config.db < ~/config.dump.sqlNow launch your own pmxcfs instance in local mode (
-l) in the chroot environment:
		Bash:
	
	chroot ~/jail-pmxcfs/ pmxcfs -lYou can double check your instance runs using the database file that was just provided:
		Bash:
	
	# lsof ~/jail-pmxcfs/var/lib/pve-cluster/config.db
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
pmxcfs  1225 root    4u   REG  252,1    77824   61 /root/jail-pmxcfs/var/lib/pve-cluster/config.dbIn fact, if you have the regular pve-cluster service running, you will be able to see there's two instances running, each over its own database, the new one in local mode (
-l):
		Bash:
	
	# ps -C pmxcfs -f
UID          PID    PPID  C STIME TTY          TIME CMD
root         656       1  0 10:34 ?        00:00:02 /usr/bin/pmxcfs
root        1225       1  0 10:37 ?        00:00:00 pmxcfs -lNow you can copy out your files or perform changes in
~/jail-pmxcfs/etc/pve without affecting your regular operation.You can also make an SQL dump [1] of
~/jail-pmxcfs/var/lib/pve-cluster/config.db - your now modified database.Once you are finished, you will want to get rid of the extra instance (based on the PID of the local (
-l) instance obtained above):
		Bash:
	
	kill $PIDAnd destroy the temporary chroot structure:
		Bash:
	
	umount ~/jail-pmxcfs/etc/pve ~/jail-pmxcfs/* &&
rm -rf ~/jail-pmxcfs/[1] https://forum.proxmox.com/threads/154569/
[2] https://pve.proxmox.com/wiki/Proxmox_Cluster_File_System_(pmxcfs)
[3] https://manpages.debian.org/bookworm/coreutils/chroot.8.en.html
			
				Last edited: 
				
		
	
										
										
											
	
										
									
								 
	 
	
