Thomas, Thank you for the answers, this helped clarify the ASL and APM roles for me a great deal.
A support person at Sun also dug up this document which has an excellent summary of their roles as well: http://eval.symantec.com/mktginfo/products/White_Papers/Storage_Server_M anagement/sf_dmp_field_guide.doc It's certainly unclear to my why this is filed under marketing info but oh well...at least it exists! Cheers, - Mike Myers, mike.myers <at> nwdc.net -----Original Message----- From: Thomas Cornely [mailto:[EMAIL PROTECTED] Sent: Friday, March 30, 2007 12:06 PM To: Myers, Mike; veritas-vx@mailman.eng.auburn.edu Subject: RE: [Veritas-vx] ASL, APM and EMC Clariions (oh my...) Hi Mike, With the right ASL/APM, you indeed shouldn't have issues with Clariion NDU. Please see inline below for more details. Thanks, Thomas > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf > Of Myers, Mike > Sent: Wednesday, March 28, 2007 9:09 PM > To: veritas-vx@mailman.eng.auburn.edu > Subject: [Veritas-vx] ASL, APM and EMC Clariions (oh my...) > > So I've been doing some research on a few systems of ours > that didn't handle an EMC Clariion firmware update gracefully > (path loss was passed up to the VxFS layer before DMP kicked > in and failed over -- oops). We think the problem might be > related to the ASL being quite old so I've been doing a lot > of digging into this area of Veritas which I've not delved > into much before. It doesn't appear to be a very well > documented area of the software. > > So a few specific questions if anyone can assist: > > * What's the difference between an Array Support Library and > a Array Policy Module? The Veritas support article on EMC > Clariions point to a tar ball that includes both (CLR-APM and > DGC-Clar) [Thomas] ASL stands for 'Array Support Libray'. They allow DMP to properly claim a device, identify what type of array it sits in and basically tell DMP which sets of procedures to use to manage the paths to that device. APM stands for 'Array Policy Module'. These are dynamically loaded kernel modules that implement the sets of procedures and commands that DMP must issue to an array to manage the paths to it. The base DMP code comes with a set of default APMs for Active/Active arrays or Active/Passive arrays. These APMs are "generic" in nature. For arrays that are require specific handling (and the Clariion is a perfect example of that), DMP relies on array specific APMs that implement procedures and commands that are specific to that array. > > * Is there a command in Veritas to answer the question, "What > ASL is "controlling" device X?" The closest I've been able > to find is to run "vxdmpadm getsubpaths ctlr=X" on one of the devices: > > NAME STATE[A] PATH-TYPE[M] DMPNODENAME > ENCLR-TYPE ENCLR-NAME ATTRS > ============================================================== > ========== > ======== > c5t50060163306036AFd2s2 ENABLED(A) PRIMARY EMC_CLARiiON0_0 > EMC_CLARiiON EMC_CLARiiON0 - > c5t50060163306036AFd1s2 ENABLED(A) SECONDARY EMC_CLARiiON0_1 > EMC_CLARiiON EMC_CLARiiON0 - > I think a better command to issue here would be: 'vxdmpadm listenclosure all' because that will show which enclosures DMP has identified and how it claimed them (from the array_type column). Here's an example: --- $ vxdmpadm listenclosure all ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS ARRAY_TYPE ======================================================================== ==== EMC0 EMC 940159 CONNECTED A/A Disk Disk DISKS CONNECTED Disk EMC_CLARiiON0 EMC_CLARiiON APM00054800086 CONNECTED CLR-A/PF --- CLR-A/PF tells you that the Clariion was claimed with 'explicit failover mode' (Clariion Failovermode 1). A Clariion configured to Failovermode 2 would get claimed with array_type 'CLR-A/P'. > * Why would the Clariion APM appear NOT to be in use? (maybe > the answer to my first question will make this question moot): > > $ vxdmpadm listapm all > Module Name APM Name APM Version Array Types > State > ============================================================== > ========== > ======== > dmpaa dmpaa 1 A/A > Active > dmpap dmpap 1 A/P > Active > dmpap dmpap 1 A/P-C > Active > dmpapf dmpapf 1 A/PF-VERITAS > Not-Active > dmpapf dmpapf 1 A/PF-T3PLUS > Not-Active > dmpapg dmpapg 1 A/PG > Not-Active > dmpapg dmpapg 1 A/PG-C > Not-Active > dmpjbod dmpjbod 1 Disk > Active > dmpjbod dmpjbod 1 APdisk > Active > dmpCLARiiON dmpCLARiiON 1 CLR-A/P > Not-Active > dmpCLARiiON dmpCLARiiON 1 CLR-A/PF > Not-Active > > * Veritas seems very confident in their documentation that an > ASL may be removed (and replaced) without impacting the > controlled devices. Has anyone on here done that to > production systems? > > The ASL seems like a fairly integral piece of DMP to be > removed while I/O is traversing the DMP device. That said, > my little bit of testing seems to indicate that this is true. > Is the ASL only consulted once per boot (or when vxdctl > enable is run)? I guess I'm leading to the question of what > does an ASL actually do? [Thomas] Yes, an ASL really gets used at device discovery, so anytime vxdisk scandisk or vxdctl enable (more involved) gets called. One the device is claimed, the ASL doesn't do anything. The APM effectively takes over. So you should have no problem updating an ASL online. I would think updating an APM online should also work. The commands that are specifically in the APM tend to relate to path state management (i.e. how to trigger a LUN trespass, what to do following an IO failure, how to interpret this array specific sense data) and typically are not related to IO load balancing. Support would know that. > I'm looking for something beyond, > "It tells DMP which paths to use" -- it's obviously not > involved in the minute-to-minute I/O operations. What sorts > of things does it tell the DMP layer? How can you tell if > it's working correctly (short of an invasive test like > pulling a fiber)... > > Thanks in advance for any info folks can provide! If there > is useful information sent off-list, I'll post a summary. > > Cheers, > - Mike Myers, mike.myers <at> nwdc.net > > _______________________________________________ > Veritas-vx maillist - Veritas-vx@mailman.eng.auburn.edu > http://mailman.eng.auburn.edu/mailman/listinfo/veritas-vx > _______________________________________________ Veritas-vx maillist - Veritas-vx@mailman.eng.auburn.edu http://mailman.eng.auburn.edu/mailman/listinfo/veritas-vx