Error 2090 is not a valid Error when reimporting a pool

pucspifo

Cadet
Joined
May 25, 2018
Messages
2
Systems Details:
TrueNAS version: TrueNAS-13.0-U4
CPU: AMD Ryzen 3 2200G
RAM: 32GB non-ECC
Motherboard: Gigabyte AB350M-Gaming
Disks: 2 WD Red 10TB in RAIDZ1; 2 Seagate IronWolf 20TB being added to pool

The story: I had what appeared to be a hard drive failure. I pulled the bad drive, swapped in 2 new drives (the two 20 TB drives). Boot up and there is only 1 drive of the original pool showing. No problem, bumped a cable or the like, so I reseated everything, same issue. I pulled out the new drives, same issue. I then decided to export and reimport the pool. This is where I screwed up and accidentally removed the pool config. After more testing, determined that the failure is actually a dead USB port on the motherboard. Got all the hardware issues sorted out, and then attempted to reimport my pool. I now get

Code:
2090 is not a valid Error:

Error: concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/concurrent/futures/process.py", line 246, in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
  File "/usr/local/lib/python3.9/site-packages/middlewared/worker.py", line 111, in main_worker
    res = MIDDLEWARE._run(*call_args)
  File "/usr/local/lib/python3.9/site-packages/middlewared/worker.py", line 45, in _run
    return self._call(name, serviceobj, methodobj, args, job=job)
  File "/usr/local/lib/python3.9/site-packages/middlewared/worker.py", line 39, in _call
    return methodobj(*params)
  File "/usr/local/lib/python3.9/site-packages/middlewared/worker.py", line 39, in _call
    return methodobj(*params)
  File "/usr/local/lib/python3.9/site-packages/middlewared/schema.py", line 979, in nf
    return f(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/zfs.py", line 352, in import_pool
    self.logger.error(
  File "libzfs.pyx", line 402, in libzfs.ZFS.__exit__
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/zfs.py", line 346, in import_pool
    zfs.import_pool(found, new_name or found.name, options, any_host=any_host)
  File "libzfs.pyx", line 1175, in libzfs.ZFS.import_pool
  File "libzfs.pyx", line 1203, in libzfs.ZFS.__import_pool
  File "libzfs.pyx", line 496, in libzfs.ZFS.get_error
  File "/usr/local/lib/python3.9/enum.py", line 384, in __call__
    return cls.__new__(cls, value)
  File "/usr/local/lib/python3.9/enum.py", line 702, in __new__
    raise ve_exc
ValueError: 2090 is not a valid Error
"""

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

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/middlewared/job.py", line 355, in run
    await self.future
  File "/usr/local/lib/python3.9/site-packages/middlewared/job.py", line 391, in __run_body
    rv = await self.method(*([self] + args))
  File "/usr/local/lib/python3.9/site-packages/middlewared/schema.py", line 975, in nf
    return await f(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/pool.py", line 1452, in import_pool
    await self.middleware.call('zfs.pool.import_pool', pool['guid'], {
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1279, in call
    return await self._call(
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1244, in _call
    return await self._call_worker(name, *prepared_call.args)
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1250, in _call_worker
    return await self.run_in_proc(main_worker, name, args, job)
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1169, in run_in_proc
    return await self.run_in_executor(self.__procpool, method, *args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1152, in run_in_executor
    return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
ValueError: 2090 is not a valid Error


Code:
zpool list
NAME        SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
Storage    16.4T  1.62T  14.7T        -         -     0%     9%  1.00x    ONLINE  /mnt
boot-pool   102G  1.43G   101G        -         -     0%     1%  1.00x    ONLINE  -


I'm not sure what to do from here. I could create a new pool, but I don't know if my data is compromised, and would really like to retain it if possible. I'm not sure if I can create a pool with the new drives, move my data from the old drives over, and then expand the pool with the old drives. etc.
 

GateArray

Cadet
Joined
Aug 13, 2017
Messages
1
Ciao

I got the same problem.

Use the command from the shell:

zpool import POOLNAME

the first result was:


root@truenas[~]# zpool import POOLNAME
cannot import 'POOLNAME': insufficient replicas
Recovery is possible, but will result in some data loss.
Returning the pool to its state as of Zzz Yyy XX XX:31:08 2023
should correct the problem. Approximately 5 seconds of data
must be discarded, irreversibly. Recovery can be attempted
by executing 'zpool import -F POOLNAME'. A scrub of the pool
is strongly recommended after recovery.

I forced the "-F" switch and the data was recovered and the pool added to the system
 
Top