eSATA Drive Naming Sequence

Hello,

I have an external eSATA drive that I formatted ZFS when it was named ada3. I have ZFS root on ada0 and a mirror on ada1 and ada2. When I rebooted, the eSATA drive became ada0, zroot is now ada1 and the mirrors are ada2 and ada3. I saw complaints of invalid boot directory during the boot process, but it did boot just fine.

Is this going to cause issues? Should I rename the boot drive? I assume that boot order is set in the BIOS, but I'm not certain.

Thanks in advance for any suggestions.

aric
 
Go into the BIOS, with the eSATA drive plugged in, and then change the order of devices to put external after internal.
 
Oddly enough, that did not work.

The BIOS appears to be set correctly, with OPTIC, then the boot harddrive. The order for the drives looks correct as well, with the boot drive first, then the zpool, then the new eSata external. Yet, upon rebooting the eSata is still the first labeled drive.
 
Changing the BIOS boot order does not change the way FreeBSD sees the devices. The way to make drives relocatable is to use filesystem or GEOM labels. See glabel(8). ZFS may have its own methods to do that.
 
Back again with the same issue after using glabel to create the eSATA drive again for ada3. Still though, the eSATA drive is 'read' first by FreeBSD, then the raided non-boot drive then the boot drive. The problem as well, is that I cannot import the zpool on the eSATA drive because it cannot be found if started after FreeBSD boots.

Any ideas as to why the eSATA drive does not retain it's label given with glabel? Thanks in advance for any suggestions.
 
If the BIOS is set to boot from the correct drive, that's all there is to do. Changing the BIOS boot order or using labels on the drive does not change the order that the drives are connected to the controller. There's probably a way to set the boot filesystem with ZFS, but I have not done that.

It's not clear what you mean about the label not being retained. Don't add a label to a drive that already has data on it unless you left empty space at the end of that drive. And then refer to the device by the label, not the device name. For example, this puts a label on ada0 using the last block, and creates a new device called mydisk:
Code:
# glabel label mydisk ada0
After doing that, use /dev/label/mydisk to refer to the device. If you use ada0 and the last block is overwritten, the label will be erased.
 
Well, I don't know. Probably some hardware issue. The disk causes problems with booting, likely because of a zroot backup issue on it that until now I was not able to investigate, and starting the disk up after boot did nothing (that is, I could not find it). For some reason, starting it up after booting and then unplugging and plugging back in the eSATA cable allows it to be found in the proper place, ada3. I can then online the zpool. Odd I think.

Thanks,
 
Back
Top