Based on recommendations from this list, I asked the company that built my box to use an LSI SAS3081E controller.
The first problem I noticed was that the drive-numbers were ordered incorrectly. That is, given that my system has 24 bays (6 rows, 4 bays/row), the drive numbers from top-to-bottom & left-to-right were 6, 1, 0, 2, 4, 5 - even though when the system boots, each drive is scanned in perfect order (I can tell by watching the LEDs blink). I contacted LSI tech support and they explained: <start response> SAS treats device IDs differently than SCSI. LSI SAS controllers "remember" devices in the order they were discovered by the controller. This memory is persistent across power cycles. It is based on the world wide name (WWN) given uniquely to every SAS device. This allows your boot device to remain your boot device no matter where it migrates in the SAS topology. In order to clear the memory of existing devices you need at least one device that will not be present in your final configuration. Re-boot the machine and enter the LSI configuration utility (CTRL-C). Then find your way to SAS Topology. To see "more" options, press CTRL-M. Choose the option to clear all non-present device IDs. This clears the persistent memory of all devices not present at that time. Exchange the drives. The system will now remember the order it finds the drives after the next boot cycle. <end response> Sure enough, I was able to physical reorder my drives so they were 0, 1, 2, 4, 5, 6 - so, appearantly, the company that put my system together moved the drives around after they were initially scanned. But where is 3? (answer below). Then I tried another test: 1. make first disk blink # run dd if=/dev/dsk/c2t0d0p0 of=/dev/null count=10 10+0 records in 10+0 records out 2. pull disk '0' out and replace it with a brand new disk # run dd if=/dev/dsk/c2t0d0p0 of=/dev/null count=10 dd: /dev/dsk/c2t0d0p0: open: No such file or directory 3. scratch head and try again with '3' (I had previously cleared the LSI's controllers memory) # run dd if=/dev/dsk/c2t3d0p0 of=/dev/null count=10 10+0 records in 10+0 records out So, it seems my SAS controller is being too smart for its own good - it tracks the drives themselves, not the drive-bays. If I hot-swap a brand new drive into a bay, Solaris will see it as a new disk, not a replacement for the old disk. How can ZFS support this? I asked the LSI tech support again and got: <start quote> I don't have the knowledge to answer that, so I'll just say this: most vendors, including Sun, set up the SAS HBA to use "enclosure/slot" naming, which means that if a drive is swapped, it does NOT get a new name (after all, the enclosure and slot did not change). <end quote> So, now I turn to you... Here some information about my system: Specs: Motherboard: SuperMicro H8DME-2 Rev 2.01 - BIOS: AMI v2.58 HBA: LSI SAS3081E (SN: P068170707) installed in Slot #5 - LSI Configuration Utility v6.16.00.00 (2007-05-07) Backplane: CI-Design 12-6412-01BR HBA connected to BP via two SFF-8087-SFF-8087 cables OS: SXCE b74 Details: * Chassis has 24 SAS/SATA bays * There are 6 backplanes - one for each *row* of drives * I currently have only 6 drives installed (see pic) * The LSI card is plugged into backplanes 1 & 2 * The LSI card is NOT configured to do any RAID - its only JBOD as I'm using Solaris's ZFS (software-RAID) Question: * I only plan to use SATA drives, would using a SATA controller like Supermicro's AOC-SAT2-MV8 help? Thanks again, Kent _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss