cat-man-du
Cadet
- Joined
- Aug 15, 2021
- Messages
- 6
Hello,
So I've searched around quite a bit and haven't seen anyone else with this particular problem, so I'm posting here to see if anyone has some insight.
I have two machines, one TrueNAS Mini XL running TrueNAS 12.0-U5 and another running Proxmox 7 (Linux hypervisor). I'm trying to set up the TrueNAS machine to pull-replicate snapshots as a dedicated (non-root) user from the Proxmox machine on a schedule, but whenever I try to set up the replication task via the TrueNAS Web UI, I'm presented with an error that the zfs binary cannot be found. I've tried adding entries for
The interesting thing is that the TrueNAS UI seems to work fine if I change the SSH connection to use the root user on the Proxmox machine, but for security reasons I would much rather use a dedicated replication user. So, seeing that root appears to work, I edited the
What's frustrating is that, when I login to the Proxmox host as the replication user, the $PATH is correct and I can use zfs commands without any issue. Is anyone aware of something that might be causing such odd behavior?
Below is the exact error I get from the TrueNAS UI:
I'd appreciate any further troubleshooting ideas as well.
Cheers!
So I've searched around quite a bit and haven't seen anyone else with this particular problem, so I'm posting here to see if anyone has some insight.
I have two machines, one TrueNAS Mini XL running TrueNAS 12.0-U5 and another running Proxmox 7 (Linux hypervisor). I'm trying to set up the TrueNAS machine to pull-replicate snapshots as a dedicated (non-root) user from the Proxmox machine on a schedule, but whenever I try to set up the replication task via the TrueNAS Web UI, I'm presented with an error that the zfs binary cannot be found. I've tried adding entries for
/sbin:/usr/sbin:/usr/local/sbin
into the user's .bashrc
and .profile
scripts, but to seemingly no avail.The interesting thing is that the TrueNAS UI seems to work fine if I change the SSH connection to use the root user on the Proxmox machine, but for security reasons I would much rather use a dedicated replication user. So, seeing that root appears to work, I edited the
/etc/profile
to give the replication user the same $PATH variable as root. Still no dice.What's frustrating is that, when I login to the Proxmox host as the replication user, the $PATH is correct and I can use zfs commands without any issue. Is anyone aware of something that might be causing such odd behavior?
Below is the exact error I get from the TrueNAS UI:
Code:
Error: Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 138, in call_method result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self, File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1205, in _call return await methodobj(*prepared_call.args) File "/usr/local/lib/python3.9/site-packages/middlewared/schema.py", line 973, in nf return await f(*args, **kwargs) File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/replication.py", line 642, in list_datasets return await self.middleware.call("zettarepl.list_datasets", transport, ssh_credentials) File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1248, in call return await self._call( File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1205, in _call return await methodobj(*prepared_call.args) File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/zettarepl.py", line 409, in list_datasets datasets = await self.middleware.run_in_thread(list_datasets, shell) File "/usr/local/lib/python3.9/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.9/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.9/site-packages/zettarepl/dataset/list.py", line 13, in list_datasets return [dataset["name"] for dataset in list_datasets_with_properties(shell, dataset, recursive)] File "/usr/local/lib/python3.9/site-packages/zettarepl/dataset/list.py", line 30, in list_datasets_with_properties output = shell.exec(args) File "/usr/local/lib/python3.9/site-packages/zettarepl/transport/interface.py", line 88, in exec return self.exec_async(args, encoding, stdout).wait(timeout) File "/usr/local/lib/python3.9/site-packages/zettarepl/transport/base_ssh.py", line 54, in wait raise ExecException(exitcode, stdout) zettarepl.transport.interface.ExecException: sh: 1: zfs: not found
I'd appreciate any further troubleshooting ideas as well.
Cheers!