tying down adaX to physical interfaces

Kostik Belousov kostikbel at gmail.com
Sat Mar 26 00:38:29 UTC 2011


On Fri, Mar 25, 2011 at 05:21:50PM -0700, Michael DeMan wrote:
> Hi All,
> 
> I seem to recall that there is a way to do this, but can no longer google it.
> 
> Basically, for NCQ support with SATA devices we are using the 'ada' driver, which of course has SCSI like behavior.
> 
> With two 8-port disk controllers in the system, we end up in the uncomfortable situation where if the box is rebooted with an 'earlier' drive in the list, the system boots up with different drives mapped to adaX.  This becomes more of a problem with multiple drive controllers and not all the ports populated with drives at the start (i.e, add more drives later).
> 
> In our case, we have two Marvell controllers, and are doing ZFS mirroring with drives off each controller.
> 
> We end up with mvsch.0 through mvsch.15 showing up (16 controller interfaces), but with only 10 drives right now, we end up with ada0 through ada9.  If we lose a drive and reboot, then we end up with the upper ones each being ada(X-1), etc.  If we add more drives, the situation becomes even more confusing.
> 
> Is there a way to force at boot time a mapping from the mvsch interface to the specific ada disk that the operating system sees?  Pretty sure I saw something about this last summer but can't seem to find it now.
> 
> What we would like to have, with 10 disks, is them showing up as:
> ada0, ada1, ada2, ada3, ada4
> ada8, ada9, ada10, ada11, ada12
> 
> If we add another pair of disks in the future, we would know where to physically insert them for ada5 and ada13, etc.

I use the following stanza in /boot/device.hints for machine with intel
on-board ahci and siis in pcie:
hint.scbus.0.at="ahcich0"
hint.ada.0.at="scbus0"
hint.scbus.1.at="ahcich1"
hint.ada.1.at="scbus1"
hint.scbus.2.at="ahcich2"
hint.ada.2.at="scbus2"
hint.scbus.3.at="ahcich3"
hint.ada.3.at="scbus3"
hint.scbus.4.at="ahcich4"
hint.ada.4.at="scbus4"
hint.scbus.5.at="siisch0"
hint.ada.5.at="scbus5"
hint.scbus.6.at="siisch1"
hint.ada.6.at="scbus6"

You should get an idea from this.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20110326/0086cc3e/attachment.pgp


More information about the freebsd-fs mailing list