# Drives names issues



## kkdzo (Mar 4, 2011)

Hello,

I have a Dell R610 with 2 RAID controllers, one H700 for the system and one H800 connected to a MD1200 (Disk Shelf).
The H700 is configured with 2 drives in a regular mirror.
The H800 has the 12 drives of the enclosure in a JBOD configuration for use with ZFS.
The running FreeBSD version is 8.2

The problem I'm experiencing is that the H800 is detected first therefore getting the name mfi0 and because of this the drives are named from mfid0 to mfid11
The H700 gets mfi1 and the virtual drive gets mfid12.
This lead to the following fstab:

```
/dev/mfid12s1b		none		swap	sw		0	0
/dev/mfid12s1a		/		ufs	rw		1	1
/dev/mfid12s1g		/home		ufs	rw		2	2
/dev/mfid12s1d		/tmp		ufs	rw		2	2
/dev/mfid12s1e		/usr		ufs	rw		2	2
/dev/mfid12s1f		/var		ufs	rw		2	2
```

Of course if I do any change in the drive setup of the Disk Shelf, this affects the name of the system drive.

What I would like to be able to do is assign mfid0 to the system drive so it would never change, no matter how many drives I have connected to the H800.

I tried to use device.hints to achieve this and also change the controllers' name but without success.
All I was able to do is prevent FreeBSD to use the name (controllers were then detected as mfi1 and mfi2).

Here are the relevant parts (in order) of the dmesg:

