So I have a new TrueNAS SCALE system (see specs in sig) it's running the release version.
I initially set it up with a test pool ("Test_Volume") just a single disk vdev with a single 500GB Samsung 970 EVO M.2 drive for testing some things.
well now that testing is complete, and I've installed 2x 1.6TB Intel DC drives in new pool (single mirrored vdev) to replace it. I replicated all zvols and data sets over to the new pool, and deleted all datasets and zvols from the Test_Volume pool.
I wanted to delete this pool, so in the GUI i clicked the Pool operations icon for the pool, selected "Export/Disconnect" but TrueNAS throws an error that the pool is "busy".
any tips?
I initially set it up with a test pool ("Test_Volume") just a single disk vdev with a single 500GB Samsung 970 EVO M.2 drive for testing some things.
well now that testing is complete, and I've installed 2x 1.6TB Intel DC drives in new pool (single mirrored vdev) to replace it. I replicated all zvols and data sets over to the new pool, and deleted all datasets and zvols from the Test_Volume pool.
I wanted to delete this pool, so in the GUI i clicked the Pool operations icon for the pool, selected "Export/Disconnect" but TrueNAS throws an error that the pool is "busy".
any tips?
Code:
Error: concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/middlewared/plugins/zfs.py", line 149, in do_delete
zfs.destroy(name, force=options['force'])
File "libzfs.pyx", line 404, in libzfs.ZFS.__exit__
File "/usr/lib/python3/dist-packages/middlewared/plugins/zfs.py", line 149, in do_delete
zfs.destroy(name, force=options['force'])
File "libzfs.pyx", line 1388, in libzfs.ZFS.destroy
libzfs.ZFSException: pool or dataset is busy
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.9/concurrent/futures/process.py", line 243, in _process_worker
r = call_item.fn(*call_item.args, **call_item.kwargs)
File "/usr/lib/python3/dist-packages/middlewared/worker.py", line 114, in main_worker
res = MIDDLEWARE._run(*call_args)
File "/usr/lib/python3/dist-packages/middlewared/worker.py", line 45, in _run
return self._call(name, serviceobj, methodobj, args, job=job)
File "/usr/lib/python3/dist-packages/middlewared/worker.py", line 39, in _call
return methodobj(*params)
File "/usr/lib/python3/dist-packages/middlewared/worker.py", line 39, in _call
return methodobj(*params)
File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1135, in nf
res = f(*args, **kwargs)
File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1265, in nf
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/middlewared/plugins/zfs.py", line 154, in do_delete
raise CallError(str(e), errno_)
middlewared.service_exception.CallError: [EFAULT] pool or dataset is busy
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/middlewared/job.py", line 423, in run
await self.future
File "/usr/lib/python3/dist-packages/middlewared/job.py", line 459, in __run_body
rv = await self.method(*([self] + args))
File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1261, in nf
return await func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1129, in nf
res = await f(*args, **kwargs)
File "/usr/lib/python3/dist-packages/middlewared/plugins/pool.py", line 1574, in export
await self.middleware.call('zfs.pool.delete', pool['name'])
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1318, in call
return await self._call(
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1275, in _call
return await methodobj(*prepared_call.args)
File "/usr/lib/python3/dist-packages/middlewared/service.py", line 929, in delete
rv = await self.middleware._call(
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1283, in _call
return await self._call_worker(name, *prepared_call.args)
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1289, in _call_worker
return await self.run_in_proc(main_worker, name, args, job)
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1212, in run_in_proc
return await self.run_in_executor(self.__procpool, method, *args, **kwargs)
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1186, in run_in_executor
return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
middlewared.service_exception.CallError: [EFAULT] pool or dataset is busy