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
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.
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.