Replication storage and how to work with CPU and memory resources for cluster environment

bravo0916

Member
Jan 29, 2024
42
3
8
Hello team,

I just read "Storeage replication" at https://pve.proxmox.com/pve-docs/pve-admin-guide.html#chapter_pvesr. I would like to know if following structure works or not for storage replication.

1. Now, for following case, pool1 and pool2 should be replicated or I need to define mount volume name like vmdata1 and vmdata2?
I am not sure how it works for ZFS storage replication.

NodeA: ZFS storage pool name is pool1 and volume name is /mnt/vmdata1.
NodeB: ZFS storage pool name is pool2 and volume name is /mnt/vmdata2.

2. Let's assume that there are 2 Proxmox nodes and is configured as cluster. NodeA has 6 cores CPU and 128G RAM and NodeB has 6 cores and 64G RAM.
So the total CPU cores are 12 cores and RAM is 192GB. I mean, I can use 12 cores and 192GB RAM resources when I create guest OS. Or I just can use CPU and memory resource on each node.

Regards,
 
NodeA: ZFS storage pool name is pool1 and volume name is /mnt/vmdata1.
NodeB: ZFS storage pool name is pool2 and volume name is /mnt/vmdata2.
No!

Replication requires the same configuration on all nodes, at least in the current implementation. If you call it "pool123" it must have this exact name on all nodes. (Actually there is an open feature request to make this more flexible...)

So the total CPU cores are 12 cores and RAM is 192GB. I mean, I can use 12 cores and 192GB RAM resources when I create guest OS.
No.

One virtual machine can only run on one computer at a given time and it can only use local CPU- and RAM-resources.

Of course you can run several VMs with - let's say - 20 or more cores assigned in sum. But in your example with 6 real cores I would give only 4 (or max 5) to each instance. CPUs can get "overcommited" by a large amount - as long as the VMs are idling most of the time. (Most of my VMs got only two cores, that's enough for what I do. Exemptions exist.)

For Ram I am not so confident. Rule of thumb: do NOT do that! (Search here for "swap" and "zram" if you need to.) If you over-commit too much you will meet the Out-Of-Memory-Killer. And calculate some local Ram usage for the host OS and 10% (by default) for ZFS ARC.

Have fun :-)