Date: Fri, 25 Mar 2011 17:21:50 -0700 From: Michael DeMan <freebsd@deman.com> To: freebsd-fs@freebsd.org Subject: tying down adaX to physical interfaces Message-ID: <AFDA19F9-DC78-463D-862D-6E4F3CB2C2C3@deman.com>
next in thread | raw e-mail | index | archive | help
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. Some appropriate sysctl info below. Thanks, - mike # sysctl -a | grep kern.disks kern.disks: ada9 ada8 ada7 ada6 ada5 ada4 ada3 ada2 ada1 ada0 da0 # sysctl -a | grep mvs dev.mvs.0.%desc: Marvell 88SX6081 SATA controller dev.mvs.0.%driver: mvs dev.mvs.0.%location: slot=3D1 function=3D0 dev.mvs.0.%pnpinfo: vendor=3D0x11ab device=3D0x6081 subvendor=3D0x11ab = subdevice=3D0x11ab class=3D0x010000 dev.mvs.0.%parent: pci1 dev.mvs.1.%desc: Marvell 88SX6081 SATA controller dev.mvs.1.%driver: mvs dev.mvs.1.%location: slot=3D3 function=3D0 dev.mvs.1.%pnpinfo: vendor=3D0x11ab device=3D0x6081 subvendor=3D0x11ab = subdevice=3D0x11ab class=3D0x010000 dev.mvs.1.%parent: pci1 dev.mvsch.0.%desc: Marvell SATA channel dev.mvsch.0.%driver: mvsch dev.mvsch.0.%location: channel=3D0 dev.mvsch.0.%parent: mvs0 dev.mvsch.1.%desc: Marvell SATA channel dev.mvsch.1.%driver: mvsch dev.mvsch.1.%location: channel=3D1 dev.mvsch.1.%parent: mvs0 dev.mvsch.2.%desc: Marvell SATA channel dev.mvsch.2.%driver: mvsch dev.mvsch.2.%location: channel=3D2 dev.mvsch.2.%parent: mvs0 dev.mvsch.3.%desc: Marvell SATA channel dev.mvsch.3.%driver: mvsch dev.mvsch.3.%location: channel=3D3 dev.mvsch.3.%parent: mvs0 dev.mvsch.4.%desc: Marvell SATA channel dev.mvsch.4.%driver: mvsch dev.mvsch.4.%location: channel=3D4 dev.mvsch.4.%parent: mvs0 dev.mvsch.5.%desc: Marvell SATA channel dev.mvsch.5.%driver: mvsch dev.mvsch.5.%location: channel=3D5 dev.mvsch.5.%parent: mvs0 dev.mvsch.6.%desc: Marvell SATA channel dev.mvsch.6.%driver: mvsch dev.mvsch.6.%location: channel=3D6 dev.mvsch.6.%parent: mvs0 dev.mvsch.7.%desc: Marvell SATA channel dev.mvsch.7.%driver: mvsch dev.mvsch.7.%location: channel=3D7 dev.mvsch.7.%parent: mvs0 dev.mvsch.8.%desc: Marvell SATA channel dev.mvsch.8.%driver: mvsch dev.mvsch.8.%location: channel=3D0 dev.mvsch.8.%parent: mvs1 dev.mvsch.9.%desc: Marvell SATA channel dev.mvsch.9.%driver: mvsch dev.mvsch.9.%location: channel=3D1 dev.mvsch.9.%parent: mvs1 dev.mvsch.10.%desc: Marvell SATA channel dev.mvsch.10.%driver: mvsch dev.mvsch.10.%location: channel=3D2 dev.mvsch.10.%parent: mvs1 dev.mvsch.11.%desc: Marvell SATA channel dev.mvsch.11.%driver: mvsch dev.mvsch.11.%location: channel=3D3 dev.mvsch.11.%parent: mvs1 dev.mvsch.12.%desc: Marvell SATA channel dev.mvsch.12.%driver: mvsch dev.mvsch.12.%location: channel=3D4 dev.mvsch.12.%parent: mvs1 dev.mvsch.13.%desc: Marvell SATA channel dev.mvsch.13.%driver: mvsch dev.mvsch.13.%location: channel=3D5 dev.mvsch.13.%parent: mvs1 dev.mvsch.14.%desc: Marvell SATA channel dev.mvsch.14.%driver: mvsch dev.mvsch.14.%location: channel=3D6 dev.mvsch.14.%parent: mvs1 dev.mvsch.15.%desc: Marvell SATA channel dev.mvsch.15.%driver: mvsch dev.mvsch.15.%location: channel=3D7 dev.mvsch.15.%parent: mvs1
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AFDA19F9-DC78-463D-862D-6E4F3CB2C2C3>