SOLVED Can't replace boot pool USB drive. Exception thrown.

angelus249

Dabbler
Joined
Dec 19, 2014
Messages
41
Hi,
one of my boot pool USB drives failed. I couldn't buy the exact same type, since it's 5 years old, but I bought the succeeding model, "same" size. In fact, the new flash drive is slightly bigger, as shown in the GUI (28.64 GB [old] vs. 28.65 GB [new]).
truenas_2.png


When I try to replace the faulted drive in the System->Boot section though, I can select the proper new device da7, but after clicking "Submit" an exception is thrown and the operation is canceled. I did wipe the flash drive using the GUI. Tried both "Quick" and also he full format "Fill with Zeros". Nothing changed.
truenas_1.png

1635161524887.png

truenas_3.PNG


The "More info..." section says:
Code:
Error: Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 138, in call_method
    result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self,
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1205, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/local/lib/python3.9/site-packages/middlewared/schema.py", line 973, in nf
    return await f(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/boot.py", line 139, in replace
    await self.middleware.call('boot.format', dev, format_opts)
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1248, in call
    return await self._call(
  File "/usr/local/lib/python3.9/site-packages/middlewared/main.py", line 1205, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/local/lib/python3.9/site-packages/middlewared/schema.py", line 973, in nf
    return await f(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/middlewared/plugins/boot_/format.py", line 118, in format
    raise CallError(
middlewared.service_exception.CallError: [EFAULT] newfs_msdos -F 16 /dev/da7p1 failed:
newfs_msdos: /dev/da7p1: Operation not permitted


Anyone got an idea what to do? I'm getting itchy without a redundancy.

Cheers.

Oh, btw, I run TrueNAS 12.0 U5.1. I don't wanna run any upgrades, while just the one boot drive is installed.
1635161727876.png
 
Joined
Jan 4, 2014
Messages
1,644
An alternative approach:
  1. Back up your config.
  2. Do a fresh install of TrueNAS to new boot media.
  3. Restore your config.
  4. Mirror to a second identical stick.
As long as you haven't overwritten the original boot drive, you can always revert to using it if you get stuck at any step.
 

angelus249

Dabbler
Joined
Dec 19, 2014
Messages
41
Huh, yeah. I would've hoped to avoid that. But ofc I haven't overwritten the working/original boot drive. I'm guarding it like gold :D And I've also taken a current backup, as soon as the other drive failed.

Well, I'll wait a bit, maybe someone knows what to do. Otherwise I'll do as suggested.
 

Samuel Tai

Never underestimate your own stupidity
Moderator
Joined
Apr 24, 2020
Messages
5,399
For the new drive, try a quick wipe (which deletes the partition table), and then try the mirror process again. The newfs_msdos may have failed because it detected an existing FAT32 partition, and it was trying to add a FAT16 partition in that same partition.
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703

Samuel Tai

Never underestimate your own stupidity
Moderator
Joined
Apr 24, 2020
Messages
5,399
Then it's possible you may have a fake drive with much a smaller capacity than what it claims to have.
 

angelus249

Dabbler
Joined
Dec 19, 2014
Messages
41
But in Sig. "FreeNAS Corral 10.0" ... hahaha. :)
Oh, well, I'm too much of a user. I can't really contribute much ;) So I only come here when things are not working as they should. Apparently last time at FreeNAS Corral :D

However, I just clicked the "Detach" button of the faulty device and tried adding a new one. I still got the same error. I used to click the "use all disk space" checkbox, and the above error occurs. Now, without clicking it, I get a "proper" error message describing the problem.

Code:
Error: [EFAULT] The new device (da7, 28.65234375 GB, 60088320 blocks) does not have enough space to to hold the required new partitions (efi, 532,480 blocks, freebsd-zfs, 59,857,624 blocks, GPT partition table, 80 blocks, total of 60,390,184 blocks). New mirrored devices might require more space than existing devices due to changes in the booting procedure.

1635166683396.png


I didnt get a fake USB drive, but as described, it may take a little more space.... Annoying, cause I already bought and opened both sticks :D

Anyway, thanks for your quick responses!

Since I can't return them (and also I wouldn't want to, bigger sticks are double the cost... and 32GB is already plenty big....), I will reinstall directly on the new drives and restore the config.

Cheers.
 
Joined
Jun 2, 2019
Messages
591
Anyone got an idea what to do? I'm getting itchy without a redundancy.

The fact you are using consumer USB flash drives as your boot-pool is your first mistake.
 

angelus249

Dabbler
Joined
Dec 19, 2014
Messages
41
The fact you are using consumer USB flash drives as your boot-pool is your first mistake.
Oh well, I'm running a consumer NAS, so a consumer USB drive does just fine. And did for over 5.. almost 6 years. Never had any issues. Now one failed, one still alive, after 5 years and 9 months. 7€ each for a drive beats a fancy ssd 10 times over ;) Not to mention, they can also fail. I just recently had a Samsung pro ssd fail in my laptop. Just died from one to the other day, all data gone. And also one of my WD Reds died not long ago. Barely 3 years old.

Drives of all sorts can fail. And performance was never an issue.
 

angelus249

Dabbler
Joined
Dec 19, 2014
Messages
41
Ok, did the fresh install, selected both new usb drives right away, afterwards restored the config backup. Everything works, no errors, all vms etc. started... I'm as much impressed as I'm relieved.
1635191093000.png


Thanks again. Case closed :)
 
Top