NAS w/ multipath
Tom Samplonius
tom at uniserve.com
Tue Feb 14 10:40:20 PST 2006
On Tue, 14 Feb 2006, Gary Palmer wrote:
> On Tue, Feb 07, 2006 at 12:22:33PM -0800, Tom Samplonius wrote:
>> Now, in FreeBSD you could also multipath in the GEOM layer. GEOM knows
>> about devices going away, and knows how to handle that (ex. gmirror).
>> There is some support in GEOM for round-robin IO to two devices. However,
>> phk has reported that the isp driver can hang forever on some timeouts, so
>> it might not be useful. And I don't even know if GEOM round-robin is even
>> finished.
>
> Be very careful with that kind of work. There are SAN units out there
> that do not share caches across multiple controllers. To work around that
> limitation, they have one controller than can "own" the LUN at any one
> time, to ensure data consistency. So if you write to a LUN through the
> controller which does not "own" the LUN, it actually transfers "ownership"
> of the LUN to the controller you sent the request through. In at least
Yes, trespass support. Some controllers support auto-trespassing, but if the
controllers do not have cache consistancy, you should probably make sure
auto-trespass is disabled. In manual trespassing, a specific SCSI command needs
to be sent to activate the dormant LUN, which is generally vendor specific.
> one implimentation, the LUN vanishes from both controllers for a period
> measured in seconds while management of the LUN is handed off from one
> controller to the other. The vendor worked around this with special
> drivers that lived on the OS, which wasn't an option for us as they
> didn't have FreeBSD support.
Yes, there are a lot of patches on the net to hack in various kinds of
trespass support into Linux for various types of boxes.
> I suspect higher end devices (e.g. HDS and EMC Symmetrix units) this
> isn't a problem, but in mid range and lower end stuff I'd expect problems
> if the paths landed on separate controllers on the array.
I don't think this is a problem with current mid-range stuff. A mirrored
write cache is considered a basic feature. Not only does a mirrored write cache
protect against controller cache consistancy, it also protects losing the
contents of the write cache if a controller fails, which is generally a much
bigger problem.
> Gary
>
Tom
More information about the freebsd-scsi
mailing list