Demian Phillips
2008-Jul-01 21:52 UTC
[zfs-discuss] behavior of disk identifiers and zpools.
I am using an LSI PCI-X dual port HBA, in a 2 chip opteron system. Connected to the HBA is a SUN Storagetek A1000 populated with 14 36GB disks. I have two questions that I think are related. Initially I set up 2 zpools one on each channel so the pool looked like this: share raidz2 c2t3d0 c2t4d0 c2t5d0 c2t6d0 c2t7d0 c2t8d0 raidz2 c3t9d0 c3t10d0 c3t11d0 c3t12d0 c3t13d0 c3t14d0 spares c3t15d0 AVAIL c2t2d0 AVAIL With the mpt driver and alternate pathing turned on I could sustain 100MB/s throughput into the file systems I create on it. I was learning the zpool commands and features when I unmounted the file systems and exported the pool. This worked and I ran the import according to the documentation and that worked, but it added all the disks on c2 instead of half on c2 and half on c3 like I had before. Now I am back down to 40MB/s at best throughput. Why did it do that and how can I in such a setup export and import while keeping my paths how I want them? Next question is more of a recent issue. I posted here asking about replacing the disk, but didnt really find out if I needed to do any work in the OS side. I had a disk fail and the hot spare took over. I had another disk spare in the array and I ran the replace using it (removed it first). I then spun down the bad disk and popped in a replacement. Bringing it back up I could not add the new disk into the pool (as a replacement for the spare I used for the replace) even after running the proper utils to scan the bus (and they did run and work). So I shutdown and rebooted. The system comes back up fine, and before I go to add the disk I do a zpool status and notice that after the boot the disks in the pools have re-arranged themselves. Original zpool: share raidz2 c2t3d0 c2t4d0 c2t5d0 c2t6d0 c2t7d0 c2t8d0 <----drive that failed raidz2 c2t9d0 c2t10d0 c2t11d0 c2t12d0 c2t13d0 c2t14d0 spares c2t2d0 c2t16d0 <--------I have no idea why it isn''t t15 I removed the c2t2d0 spare and ran zpool replace using c2t2d0 to replace the dead c2t8d0. I ran a scan just to be sure before I did anything and it checks out fine. After rebooting it shows up like this (before I add the spare volume back): share raidz2 c2t3d0 c2t5d0 c2t6d0 c2t7d0 c2t8d0 c2t2d0 raidz2 c2t9d0 c2t10d0 c2t11d0 c2t12d0 c2t13d0 c2t14d0 spares c2t16d0 The devices designated as c2t4d0 that was not touched during the replacement is now missing but c2t8d0 which was failed and replaced is there now. I added c2t4d0 as a spare and got no errors and ever ran 2 rescans just to be sure. Everything is working ok but I''d like to know why that happened. I feel like trying to understand the behavior of the devices is like trying to map R''lyeh. I suspect I should name the server/array Cthluthu (if that will fit on the little lcd) or maybe Hastur (nothing like seeing that name bounce around on the display). This message posted from opensolaris.org