Encrypted Pool Decrypting Issue, Unlocking with password works, but recovery key doesn't

Turtle3000

Cadet
Joined
Aug 4, 2018
Messages
7
Thankfully everything is backed up and I am still able to decrypt using the gelikey/password. However, I'd like to be able to use a recovery key as well.

My issue seems to be similar to the thread below but they differ when the pool and key don't match whats in the geli folder and the freenas db.
https://www.ixsystems.com/community...rror-decrypting-pool-freenas-11_3-beta.81846/

I tried resetting the key but the issue is still there.

Error Output:
FAILED
[EFAULT] Pool could not be imported: 6 devices failed to decrypt.
Error: concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/local/lib/python3.7/concurrent/futures/process.py", line 239, in _process_worker
r = call_item.fn(*call_item.args, **call_item.kwargs)
File "/usr/local/lib/python3.7/site-packages/middlewared/worker.py", line 97, in main_worker
res = loop.run_until_complete(coro)
File "/usr/local/lib/python3.7/asyncio/base_events.py", line 587, in run_until_complete
return future.result()
File "/usr/local/lib/python3.7/site-packages/middlewared/worker.py", line 53, in _run
return await self._call(name, serviceobj, methodobj, params=args, job=job)
File "/usr/local/lib/python3.7/site-packages/middlewared/worker.py", line 45, in _call
return methodobj(*params)
File "/usr/local/lib/python3.7/site-packages/middlewared/worker.py", line 45, in _call
return methodobj(*params)
File "/usr/local/lib/python3.7/site-packages/middlewared/schema.py", line 965, in nf
return f(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/zfs.py", line 390, in import_pool
'Failed to mount datasets after importing "%s" pool: %s', name_or_guid, str(e), exc_info=True
File "libzfs.pyx", line 369, in libzfs.ZFS.__exit__
File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/zfs.py", line 380, in import_pool
raise CallError(f'Pool {name_or_guid} not found.', errno.ENOENT)
middlewared.service_exception.CallError: [ENOENT] Pool 2466892573445403603 not found.
"""

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

Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/pool.py", line 1667, in unlock
'cachefile': ZPOOL_CACHE_FILE,
File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1141, in call
app=app, pipes=pipes, job_on_progress_cb=job_on_progress_cb, io_thread=True,
File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1081, in _call
return await self._call_worker(name, *args)
File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1101, in _call_worker
return await self.run_in_proc(main_worker, name, args, job)
File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1036, in run_in_proc
return await self.run_in_executor(self.__procpool, method, *args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1010, in run_in_executor
return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
middlewared.service_exception.CallError: [ENOENT] Pool 2466892573445403603 not found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/middlewared/job.py", line 349, in run
await self.future
File "/usr/local/lib/python3.7/site-packages/middlewared/job.py", line 385, in __run_body
rv = await self.method(*([self] + args))
File "/usr/local/lib/python3.7/site-packages/middlewared/schema.py", line 961, in nf
return await f(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/pool.py", line 1679, in unlock
raise CallError(msg)
middlewared.service_exception.CallError: [EFAULT] Pool could not be imported: 6 devices failed to decrypt.

Output of ls /data/geli
83e3e3ba-7be7-4a08-aa4f-eb01a20872fe.key
Output of sqlite3 /data/freenas-v1.db 'select * from storage_volume;'
1|Z-Backup|2466892573445403603|2|83e3e3ba-7be7-4a08-aa4f-eb01a20872fe

The following line in the error output matches a string inside the db but it's almost as if the UI is expecting the pool to be visible before it's actually decrypted. Zpool list only shows my boot pool.
middlewared.service_exception.CallError: [ENOENT] Pool 2466892573445403603 not found.

I am way outside of my understanding of the interworkings freenas/truenas. So any help is appreciated.
 

Turtle3000

Cadet
Joined
Aug 4, 2018
Messages
7
As an update to this issue.

I did a clean install of Freenas 13-U5 and did a configuration upload but the issue still occurs. I am starting to think that my Freenas DB is corrupted.
 

Turtle3000

Cadet
Joined
Aug 4, 2018
Messages
7
Figured it out. I shot myself in the foot because I completely missed that I was using the encryption key instead of the recovery key. I kept downloading the encryption key and trying to use that instead of the recovery key. Should've went straight to the documentation. Oh well, lesson learned.
 
Top