11.3 Trouble setting up replication from Debian box

Sarsi

Cadet
Joined
Dec 2, 2020
Messages
1
Hi, my main NAS runs Debian Buster, I recently came into possession of a N40L microserver and decided to use this as a backup destination using zfs replication. I chose FreeNAS mainly to run it from a usb stick.

I've followed the documentation to setup the SSH Keypair and SSH Connection, copying the public key over to my debian box. When I go to setup the replication task with the debian box as the source location and click on the folder to choose the source I get an error

ExecException
sh: 1: zfs: not found
Code:
Error: Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 130, in call_method
    io_thread=False)
  File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1084, in _call
    return await methodobj(*args)
  File "/usr/local/lib/python3.7/site-packages/middlewared/schema.py", line 961, in nf
    return await f(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/replication.py", line 702, in list_datasets
    return await self.middleware.call("zettarepl.list_datasets", transport, ssh_credentials)
  File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1141, in call
    app=app, pipes=pipes, job_on_progress_cb=job_on_progress_cb, io_thread=True,
  File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1084, in _call
    return await methodobj(*args)
  File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/zettarepl.py", line 426, in list_datasets
    datasets = await self.middleware.run_in_thread(list_datasets, shell)
  File "/usr/local/lib/python3.7/site-packages/middlewared/utils/run_in_thread.py", line 10, in run_in_thread
    return await self.loop.run_in_executor(self.run_in_thread_executor, functools.partial(method, *args, **kwargs))
  File "/usr/local/lib/python3.7/site-packages/middlewared/utils/io_thread_pool_executor.py", line 25, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.7/site-packages/zettarepl/dataset/list.py", line 12, in list_datasets
    return [dataset["name"] for dataset in list_datasets_with_properties(shell, dataset, recursive)]
  File "/usr/local/lib/python3.7/site-packages/zettarepl/dataset/list.py", line 28, in list_datasets_with_properties
    return [dict(zip(properties, line.split("\t"))) for line in filter(None, shell.exec(args).split("\n"))]
  File "/usr/local/lib/python3.7/site-packages/zettarepl/transport/interface.py", line 83, in exec
    return self.exec_async(args, encoding, stdout).wait()
  File "/usr/local/lib/python3.7/site-packages/zettarepl/transport/base_ssh.py", line 40, in wait
    raise ExecException(exitcode, stdout)
zettarepl.transport.interface.ExecException: sh: 1: zfs: not found


I suspect this may be to do with the ssh connection, if I go to the shell and ssh to the debian box using my user name I am still asked for a password. I believe I have the public key setup correctly as I've set this up correctly to ssh to the debian box from my workstation but I could have some detail wrong.

Is the freenas shell a valid way to test if the ssh connection is setup correctly or does the error message above indicate the issue is elsewhere?
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
I have seen reference to this in the case of replication between TrueNAS 12 and FreeNAS 11.3 where the location of some binaries are different.

You may be able to find that post and the equivalent location of the right binaries and ln -s to them in their actual location, but basically the intention of the replication via GUI is to be between 2 TrueNAS/FreeNAS servers, not to another type of storage box. Maybe you're looking for the upcoming TrueNAS SCALE (linux based).
 
Top