SOLVED Replace failed drive leads to failures

Gen8 Runner

Contributor
Joined
Aug 5, 2015
Messages
103
Hello everyone,
one of my drives failed. So i ordered a new disk, insert it to the former place and started the process of resilvering.

1. Pools -> Status -> Selected the drive and chose "Replace". Inserted two times the encryption key and chose "Force"
Failure Message: "UNIQUE constraint failed: storage_encrypteddisk.encrypted_provider"

2. I wanted to follow the guidelines, for rekey the pool. Following short manual i wanted to use:

1. Encryption Rekey
2. Create Passphrase
3. Download Encrypt Key
4. Add Recovery Key

But in FreeNAS FreeNAS-11.3-U1 doesn't exist some options anymore, for example i can't see "Encryption Rekey" anymore.

When i choose the lock-symbol and do "Encryption key / Passphrase", i need to enter the admin password and the current password for the pool.
But then comes the failure "[EFAULT] Unable to delete key 1 on gptid/e152c418-8cbe-11e9-952b-000c298f5f15: geli: Cannot open gptid/e152c418-8cbe-11e9-952b-000c298f5f15: No such file or directory. "

and

Code:
Error: Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 130, in call_method
    io_thread=False)
  File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1077, in _call
    return await methodobj(*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 1412, in passphrase
    await self.middleware.call('disk.geli_passphrase', pool, options['passphrase'], True)
  File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1127, 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 1091, in _call
    return await run_method(methodobj, *args)
  File "/usr/local/lib/python3.7/site-packages/middlewared/utils/run_in_thread.py", line 10, in run_in_thread
    return await self.loop.run_in_executor(self.run_in_thread_executor, functools.partial(method, *args, **kwargs))
  File "/usr/local/lib/python3.7/site-packages/middlewared/utils/io_thread_pool_executor.py", line 25, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/disk.py", line 458, in geli_passphrase
    self.geli_delkey(dev, GELI_RECOVERY_SLOT, force=True)
  File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/disk.py", line 430, in geli_delkey
    raise CallError(f'Unable to delete key {slot} on {dev}: {cp.stderr.decode()}')
middlewared.service_exception.CallError: [EFAULT] Unable to delete key 1 on gptid/e152c418-8cbe-11e9-952b-000c298f5f15: geli: Cannot open gptid/e152c418-8cbe-11e9-952b-000c298f5f15: No such file or directory



The last time it worked really smooth, but this time not really. What to do next?

Update:
I just checked the gptid of the former HDD, which failed and it was e152c418-8cbe-11e9-952b-000c298f5f15. So, looks to me, like FreeNAS is trying to delete the recovery key also on this drive, but obviously, can't find it (because it is dead & removed).
Any ideas about the other questions? Especially about the four points to do (Encryption Rekey, Create Passphrase, Add recover key etc.)?

Brgds
Gen8 Runner
 
Last edited:

Gen8 Runner

Contributor
Joined
Aug 5, 2015
Messages
103
Okay everyone,
it worked. Resilvering finished, then i used "Encryption Key/Passphrase" -> entered admin pwd -> entered passphrase for the pool and chose "Change passphrase". After that entered admin pwd -> "Download Encryption key".

As last job "Recovery key" -> admin pwd "Add recovery key".

On this way i got it working without failure message. So it is a bug, need to check if I still have my login data for the Bug-Tracker. That can make you sweating all night, if you don't know, if the resilvering now worked with the encryption or not.

Edit:
JIRA Ticket is opened (NAS-105605).
 
Last edited:
Top