Error: [EFAULT] cannot unmount '/var/db/system/netdata': pool or dataset is busy

I just installed a fresh TrueNAS (TrueNAS-backup01) to use as a backup system to pull backups from the main TrueNAS server (TrueNAS01).

Then I created the dataset, an SSH connection and a replication task.
Now I get this error when I want to run it:
“cannot unmount ‘/var/db/system/netdata’: pool or dataset is busy.”
Details:

[2025/03/27 16:57:33] INFO     [Thread-10] [zettarepl.paramiko.replication_task__task_1] Connected (version 2.0, client OpenSSH_9.2p1)
[2025/03/27 16:57:33] INFO     [Thread-10] [zettarepl.paramiko.replication_task__task_1] Authentication (publickey) successful!
[2025/03/27 16:57:35] INFO     [replication_task__task_1] [zettarepl.replication.pre_retention] Pre-retention destroying snapshots: []
[2025/03/27 16:57:35] INFO     [replication_task__task_1] [zettarepl.replication.run] For replication task 'task_1': doing pull from 'tank0/Alle' to 'truenas-backup01' of snapshot='hourly_auto-2025-03-13_17-00' incremental_base=None include_intermediate=False receive_resume_token=None encryption=False
[2025/03/27 16:57:36] ERROR    [replication_task__task_1] [zettarepl.replication.run] For task 'task_1' unhandled replication error ExecException(1, "cannot unmount '/var/db/system/netdata': pool or dataset is busy\n")
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/zettarepl/replication/run.py", line 181, in run_replication_tasks
    retry_contains_partially_complete_state(
  File "/usr/lib/python3/dist-packages/zettarepl/replication/partially_complete_state.py", line 16, in retry_contains_partially_complete_state
    return func()
... 12 more lines ...
  File "/usr/lib/python3/dist-packages/zettarepl/replication/process_runner.py", line 33, in run
    raise self.process_exception
  File "/usr/lib/python3/dist-packages/zettarepl/replication/process_runner.py", line 37, in _wait_process
    self.replication_process.wait()
  File "/usr/lib/python3/dist-packages/zettarepl/transport/ssh.py", line 167, in wait
    stdout = self.async_exec.wait()
             ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/zettarepl/transport/async_exec_tee.py", line 104, in wait
    raise ExecException(exit_event.returncode, self.output)
zettarepl.transport.interface.ExecException: cannot unmount '/var/db/system/netdata': pool or dataset is busy

Is this a local problem or a problem of the main server?

While searching for a solution I found people with similar problems, but this is a fresh system.

It looks like you’re trying to pull the entire pool. You should probably only pull relevant datasets.

AFAIK I do not pull the entire pool:
The selected dataset is one level under the tank0.

I have another backup server (truenas-backup02), running TrueNAS as well, and it has an almost identical replication job config, pulling from truenas01 - and it works.

Ok, found the solution in thread " Newbie trying to get Replication to work, got “Unable to unmount ; permission denied”

There is a ZFS limitation that the destination dataset should not be a primary/root dataset of a pool, but should be a child dataset… eg multimedia/backup … not multimedia.

my target was the root dataset. IMHO the GUI should not allow this.