```
pcib3: <ACPI PCI-PCI bridge> at device 7.0 on pci0
pci4: <ACPI PCI bus> on pcib3
mfi0: <Dell PERC H800 Adapter> port 0xec00-0xecff mem 0xde9bc000-0xde9bffff,0xde9c0000-0xde9fffff irq 38 at device 0.0 on pci4
mfi0: Megaraid SAS driver Ver 3.00 
mfi0: 2312 (352543357s/0x0020/info) - Shutdown command received from host
mfi0: 2313 (boot + 33s/0x0020/info) - Firmware initialization started (PCI ID 0079/1000/1f15/1028)
mfi0: 2314 (boot + 33s/0x0020/info) - Firmware version 2.100.03-1046
mfi0: 2315 (boot + 35s/0x0008/info) - Battery Present
mfi0: 2316 (boot + 35s/0x0020/info) - Package version 12.10.0-0025
mfi0: 2317 (boot + 35s/0x0020/info) - Board Revision A00
mfi0: 2318 (boot + 59s/0x0004/info) - Enclosure (SES) discovered on PD 19(c 01/p0)
mfi0: 2319 (boot + 59s/0x0004/info) - Enclosure PD 19(c 01/p0) communication restored
mfi0: 2320 (boot + 59s/0x0004/info) - Enclosure PD 19(c 01/p0) fan 1 speed changed
mfi0: 2321 (boot + 59s/0x0004/info) - Enclosure PD 19(c 01/p0) fan 2 speed changed
mfi0: 2322 (boot + 59s/0x0004/info) - Enclosure PD 19(c 01/p0) fan 3 speed changed
mfi0: 2323 (boot + 59s/0x0004/info) - Enclosure PD 19(c 01/p0) fan 4 speed changed
mfi0: 2324 (boot + 59s/0x0002/info) - Inserted: Encl PD 19
mfi0: 2325 (boot + 59s/0x0002/info) - Inserted: PD 19(c 01/p0) Info: enclPd=19, scsiType=d, portMap=10, sasAddr=500c04f2e05d9abd,500c04f2e05d9a3d
mfi0: 2326 (boot + 59s/0x0002/info) - Inserted: PD 0d(e0x19/s2)
mfi0: 2327 (boot + 59s/0x0002/info) - Inserted: PD 0d(e0x19/s2) Info: enclPd=19, scsiType=0, portMap=10, sasAddr=5000c50025a38ffe,5000c50025a38ffd
mfi0: 2328 (boot + 59s/0x0002/info) - Inserted: PD 0e(e0x19/s5)
mfi0: 2329 (boot + 59s/0x0002/info) - Inserted: PD 0e(e0x19/s5) Info: enclPd=19, scsiType=0, portMap=10, sasAddr=5000c50025a2402a,5000c50025a24029
mfi0: 2330 (boot + 59s/0x0002/info) - Inserted: PD 0f(e0x19/s4)
mfi0: 2331 (boot + 59s/0x0002/info) - Inserted: PD 0f(e0x19/s4) Info: enclPd=19, scsiType=0, portMap=10, sasAddr=5000c50025a5c74a,5000c50025a5c749
mfi0: 2332 (boot + 59s/0x0002/info) - Inserted: PD 10(e0x19/s3)
mfi0: 2333 (boot + 59s/0x0002/info) - Inserted: PD 10(e0x19/s3) Info: enclPd=19, scsiType=0, portMap=10, sasAddr=5000c50025a25bf2,5000c50025a25bf1
mfi0: 2334 (boot + 59s/0x0002/info) - Inserted: PD 11(e0x19/s8)
mfi0: 2335 (boot + 59s/0x0002/info) - Inserted: PD 11(e0x19/s8) Info: enclPd=19, scsiType=0, portMap=10, sasAddr=5000c50025a2948a,5000c50025a29489
mfi0: 2336 (boot + 59s/0x0002/info) - Inserted: PD 12(e0x19/s7)
mfi0: 2337 (boot + 59s/0x0002/info) - Inserted: PD 12(e0x19/s7) Info: enclPd=19, scsiType=0, portMap=10, sasAddr=5000c50025a5be52,5000c50025a5be51
mfi0: 2338 (boot + 59s/0x0002/info) - Inserted: PD 13(e0x19/s6)
mfi0: 2339 (boot + 59s/0x0002/info) - Inserted: PD 13(e0x19/s6) Info: enclPd=19, scsiType=0, portMap=10, sasAddr=5000c50025a2af6a,5000c50025a2af69
mfi0: 2340 (boot + 59s/0x0002/info) - Inserted: PD 14(e0x19/s9)
mfi0: 2341 (boot + 59s/0x0002/info) - Inserted: PD 14(e0x19/s9) Info: enclPd=19, scsiType=0, portMap=10, sasAddr=5000c50025a38eca,5000c50025a38ec9
mfi0: 2342 (boot + 59s/0x0002/info) - Inserted: PD 15(e0x19/s1)
mfi0: 2343 (boot + 59s/0x0002/info) - Inserted: PD 15(e0x19/s1) Info: enclPd=19, scsiType=0, portMap=10, sasAddr=5000c50025a4a39a,5000c50025a4a399
mfi0: 2344 (boot + 59s/0x0002/info) - Inserted: PD 16(e0x19/s0)
mfi0: 2345 (boot + 59s/0x0002/info) - Inserted: PD 16(e0x19/s0) Info: enclPd=19, scsiType=0, portMap=10, sasAddr=5000c50025a5c3e2,5000c50025a5c3e1
mfi0: 2346 (boot + 59s/0x0002/info) - Inserted: PD 17(e0x19/s10)
mfi0: 2347 (boot + 59s/0x0002/info) - Inserted: PD 17(e0x19/s10) Info: enclPd=19, scsiType=0, portMap=10, sasAddr=5000c50025a27c52,5000c50025a27c51
mfi0: 2348 (boot + 59s/0x0002/info) - Inserted: PD 18(e0x19/s11)
mfi0: 2349 (boot + 59s/0x0002/info) - Inserted: PD 18(e0x19/s11) Info: enclPd=19, scsiType=0, portMap=10, sasAddr=5000c50025a2540a,5000c50025a25409
mfi0: 2350 (boot + 59s/0x0002/info) - Unexpected sense: PD 0e(e0x19/s5) Path 5000c50025a24029, CDB: 28 00 e8 e0 88 af 00 00 01 00, Sense: 6/2a/01
mfi0: 2351 (boot + 59s/0x0002/info) - Unexpected sense: PD 10(e0x19/s3) Path 5000c50025a25bf1, CDB: 28 00 e8 e0 88 af 00 00 01 00, Sense: 6/2a/01
mfi0: 2352 (boot + 59s/0x0002/info) - Unexpected sense: PD 12(e0x19/s7) Path 5000c50025a5be51, CDB: 28 00 e8 e0 88 af 00 00 01 00, Sense: 6/2a/01
mfi0: 2353 (boot + 59s/0x0002/info) - Unexpected sense: PD 14(e0x19/s9) Path 5000c50025a38ec9, CDB: 28 00 e8 e0 88 af 00 00 01 00, Sense: 6/2a/01
mfi0: 2354 (boot + 59s/0x0002/info) - Unexpected sense: PD 16(e0x19/s0) Path 5000c50025a5c3e1, CDB: 28 00 e8 e0 88 af 00 00 01 00, Sense: 6/2a/01
mfi0: 2355 (boot + 59s/0x0002/info) - Unexpected sense: PD 18(e0x19/s11) Path 5000c50025a25409, CDB: 28 00 e8 e0 88 af 00 00 01 00, Sense: 6/2a/01
mfi0: 2356 (352543450s/0x0020/info) - Time established as 03/04/11  8:44:10; (63 seconds since power on)
mfi0: 2357 (352543487s/0x0008/info) - Battery temperature is normal
mfi0: [ITHREAD]
```
snip

