py-libzfs for SSH+Netcat replication: Recommended method of installation on 11.3-RELEASE?

Anon93873

Dabbler
Joined
Dec 28, 2016
Messages
19
What is the recommended method for compiling and installing py-libzfs? I am attempting to implement replication via Netcat to increase replication speed.

From the 11.3-RELEASE manual (8.6.2, Advanced Replication):
  • SSH+NETCAT uses SSH to establish a connection to the destination system, then uses py-libzfs to send an unencrypted data stream for higher transfer transfer speeds. This only works when replicating to a FreeNAS, TrueNAS, or other system with py-libzfs installed.
The FreeNAS installation does not have a compiler that py-libzfs can find. I am also aware of the risks of modifying the FreeNAS installation from the command line, so I would like to install py-libzfs in a way that survives upgrades.

Has anyone successfully implemented the SSH+NETCAT replication method using this method on 11.3?
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Why would you want to "install" a feature that is already present in 11.3 according to the release notes? Just pick "SSH+NETCAT" when configuring a replication task.

HTH,
Patrick
 

Anon93873

Dabbler
Joined
Dec 28, 2016
Messages
19
Patrick,

The feature is present in 11.3, but the supporting tool py-libzfs appears not to be. If my understanding is incorrect, please correct me. The barrier isn't with configuration of SSH+Netcat, but with the existence of the underlying tool that FreeNAS relies on to execute SSH+Netcat in an automated manner.

I would be happy if you were to show me I'm incorrect.

Why would you want to "install" a feature that is already present in 11.3 according to the release notes? Just pick "SSH+NETCAT" when configuring a replication task.

HTH,
Patrick
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Code:
root@freenas01[~]# uname -a           
FreeBSD freenas01.intern.punkt.de 11.3-RELEASE-p5 FreeBSD 11.3-RELEASE-p5 #0 r325575+8ed1cd24b60(HEAD): Mon Jan 27 18:07:23 UTC 2020     root@tnbuild02.tn.ixsystems.com:/freenas-releng/freenas/_BE/objs/freenas-releng/freenas/_BE/os/sys/FreeNAS.amd64  amd64
root@freenas01[~]# pkg info -l py37-libzfs
py37-libzfs-1.0.20200115:
    /usr/local/lib/python3.7/site-packages/libzfs-1.0-py3.7.egg-info/PKG-INFO
    /usr/local/lib/python3.7/site-packages/libzfs-1.0-py3.7.egg-info/SOURCES.txt
    /usr/local/lib/python3.7/site-packages/libzfs-1.0-py3.7.egg-info/dependency_links.txt
    /usr/local/lib/python3.7/site-packages/libzfs-1.0-py3.7.egg-info/top_level.txt
    /usr/local/lib/python3.7/site-packages/libzfs.so
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
The documentation simply states that your target system for replication needs to be either
  • another current FreeNAS
  • another current TrueNAS
  • a completely different system as long as it has got py-libzfs installed

HTH,
Patrick
 

Anon93873

Dabbler
Joined
Dec 28, 2016
Messages
19
Thanks Patrick. I think this part of the documentation is poorly written. I think this section might benefit from clarifying which versions of FreeNAS already contain the py-libzfs package. I appreciate your help.

The documentation simply states that your target system for replication needs to be either
  • another current FreeNAS
  • another current TrueNAS
  • a completely different system as long as it has got py-libzfs installed

HTH,
Patrick
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
There's an Oxford comma, so ... ;)
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Top