Datastore - emulating one by another?

UdoB

Distinguished Member
Nov 1, 2016
2,765
1,490
243
Germany
Good morning,

here is a little sunday morning story with a question regarding Datastore emulation:

My homelab is growing - while I am evaluating options to shrink it down for power consumption reasons. Growing is not always linear and with different new (in this case: used) hardware come new pitfalls :-)

My ZFS-only cluster (no shared storage) works well. It is just a homelab and the hardware is not uniform but every details is different on all nodes. My current situation is this:
  • local-zfs (rpool/data) exists (of course) everywhere. Usually it is a small ZFS mirror
  • two machines got additional SSDs, the name of the pool and the datastore is just ssd1
This works well, replication and migration works correctly for local-zfs <--> local-zfs and also ssd1 <--> ssd1.

Unfortunately another newly added node (an AsRock DeskMini 110 = small = low end features = hopefully low energy) has just the ZFS mirror for local-zfs. The ssd1 pool for the Datastore is simply not feasible as the case is too small and there are only two SATA ports.

Question: how can I emulate the missing ssd1-Datastore by using a (sub-) dataset of the rpool on that node? Is this documented somewhere?

The goal is to be able to replicate VMs of course. Currently I can only populate that new node by using backup/restore and (surprisingly) live-migration :-)


Best regards and have a nice sunday :-)

Code:
root@pved:~# egrep -A3 "ssd1|local-zfs" /etc/pve/storage.cfg
zfspool: local-zfs
        pool rpool/data
        content images,rootdir
        sparse 1
--
zfspool: ssd1
        pool ssd1/data
        content images,rootdir
        mountpoint /ssd1/data
        nodes pvee,pved
        sparse 1
 
  • Like
Reactions: Tmanok
Hi,
Question: how can I emulate the missing ssd1-Datastore by using a (sub-) dataset of the rpool on that node? Is this documented somewhere?

The goal is to be able to replicate VMs of course. Currently I can only populate that new node by using backup/restore and (surprisingly) live-migration :)
AFAIK that's not currently possible, because you'd need a pool with name ssd1 on the new node as well. That's not possible by using a sub-dataset. You could think about creating multiple partition for multiple pools, but might be a bit messy.
There is pve-zsync where you can replicate even when the pool name doesn't match, but it's not tightly integrated.
 
Hello @Fabian_E ,
thanks for the reply - and for the (negative) confirmation of my impression. I will take a look into pve-zsync, thanks for mentioning it :-)

Best regards
 
Udo just brought my attention here with a similar reason but with enterprise equipment. I'm hoping to replicate between two racks without shared storage for extra disaster recovery reasons. Would be really nice to have a non-archived/compressed VM ready to go immediately, despite a few minutes or even hours of time travel.