Jill, I was recently looking for a similar solution to try and reconnect a renumbered device while the pool was live.
e.g. zpool online mypool <old target> <old target at new location> As in zpool replace but with the indication that this isn't a new device. What I have been doing to deal with the renumbering is exactly the export, import and clear. Although I have been dealing with significantly smaller devices and can't speak to the delay issues. Shawn On Dec 13, 2007, at 12:16 PM, Jill Manfield wrote: > > My customer's zfs pools and their 6540 disk array had a firmware > upgrade that changed GUIDs so we need a procedure to let the zfs > know it changed. They are getting errors as if they replaced > drives. But I need to make sure you know they have not "replaced" > any drives, and no drives have failed or are "bad". As such, they > have no interest in wiping any disks clean as indicated in 88130 > info doc. > > Some background from customer: > > We have a large 6540 disk array, on which we have configured a > series of > large RAID luns. A few days ago, Sun sent a technician to upgrade the > firmware of this array, which worked fine but which had the > deleterious > effect of changing the "Volume IDs" associated with each lun. So, the > resulting luns now appear to our solaris 10 host (under mpxio) as > disks in > /dev/rdsk with different 'target' components than they had before. > > Before the firmware upgrade we took the precaution of creating > duplicate > luns on a different 6540 disk array, and using these to mirror each > of our > zfs pools (as protection in case the firmware upgrade corrupted our > luns). > > Now, we simply want to ask zfs to find the devices under their new > targets, recognize that they are existing zpool components, and have > it > correct the configuration of each pool. This would be similar to > having > Veritas vxvm re-scan all disks with vxconfigd in the event of a > "controller renumbering" event. > > The proper zfs method for doing this, I believe, is to simply do: > > zpool export mypool > zpool import mypool > > Indeed, this has worked fine for me a few times today, and several > of our > pools are now back to their original mirrored configuration. > > Here is a specific example, for the pool "ospf". > > The zpool status after the upgrade: > > diamond:root[1105]->zpool status ospf > pool: ospf > state: DEGRADED > status: One or more devices could not be opened. Sufficient replicas > exist for > the pool to continue functioning in a degraded state. > action: Attach the missing device and online it using 'zpool online'. > see: http://www.sun.com/msg/ZFS-8000-D3 > scrub: resilver completed with 0 errors on Tue Dec 11 18:26:53 2007 > config: > > NAME STATE READ > WRITE CKSUM > ospf DEGRADED > 0 0 0 > mirror DEGRADED > 0 0 0 > c27t600A0B8000292B0200004BDC4731A7B8d0 UNAVAIL > 0 0 0 cannot open > c27t600A0B800032619A0000093747554A08d0 ONLINE > 0 0 0 > > errors: No known data errors > > This is due to the fact that the LUN which used to appear as > c27t600A0B8000292B0200004BDC4731A7B8d0 is now actually > c27t600A0B8000292B0200004D5B475E6E90d0. It's the same LUN, but > since the > firmware changed the Volume ID, the target portion is different. > > Rather than treating this as a "replaced" disk (which would incur an > entire mirror resilvering, and would require the "trick" you sent of > obliterating the disk label so the "in use" safeguard could be > avoided), > we simply want to ask zfs to re-read its configuration to find this > disk. > > So we do this: > > diamond:root[1110]->zpool export -f ospf > diamond:root[1111]->zpool import ospf > > and sure enough: > > diamond:root[1112]->zpool status ospf > pool: ospf > state: ONLINE > status: One or more devices is currently being resilvered. The pool > will > continue to function, possibly in a degraded state. > action: Wait for the resilver to complete. > scrub: resilver in progress, 0.16% done, 2h53m to go > config: > > NAME STATE READ > WRITE CKSUM > ospf ONLINE > 0 0 0 > mirror ONLINE > 0 0 0 > c27t600A0B8000292B0200004D5B475E6E90d0 ONLINE > 0 0 0 > c27t600A0B800032619A0000093747554A08d0 ONLINE > 0 0 0 > > errors: No known data errors > > (Note that it has self-initiated a resilvering, since in this case the > mirror has been changed by users since the firmware upgrade.) > > The problem that Robert had was that when he initiated an export of > a pool > (called "bgp") it froze for quite some time. The corresponding > "import" > of the same pool took 12 hours to complete. I have not been able to > replicate this myself, but that was the essence of the problem. > > So again, we do NOT want to "zero out" any of our disks, we are not > trying > to forcibly use "replaced" disks. We simply wanted zfs to re-read the > devices under /dev/rdsk and update each pool with the correct disk > targets. > > If you can confirm that a simple export/import is the proper > procedure for > this (followed by a "clear" once the resulting resilvering > finishes), I > would appreciate it. And, if you can postulate what may have caused > the > "freeze" that Robert noticed, that would put our minds at ease. > > > > TIA, > > Any assistance on this would be greatly appreciated and or pointers > on helpful documentation. > > -- > S U N M I C R O S Y S T E M S I N C. > > Jill Manfield - TSE-OS Administration Group > email: [EMAIL PROTECTED] > phone: (800)USA-4SUN (Reference your case number) > address: 1617 Southwood Drive Nashua,NH 03063 > mailstop: NSH-01- B287 > > OS Support Team 9AM to 6PM EST > Manager [EMAIL PROTECTED] x74110 > > _______________________________________________ > zfs-discuss mailing list > zfs-discuss@opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss -- Shawn Ferry shawn.ferry at sun.com Senior Primary Systems Engineer Sun Managed Operations 571.291.4898 _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss