Need help removing Dedup Vdevs.

TimberDr

Cadet
Joined
Oct 6, 2020
Messages
2
I recently switched from Freenas 11.3 to Truenas Core, and noticed a they added Dedup Vdevs... I added it and now I can't remove it. Here is a copy of the error any suggestions would be appreciated.

Error: concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/zfs.py", line 226, in __zfs_vdev_operation
op(target, *args)
File "libzfs.pyx", line 382, in libzfs.ZFS.__exit__
File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/zfs.py", line 226, in __zfs_vdev_operation
op(target, *args)
File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/zfs.py", line 258, in <lambda>
self.__zfs_vdev_operation(name, label, lambda target: target.remove())
File "libzfs.pyx", line 2051, in libzfs.ZFSVdev.remove
libzfs.ZFSException: invalid config; all top-level vdevs must have the same sector size and not be raidz.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.8/concurrent/futures/process.py", line 239, in _process_worker
r = call_item.fn(*call_item.args, **call_item.kwargs)
File "/usr/local/lib/python3.8/site-packages/middlewared/worker.py", line 91, in main_worker
res = MIDDLEWARE._run(*call_args)
File "/usr/local/lib/python3.8/site-packages/middlewared/worker.py", line 45, in _run
return self._call(name, serviceobj, methodobj, args, job=job)
File "/usr/local/lib/python3.8/site-packages/middlewared/worker.py", line 39, in _call
return methodobj(*params)
File "/usr/local/lib/python3.8/site-packages/middlewared/worker.py", line 39, in _call
return methodobj(*params)
File "/usr/local/lib/python3.8/site-packages/middlewared/schema.py", line 977, in nf
return f(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/zfs.py", line 258, in remove
self.__zfs_vdev_operation(name, label, lambda target: target.remove())
File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/zfs.py", line 228, in __zfs_vdev_operation
raise CallError(str(e), e.code)
middlewared.service_exception.CallError: [EZFS_INVALCONFIG] invalid config; all top-level vdevs must have the same sector size and not be raidz.
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 137, in call_method
result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self,
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1191, in _call
return await methodobj(*prepared_call.args)
File "/usr/local/lib/python3.8/site-packages/middlewared/schema.py", line 973, in nf
return await f(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/pool.py", line 1174, in remove
await self.middleware.call('zfs.pool.remove', pool['name'], found[1]['guid'])
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1233, in call
return await self._call(
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1199, in _call
return await self._call_worker(name, *prepared_call.args)
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1205, in _call_worker
return await self.run_in_proc(main_worker, name, args, job)
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1132, in run_in_proc
return await self.run_in_executor(self.__procpool, method, *args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1106, in run_in_executor
return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
middlewared.service_exception.CallError: [EZFS_INVALCONFIG] invalid config; all top-level vdevs must have the same sector size and not be raidz.
 

jenksdrummer

Patron
Joined
Jun 7, 2011
Messages
250
Yeah...that's not really supported. Better off copying your data off and back on.

Dedupe/Special VDEVS are data VDEVS. You lose them you lose the pool. There may be a way to remove them fix it via CLI, where I can only assume that part of that is to move the data off in some fashion; so far what I've read it is considered risky and a few things have to be in play to allow that to happen with the risk being slightly less than you WILL lose your data.

Sorry, but RTFM really applies.
 

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,112
[EZFS_INVALCONFIG] invalid config; all top-level vdevs must have the same sector size and not be raidz.
This right here is the telling part. Your main data vdev(s) are RAIDZ, aren't they.

Unfortunately, vdev removal is only supported if all top-level vdevs are stripes/mirrors.
 

TimberDr

Cadet
Joined
Oct 6, 2020
Messages
2
I recently switched from Freenas 11.3 to Truenas Core, and noticed a they added Dedup Vdevs... I didn't mean to add, it and now I can't remove it. Here is a copy of the error any suggestions would be appreciated.

Error: concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/zfs.py", line 226, in __zfs_vdev_operation
op(target, *args)
File "libzfs.pyx", line 382, in libzfs.ZFS.__exit__
File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/zfs.py", line 226, in __zfs_vdev_operation
op(target, *args)
File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/zfs.py", line 258, in <lambda>
self.__zfs_vdev_operation(name, label, lambda target: target.remove())
File "libzfs.pyx", line 2051, in libzfs.ZFSVdev.remove
libzfs.ZFSException: invalid config; all top-level vdevs must have the same sector size and not be raidz.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.8/concurrent/futures/process.py", line 239, in _process_worker
r = call_item.fn(*call_item.args, **call_item.kwargs)
File "/usr/local/lib/python3.8/site-packages/middlewared/worker.py", line 91, in main_worker
res = MIDDLEWARE._run(*call_args)
File "/usr/local/lib/python3.8/site-packages/middlewared/worker.py", line 45, in _run
return self._call(name, serviceobj, methodobj, args, job=job)
File "/usr/local/lib/python3.8/site-packages/middlewared/worker.py", line 39, in _call
return methodobj(*params)
File "/usr/local/lib/python3.8/site-packages/middlewared/worker.py", line 39, in _call
return methodobj(*params)
File "/usr/local/lib/python3.8/site-packages/middlewared/schema.py", line 977, in nf
return f(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/zfs.py", line 258, in remove
self.__zfs_vdev_operation(name, label, lambda target: target.remove())
File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/zfs.py", line 228, in __zfs_vdev_operation
raise CallError(str(e), e.code)
middlewared.service_exception.CallError: [EZFS_INVALCONFIG] invalid config; all top-level vdevs must have the same sector size and not be raidz.
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 137, in call_method
result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self,
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1191, in _call
return await methodobj(*prepared_call.args)
File "/usr/local/lib/python3.8/site-packages/middlewared/schema.py", line 973, in nf
return await f(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/pool.py", line 1174, in remove
await self.middleware.call('zfs.pool.remove', pool['name'], found[1]['guid'])
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1233, in call
return await self._call(
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1199, in _call
return await self._call_worker(name, *prepared_call.args)
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1205, in _call_worker
return await self.run_in_proc(main_worker, name, args, job)
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1132, in run_in_proc
return await self.run_in_executor(self.__procpool, method, *args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1106, in run_in_executor
return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
middlewared.service_exception.CallError: [EZFS_INVALCONFIG] invalid config; all top-level vdevs must have the same sector size and not be raidz.
 
Top