```
pcib8: <ACPI PCI-PCI bridge> at device 28.0 on pci0
pci3: <ACPI PCI bus> on pcib8
mfi1: <Dell PERC H700 Integrated> port 0xfc00-0xfcff mem 0xdeabc000-0xdeabffff,0xdeac0000-0xdeafffff irq 16 at device 0.0 on pci3
mfi1: Megaraid SAS driver Ver 3.00 
mfi1: 538 (352543357s/0x0020/info) - Shutdown command received from host
mfi1: 539 (boot + 33s/0x0020/info) - Firmware initialization started (PCI ID 0079/1000/1f17/1028)
mfi1: 540 (boot + 33s/0x0020/info) - Firmware version 2.100.03-1046
mfi1: 541 (boot + 35s/0x0008/info) - Battery Present
mfi1: 542 (boot + 35s/0x0020/info) - Package version 12.10.0-0025
mfi1: 543 (boot + 35s/0x0020/info) - Board Revision A00
mfi1: 544 (boot + 61s/0x0004/info) - Enclosure PD 20(c None/p0) communication restored
mfi1: 545 (boot + 61s/0x0002/info) - Inserted: Encl PD 20
mfi1: 546 (boot + 61s/0x0002/info) - Inserted: PD 20(c None/p0) Info: enclPd=20, scsiType=d, portMap=00, sasAddr=5942b0b06f94dd00,0000000000000000
mfi1: 547 (boot + 61s/0x0002/info) - Inserted: PD 00(e0x20/s0)
mfi1: 548 (boot + 61s/0x0002/info) - Inserted: PD 00(e0x20/s0) Info: enclPd=20, scsiType=0, portMap=01, sasAddr=5000c5002c32105d,0000000000000000
mfi1: 549 (boot + 61s/0x0002/info) - Inserted: PD 01(e0x20/s1)
mfi1: 550 (boot + 61s/0x0002/info) - Inserted: PD 01(e0x20/s1) Info: enclPd=20, scsiType=0, portMap=00, sasAddr=5000c5002c322529,0000000000000000
mfi1: 551 (352543449s/0x0020/info) - Time established as 03/04/11  8:44:09; (63 seconds since power on)
mfi1: 552 (352543461s/0x0020/info) - Time established as 03/04/11  8:44:21; (76 seconds since power on)
mfi1: 553 (352543485s/0x0008/info) - Battery temperature is normal
mfi1: 554 (352543485s/0x0008/info) - Battery started charging
mfi1: [ITHREAD]
```
snip

```
mfi0: 2358 (352543487s/0x0008/info) - Current capacity of the battery is above threshold
mfi1: 555 (352543485s/0x0008/info) - Current capacity of the battery is above threshold
mfi1: 556 (352543550s/0x0008/info) - Battery charge complete
mfid0: <MFI Logical Disk> on mfi0
mfid0: 1907200MB (3905945600 sectors) RAID volume '' is optimal
mfid1: <MFI Logical Disk> on mfi0
mfid1: 1907200MB (3905945600 sectors) RAID volume '' is optimal
mfid2: <MFI Logical Disk> on mfi0
mfid2: 1907200MB (3905945600 sectors) RAID volume '' is optimal
mfid3: <MFI Logical Disk> on mfi0
mfid3: 1907200MB (3905945600 sectors) RAID volume '' is optimal
mfid4: <MFI Logical Disk> on mfi0
mfid4: 1907200MB (3905945600 sectors) RAID volume '' is optimal
mfid5: <MFI Logical Disk> on mfi0
mfid5: 1907200MB (3905945600 sectors) RAID volume '' is optimal
mfid6: <MFI Logical Disk> on mfi0
mfid6: 1907200MB (3905945600 sectors) RAID volume '' is optimal
mfid7: <MFI Logical Disk> on mfi0
mfid7: 1907200MB (3905945600 sectors) RAID volume '' is optimal
mfid8: <MFI Logical Disk> on mfi0
mfid8: 1907200MB (3905945600 sectors) RAID volume '' is optimal
mfid9: <MFI Logical Disk> on mfi0
mfid9: 1907200MB (3905945600 sectors) RAID volume '' is optimal
mfid10: <MFI Logical Disk> on mfi0
mfid10: 1907200MB (3905945600 sectors) RAID volume '' is optimal
mfid11: <MFI Logical Disk> on mfi0
mfid11: 1907200MB (3905945600 sectors) RAID volume '' is optimal
mfid12: <MFI Logical Disk> on mfi1
mfid12: 571776MB (1170997248 sectors) RAID volume '' is optimal
```

I attached the trimmed output of _devinfo -rv_.

Thanks in advance

KKDZO


----------



## phoenix (Mar 4, 2011)

You have described the perfect use case for glabel(8).


----------



## kkdzo (Mar 4, 2011)

Yep, that did it.

For some reason I was thinking only of the "manual" mode.

I pretty much followed http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/geom-glabel.html 

my fstab is now:

```
/dev/label/swap         none            swap    sw              0       0
/dev/label/rootfs               /               ufs     rw              1       1
/dev/label/home         /home           ufs     rw              2       2
/dev/label/tmp          /tmp            ufs     rw              2       2
/dev/label/usr          /usr            ufs     rw              2       2
/dev/label/var          /var            ufs     rw              2       2
```
Thanks a lot


----------

