Hello, i'm tryng this procedure to migrate one or more LXC vps beetwin two phisical servers.
Snap creation:
zfs snapshot rpool/data/subvol-100-disk-1@SnapDay_18_10_2016_10:18:44
Send Snap:
zfs send -i rpool/data/subvol-100-disk-1@SnapDay_18_10_2016_10:17:20 rpool/data/subvol-100-disk-1@SnapDay_18_10_2016_10:18:44 | ssh -p 2222 192.168.58.2 zfs recv -F -d rpool/backup_rcv
Filesystem on the source server:
NAME USED AVAIL REFER MOUNTPOINT
rpool 9.92G 1.75T 96K /rpool
rpool/ROOT 806M 1.75T 96K /rpool/ROOT
rpool/ROOT/pve-1 806M 1.75T 806M /
rpool/backup_rcv 403M 1.75T 96K /rpool/backup_rcv
rpool/backup_rcv/data 403M 1.75T 96K /rpool/backup_rcv/data
rpool/backup_rcv/data/subvol-100-disk-1 402M 1.75T 387M /rpool/backup_rcv/data/subvol-100-disk-1
rpool/backup_rcv/data/subvol-100-disk-1@SnapDay_18_10_2016_10:12:50 15.1M - 343M -
rpool/backup_rcv/data/subvol-100-disk-1@SnapDay_18_10_2016_10:17:20 8K - 387M -
rpool/backup_rcv/data/subvol-100-disk-1@SnapDay_18_10_2016_10:18:44 0 - 387M -
rpool/data 241M 1.75T 96K /rpool/data
Now, i can "restore" my vps Cloning the last Snapshot on the dest server
zfs clone rpool/backup_rcv/data/subvol-100-disk-1@SnapDay_18_10_2016_10:18:44 rpool/data/subvol-200-disk-1
AND
root@PrxIaki2Saes:/etc/zfs_replica# zfs promote rpool/data/subvol-200-disk-1
root@PrxIaki2Saes:/etc/zfs_replica#
root@PrxIaki2Saes:/etc/zfs_replica# zfs list -t all
NAME USED AVAIL REFER MOUNTPOINT
rpool 9.92G 1.75T 96K /rpool
rpool/ROOT 806M 1.75T 96K /rpool/ROOT
rpool/ROOT/pve-1 806M 1.75T 806M /
rpool/backup_rcv 192K 1.75T 96K /rpool/backup_rcv
rpool/backup_rcv/data 96K 1.75T 96K /rpool/backup_rcv/data
rpool/backup_rcv/data/subvol-100-disk-1 0 1.75T 387M /rpool/backup_rcv/data/subvol-100-disk-1
rpool/data 644M 1.75T 96K /rpool/data
rpool/data/subvol-200-disk-1 644M 1.75T 454M /rpool/data/subvol-200-disk-1
rpool/data/subvol-200-disk-1@SnapDay_18_10_2016_10:12:50 15.1M - 343M -
rpool/data/subvol-200-disk-1@SnapDay_18_10_2016_10:17:20 8K - 387M -
rpool/data/subvol-200-disk-1@SnapDay_18_10_2016_10:18:44 8K - 387M -
rpool/swap 8.50G 1.75T 64K -
So i have:
rpool/data/subvol-200-disk-1 241M 1.75T 454M /rpool/data/subvol-200-disk-1
And now i PROMOTE the CLONE:
zfs promote rpool/data/subvol-200-disk-1
root@PrxIaki2Saes:/etc/zfs_replica# zfs list -t all
NAME USED AVAIL REFER MOUNTPOINT
rpool 9.92G 1.75T 96K /rpool
rpool/ROOT 806M 1.75T 96K /rpool/ROOT
rpool/ROOT/pve-1 806M 1.75T 806M /
rpool/backup_rcv 192K 1.75T 96K /rpool/backup_rcv
rpool/backup_rcv/data 96K 1.75T 96K /rpool/backup_rcv/data
rpool/backup_rcv/data/subvol-100-disk-1 0 1.75T 387M /rpool/backup_rcv/data/subvol-100-disk-1
rpool/data 644M 1.75T 96K /rpool/data
rpool/data/subvol-200-disk-1 644M 1.75T 454M /rpool/data/subvol-200-disk-1
rpool/data/subvol-200-disk-1@SnapDay_18_10_2016_10:12:50 15.1M - 343M -
rpool/data/subvol-200-disk-1@SnapDay_18_10_2016_10:17:20 8K - 387M -
rpool/data/subvol-200-disk-1@SnapDay_18_10_2016_10:18:44 8K - 387M -
rpool/swap 8.50G 1.75T 64K -
and i put it on my /etc/pve/nodes/PrxIaki2Saes/lxc/200.conf
-----------------------------------------------------------------------------------------------------------------------------------
arch: amd64
cpulimit: 1
cpuunits: 1024
hostname: test.local
memory: 1024
net0: name=eth0,bridge=vmbr0,gw=185.36.72.1,hwaddr=46:F2:BD:2E:28:F0,ip=185.36.72.245/24,type=veth
ostype: debian
rootfs: local-zfs:subvol-200-disk-1,size=8G
swap: 512
-----------------------------------------------------------------------------------------------------------------------------------
Finally i can destroy the old snapshot ad rep:
zfs destroy -R rpool/data/subvol-200-disk-1@SnapDay_18_10_2016_10:18:44
I Have done a test and it work ..
Is there something wrong for a production use ?
It is very usefull beacuse if i "restore" a big snapshot sending it an the same volume, i use double space on the storage and it's very slow because i have to copy all on the rcv vol.
Thanks
Snap creation:
zfs snapshot rpool/data/subvol-100-disk-1@SnapDay_18_10_2016_10:18:44
Send Snap:
zfs send -i rpool/data/subvol-100-disk-1@SnapDay_18_10_2016_10:17:20 rpool/data/subvol-100-disk-1@SnapDay_18_10_2016_10:18:44 | ssh -p 2222 192.168.58.2 zfs recv -F -d rpool/backup_rcv
Filesystem on the source server:
NAME USED AVAIL REFER MOUNTPOINT
rpool 9.92G 1.75T 96K /rpool
rpool/ROOT 806M 1.75T 96K /rpool/ROOT
rpool/ROOT/pve-1 806M 1.75T 806M /
rpool/backup_rcv 403M 1.75T 96K /rpool/backup_rcv
rpool/backup_rcv/data 403M 1.75T 96K /rpool/backup_rcv/data
rpool/backup_rcv/data/subvol-100-disk-1 402M 1.75T 387M /rpool/backup_rcv/data/subvol-100-disk-1
rpool/backup_rcv/data/subvol-100-disk-1@SnapDay_18_10_2016_10:12:50 15.1M - 343M -
rpool/backup_rcv/data/subvol-100-disk-1@SnapDay_18_10_2016_10:17:20 8K - 387M -
rpool/backup_rcv/data/subvol-100-disk-1@SnapDay_18_10_2016_10:18:44 0 - 387M -
rpool/data 241M 1.75T 96K /rpool/data
Now, i can "restore" my vps Cloning the last Snapshot on the dest server
zfs clone rpool/backup_rcv/data/subvol-100-disk-1@SnapDay_18_10_2016_10:18:44 rpool/data/subvol-200-disk-1
AND
root@PrxIaki2Saes:/etc/zfs_replica# zfs promote rpool/data/subvol-200-disk-1
root@PrxIaki2Saes:/etc/zfs_replica#
root@PrxIaki2Saes:/etc/zfs_replica# zfs list -t all
NAME USED AVAIL REFER MOUNTPOINT
rpool 9.92G 1.75T 96K /rpool
rpool/ROOT 806M 1.75T 96K /rpool/ROOT
rpool/ROOT/pve-1 806M 1.75T 806M /
rpool/backup_rcv 192K 1.75T 96K /rpool/backup_rcv
rpool/backup_rcv/data 96K 1.75T 96K /rpool/backup_rcv/data
rpool/backup_rcv/data/subvol-100-disk-1 0 1.75T 387M /rpool/backup_rcv/data/subvol-100-disk-1
rpool/data 644M 1.75T 96K /rpool/data
rpool/data/subvol-200-disk-1 644M 1.75T 454M /rpool/data/subvol-200-disk-1
rpool/data/subvol-200-disk-1@SnapDay_18_10_2016_10:12:50 15.1M - 343M -
rpool/data/subvol-200-disk-1@SnapDay_18_10_2016_10:17:20 8K - 387M -
rpool/data/subvol-200-disk-1@SnapDay_18_10_2016_10:18:44 8K - 387M -
rpool/swap 8.50G 1.75T 64K -
So i have:
rpool/data/subvol-200-disk-1 241M 1.75T 454M /rpool/data/subvol-200-disk-1
And now i PROMOTE the CLONE:
zfs promote rpool/data/subvol-200-disk-1
root@PrxIaki2Saes:/etc/zfs_replica# zfs list -t all
NAME USED AVAIL REFER MOUNTPOINT
rpool 9.92G 1.75T 96K /rpool
rpool/ROOT 806M 1.75T 96K /rpool/ROOT
rpool/ROOT/pve-1 806M 1.75T 806M /
rpool/backup_rcv 192K 1.75T 96K /rpool/backup_rcv
rpool/backup_rcv/data 96K 1.75T 96K /rpool/backup_rcv/data
rpool/backup_rcv/data/subvol-100-disk-1 0 1.75T 387M /rpool/backup_rcv/data/subvol-100-disk-1
rpool/data 644M 1.75T 96K /rpool/data
rpool/data/subvol-200-disk-1 644M 1.75T 454M /rpool/data/subvol-200-disk-1
rpool/data/subvol-200-disk-1@SnapDay_18_10_2016_10:12:50 15.1M - 343M -
rpool/data/subvol-200-disk-1@SnapDay_18_10_2016_10:17:20 8K - 387M -
rpool/data/subvol-200-disk-1@SnapDay_18_10_2016_10:18:44 8K - 387M -
rpool/swap 8.50G 1.75T 64K -
and i put it on my /etc/pve/nodes/PrxIaki2Saes/lxc/200.conf
-----------------------------------------------------------------------------------------------------------------------------------
arch: amd64
cpulimit: 1
cpuunits: 1024
hostname: test.local
memory: 1024
net0: name=eth0,bridge=vmbr0,gw=185.36.72.1,hwaddr=46:F2:BD:2E:28:F0,ip=185.36.72.245/24,type=veth
ostype: debian
rootfs: local-zfs:subvol-200-disk-1,size=8G
swap: 512
-----------------------------------------------------------------------------------------------------------------------------------
Finally i can destroy the old snapshot ad rep:
zfs destroy -R rpool/data/subvol-200-disk-1@SnapDay_18_10_2016_10:18:44
I Have done a test and it work ..
Is there something wrong for a production use ?

It is very usefull beacuse if i "restore" a big snapshot sending it an the same volume, i use double space on the storage and it's very slow because i have to copy all on the rcv vol.
Thanks
Last edited: