none
DPM 2019 not identifying tapes and tape drive is constantly "in use" RRS feed

  • Question

  • Hi,

    We’ve been having issues setting up a Dell EMC ML3 tape library with our backup server running DPM 2019. Having been through the motions with Dell they’ve established that there’s no fault with the hardware as we can run all the tape library/tape drive operations through IBM’s ITDT tape diagnostic tool.

    Additionally, it was checked that DPM is compatible with the Dell EMC ML3 tape library

    With the latest nonexclusive_dpf drivers for the medium changer and tape drive installed DPM can identify the library and tape drive. However, the tape drive states that it is constantly “in use” and when running a detailed/fast inventory to find the tapes (10 tapes – in one logical library, random access partition) the DPM console crashed with an error ID: 917.

    ” Connection to the DPM service has been lost.

     

    Review the application event log for information about a possible service shutdown. Verify that the following services are not disabled:

                DPM

                DPM Replication Agent

                SQLAgent$MSSQLSERVER

                MSSQL$MSSQLSERVER

                Virtual Disk Service

                Volume Shadow Copy

     

    ID: 917 “

     

    All of the services were checked to see if they were running. After making sure that they were I tested the inventory again, it once again crashed. In event viewer there were a number of crash logs.

     

    “The detailed inventory of tape failed for the following reason: (ID: 3316)

    Operation failed since the slot 1 in library IBM TotalStorage 3573 Tape Library-2 was empty. This tape is currently present in offline  (ID: 24027)”

     

    And

     

    “Library drive IBM ULTRIUM 7 3580 TAPE DRIVE (1164F0605B) in IBM TotalStorage 3573 Tape Library-2 is not functioning and library jobs may fail until the drive is repaired.  The drive is not functioning for the following reason:

     (ID: 3303)

    Drive IBM ULTRIUM 7 3580 TAPE DRIVE (1164F0605B) was detected as not ready. (ID: 25015)”

    According to the first error (24027) the way to fix this is to move a tape to the slot specified, however there is already a tape in slot 1 (slot 1-10 full of tapes).

    The second error (25015) the solution for resolving the error is:

    1. If the drive is being serviced, you can ignore this alert.
    2. Make sure that the drive is powered on.
    3. Make sure that the drive is connected properly.
    4. In Device Manager, if the drive is not enabled or is not visible, refer to your hardware manual for other troubleshooting steps.

    All of these do not apply as the drive is not being serviced, is powered on and correctly connected and within device manager both the medium changer and tape drive are visible in device manger and there are no errors with the drivers.

     

    Changing the Dell supplied drivers to alternate versions i.e. exclusive, exclusive_dpf, exclusive_no_dpf, nonexclusive and nonexclusive_no_dpf we end up with driver errors (37) and can only identify the tape drive standalone. We have also used the IBM specific drivers for the Tape library and drive version. These provided no different results.

     

    The DPM drive mapping tool has been used to ensure that the correct ISCSI addresses are being used for the library and drive after completing the remapping no changes to the behaviour of the library/drive.

    Also used the DPM Library compatibility test tool running tests 1, 2, 4 and 5 all of which failed.

    • dpmlibrarytesttool.cpp(1026)                                 NORMAL              CMDLINE: DPMLibraryTest.exe /CERTIFY /TL \\.\Changer0 /AT 1 2 4 5
    • utility.cpp(274)                              WARNING          Failed: Hr: = [0x80070424] QueryServiceStatus failed
    • utility.cpp(350)                              WARNING          Failed: Hr: = [0x80070424] GetServiceStatus for NtmsSvc service failed, ignoring the failure
    • utility.cpp(267)                              WARNING          Failed: Hr: = [0x80070424] : Encountered Failure: : lVal : (HANDLE)(schService = OpenServiceW( schSCManager, strServiceName.PeekStr(), 0x0004))
    • dpmlibrarytesttool.cpp(990)                                   NORMAL            By default only RSM_COMPAT_INIT_ELEMENT_STATUS - RSM Compat mode is enabled
    • utility.cpp(196)                              WARNING          Failed: Hr: = [0x80070002] : Encountered Failure: : lVal : HRESULT_FROM_WIN32(2)
    • cfgclass.cpp(1104)          [0000000001650820]                    NORMAL              We got 1  devices for class 0
    • cfgclass.cpp(176)            [00000000031210E8]                    NORMAL              Initializing Device with path \\?\scsi#sequential&ven_ibm&prod_ult3580-td7#5&3158837b&0&000000#{53f5630b-b6bf-11d0-94f2-00a0c91efb8b}
    • system.cpp(1183)                                        WARNING          Failed: Hr: = [0x80070002] Failed to initialize IOCTL timeout from registry. Initializing with default timeout [900000 ms].
    • system.cpp(1168)                                        WARNING          Failed: Hr: = [0x80070002] : Encountered Failure: : lVal : r.GetValue(L"LibraryIoctlTimeout", &s_dwIoctlTimeoutInMs)
    • cfgclass.cpp(1104)          [0000000003121890]                    NORMAL              We got 1  devices for class 1
    • cfgclass.cpp(176)            [0000000003121938]                    NORMAL              Initializing Device with path \\?\scsi#changer&ven_ibm&prod_3573-tl#5&3158837b&0&000001#{53f56310-b6bf-11d0-94f2-00a0c91efb8b}
    • cfgnudev.cpp(984)         [0000000000BFF1B8]                    NORMAL              Found a Tape Drive with Serial Number match
    • dpmdevicelayer.cpp(1528)         [0000000000BFF1B0]                   NORMAL            Found a device with following details
    • dpmdevicelayer.cpp(1529)         [0000000000BFF1B0]                   NORMAL                      Device Name         : \\.\Changer0
    • dpmdevicelayer.cpp(1530)         [0000000000BFF1B0]                   NORMAL                      Device Serialnumber : 55L3A7800RBNLL01
    • dpmdevicelayer.cpp(1531)         [0000000000BFF1B0]                   NORMAL                      Device Vendor Name  : IBM Corporation
    • dpmdevicelayer.cpp(1532)         [0000000000BFF1B0]                   NORMAL                      Device Product Name : IBM TotalStorage 3573 Tape Library
    • dpmdevicelayer.cpp(1533)         [0000000000BFF1B0]                   NORMAL                      FirmWare Revision   : 1300
    • dpmdevicelayer.cpp(1535)         [0000000000BFF1B0]                   NORMAL                      Device SCSI Props   : (P,B,T,L)5,0,0,1
    • dpmdevicelayer.cpp(1543)         [0000000000BFF1B0]                   NORMAL                      Driver Name   : ibmcg2k19
    • dpmdevicelayer.cpp(1567)         [0000000000BFF1B0]                   NORMAL                      Driver Version   : 6.2.6.8x64 built by: WinDDK
    • dpmdevicelayer.cpp(1528)         [0000000000BFF1B0]                   NORMAL            Found a device with following details
    • dpmdevicelayer.cpp(1529)         [0000000000BFF1B0]                   NORMAL                      Device Name         : \\.\Tape0
    • dpmdevicelayer.cpp(1530)         [0000000000BFF1B0]                   NORMAL                      Device Serialnumber : 1164F0605B
    • dpmdevicelayer.cpp(1531)         [0000000000BFF1B0]                   NORMAL                      Device Vendor Name  : IBM Corporation
    • dpmdevicelayer.cpp(1532)         [0000000000BFF1B0]                   NORMAL                      Device Product Name : IBM ULTRIUM 7 3580 TAPE DRIVE
    • dpmdevicelayer.cpp(1533)         [0000000000BFF1B0]                   NORMAL                      FirmWare Revision   : J4D0
    • dpmdevicelayer.cpp(1535)         [0000000000BFF1B0]                   NORMAL                      Device SCSI Props   : (P,B,T,L)5,0,0,0
    • dpmdevicelayer.cpp(1543)         [0000000000BFF1B0]                   NORMAL                      Driver Name   : ibmtp2k19
    • dpmdevicelayer.cpp(1567)         [0000000000BFF1B0]                   NORMAL                      Driver Version   : 6.2.6.8x64 built by: WinDDK
    • dpmdevicelayer.cpp(1085)         [0000000000BFF1B0]                   NORMAL            Rescan Operation completed with hr - 0x0
    • dpmdevicelayer.cpp(1479)                                      NORMAL              Opening handle for device \\.\Changer0
    • dpmdevicelayer.cpp(1492)                                      NORMAL            Open Handle Operation completed with hr - 0x0
    • dpmdevicelayer.cpp(854)           [0000000000BFF1B0]                   NORMAL            Doing Fast Inventory
    • dpmdevicelayer.cpp(857)           [0000000000BFF1B0]                   NORMAL            Calling IOCTL_CHANGER_GET_PARAMETERS
    • dpmdevicelayer.cpp(870)           [0000000000BFF1B0]                   NORMAL            Library information Number of Slots - 35, Number of Drives  - 1, Number of I/E ports – 5
    • dpmdevicelayer.cpp(883)           [0000000000BFF1B0]                   NORMAL            Doing Slot Inventory
    • dpmdevicelayer.cpp(1614)         [0000000000BFF1B0]                   NORMAL            Calling InitializeElementStatus for element type - 2, first element - 0, Number of elements
    • dpmdevicelayer.cpp(1640)         [0000000000BFF1B0]                   NORMAL            InitializeElementStatus Succeeded
    • dpmdevicelayer.cpp(1659)         [0000000000BFF1B0]                   NORMAL            Calling IOCTL_CHANGER_GET_ELEMENT_STATUS for element type - 2, first element - 0, Number of elements – 5
    • dpmdevicelayer.cpp(1673)         [0000000000BFF1B0]                   NORMAL            IOCTL_CHANGER_GET_ELEMENT_STATUS Succeeded
    • dpmdevicelayer.cpp(1659)         [0000000000BFF1B0]                   NORMAL            Calling IOCTL_CHANGER_GET_ELEMENT_STATUS for element type - 2, first element - 5, Number of elements – 5
    • dpmdevicelayer.cpp(1673)         [0000000000BFF1B0]                   NORMAL            IOCTL_CHANGER_GET_ELEMENT_STATUS Succeeded
    • dpmdevicelayer.cpp(1659)         [0000000000BFF1B0]                   NORMAL            Calling IOCTL_CHANGER_GET_ELEMENT_STATUS for element type - 2, first element - 10, Number of elements – 5
    • dpmdevicelayer.cpp(1673)         [0000000000BFF1B0]                   NORMAL            IOCTL_CHANGER_GET_ELEMENT_STATUS Succeeded
    • dpmdevicelayer.cpp(1659)         [0000000000BFF1B0]                   NORMAL            Calling IOCTL_CHANGER_GET_ELEMENT_STATUS for element type - 2, first element - 15, Number of elements - 5
    • dpmdevicelayer.cpp(1673)         [0000000000BFF1B0]                   NORMAL            IOCTL_CHANGER_GET_ELEMENT_STATUS Succeeded
    • dpmdevicelayer.cpp(1659)         [0000000000BFF1B0]                   NORMAL            Calling IOCTL_CHANGER_GET_ELEMENT_STATUS for element type - 2, first element - 20, Number of elements – 5
    • dpmdevicelayer.cpp(1673)         [0000000000BFF1B0]                   NORMAL            IOCTL_CHANGER_GET_ELEMENT_STATUS Succeeded
    • dpmdevicelayer.cpp(1659)         [0000000000BFF1B0]                   NORMAL            Calling IOCTL_CHANGER_GET_ELEMENT_STATUS for element type - 2, first element - 25, Number of elements – 5
    • dpmdevicelayer.cpp(1673)         [0000000000BFF1B0]                   NORMAL            IOCTL_CHANGER_GET_ELEMENT_STATUS Succeeded
    • dpmdevicelayer.cpp(1659)         [0000000000BFF1B0]                   NORMAL            Calling IOCTL_CHANGER_GET_ELEMENT_STATUS for element type - 2, first element - 30, Number of elements – 5
    • dpmdevicelayer.cpp(1673)         [0000000000BFF1B0]                   NORMAL            IOCTL_CHANGER_GET_ELEMENT_STATUS Succeeded
    • dpmdevicelayer.cpp(1797)         [0000000000BFF1B0]                   NORMAL            Get Element Status Operation completed with hr - 0x0
    • dpmdevicelayer.cpp(891)           [0000000000BFF1B0]                   NORMAL            Doing I/E port Inventory
    • dpmdevicelayer.cpp(1614)         [0000000000BFF1B0]                   NORMAL            Calling InitializeElementStatus for element type - 3, first element - 0, Number of elements
    • dpmdevicelayer.cpp(1640)         [0000000000BFF1B0]                   NORMAL            InitializeElementStatus Succeeded
    • dpmdevicelayer.cpp(1659)         [0000000000BFF1B0]                   NORMAL            Calling IOCTL_CHANGER_GET_ELEMENT_STATUS for element type - 3, first element - 0, Number of elements – 1
    • dpmdevicelayer.cpp(1673)         [0000000000BFF1B0]                   NORMAL            IOCTL_CHANGER_GET_ELEMENT_STATUS Succeeded
    • dpmdevicelayer.cpp(1659)         [0000000000BFF1B0]                   NORMAL            Calling IOCTL_CHANGER_GET_ELEMENT_STATUS for element type - 3, first element - 1, Number of elements – 1
    • dpmdevicelayer.cpp(1673)         [0000000000BFF1B0]                   NORMAL            IOCTL_CHANGER_GET_ELEMENT_STATUS Succeeded
    • dpmdevicelayer.cpp(1659)         [0000000000BFF1B0]                   NORMAL            Calling IOCTL_CHANGER_GET_ELEMENT_STATUS for element type - 3, first element - 2, Number of elements – 1
    • dpmdevicelayer.cpp(1673)         [0000000000BFF1B0]                   NORMAL            IOCTL_CHANGER_GET_ELEMENT_STATUS Succeeded
    • dpmdevicelayer.cpp(1659)         [0000000000BFF1B0]                   NORMAL            Calling IOCTL_CHANGER_GET_ELEMENT_STATUS for element type - 3, first element - 3, Number of elements – 1
    • dpmdevicelayer.cpp(1673)         [0000000000BFF1B0]                   NORMAL            IOCTL_CHANGER_GET_ELEMENT_STATUS Succeeded
    • dpmdevicelayer.cpp(1659)         [0000000000BFF1B0]                   NORMAL            Calling IOCTL_CHANGER_GET_ELEMENT_STATUS for element type - 3, first element - 4, Number of elements – 1
    • dpmdevicelayer.cpp(1673)         [0000000000BFF1B0]                   NORMAL            IOCTL_CHANGER_GET_ELEMENT_STATUS Succeeded
    • lacommonlib.cpp(167)                               NORMAL            Element Type 3, Element Number 4 is in Exceptional State
    • dpmdevicelayer.cpp(1797)         [0000000000BFF1B0]                   NORMAL            Get Element Status Operation completed with hr - 0x33e7210
    • dpmdevicelayer.cpp(950)           [0000000000BFF1B0]                   NORMAL            Fast Inventory Operation completed with hr - 0x33e7210
    • dpmlibrarytesttool.cpp(788)                                   NORMAL              Result: 0 tests completed successfully, 5 failed
    • dpmlibrarytesttool.cpp(794)                                   NORMAL            Would you like to submit error report? [Y/N :Default(Y)]:
    • dpmlibrarytesttool.cpp(806)                                   NORMAL              Submitted the error report successfully
    • dpmlibrarytesttool.cpp(1085)                                 NORMAL              Operation Failed....
    • utility.cpp(706)                              NORMAL            Error Code: 0x80990c1b
    • dpmlibrarytesttool.cpp(1087)                                 NORMAL              VERBOSE INFORMATION FILE:
    • dpmlibrarytesttool.cpp(1087)                                 NORMAL C:\...\DPMLibraryTest\LibraryTestTool-27-Curr.errlog
    • lacommonlib.cpp(406)                               WARNING          Failed: Hr: = [0x80990c1b] : Unhandled error : Fast inventory is going to FAIL: lVal : E_LIBRARYAGENT_INVENTORY_EXCEPTION
    • dpmdevicelayer.cpp(1708)         [0000000000BFF1B0]                   WARNING          Failed: Hr: = [0x80990c1b] : Encountered Failure: : lVal : CLACommonLib::UpdateStateFromFastInventory(0, ioctlParams, arrMedia, arrAbsentSlots, arrOpenIEPorts, arrUnusableSlots, arrUnusableDrives, &numMedia, &numAbsentSlots, &numOpenIEPorts, &numUnusableSlots, &numUnusableDrives, m_pErrorAndCancelHelper, false)
    • dpmdevicelayer.cpp(921)           [0000000000BFF1B0]                   WARNING          Failed: Hr: = [0x80990c1b] : Encountered Failure: : lVal : GetElementStatus(hDevice, sourceElementType, dwFirstElementNumber, dwNumberOfElemetsPerCall, dwNumberOfElemets, (pLibParams->Features0 & 0x00000001) ? true : false, pStatus, *ppFIResponse)
    • dpmlibrarytesttool.cpp(582)                                   WARNING          Failed: Hr: = [0x80990c1b] : Encountered Failure: : lVal : deviceLayer.DPMFastInventory( hChangerDevice,&pLibParams,&pFIResponse)
    • dpmlibrarytesttool.cpp(907)                                   WARNING          Failed: Hr: = [0x80990c1b] : Encountered Failure: : lVal : ExecuteLibraryTest(ssDeviceName, false, dwNumberOfTestCase, arrTestCase)
    • dpmlibrarytesttool.cpp(1043)                                 WARNING          Failed: Hr: = [0x80990c1b] : Encountered Failure: : lVal : LibraryTestMode(argc-2, wszArgv+2)

     

    We are running Win Server 2019, DPM 2019 and SQL 2017 with the latest updates.

    If anyone has seen this before or has any possible solutions it would be greatly appreciated.

    Friday, June 19, 2020 11:19 AM

All replies

  • Hello MattMose,

    This is what I am seeing as per the attached logs

    DPM tried to run fast inventory and it failed with below error:

    Fast Inventory started below:

    •dpmdevicelayer.cpp(854)           [0000000000BFF1B0]                   NORMAL            Doing Fast Inventory
    •dpmdevicelayer.cpp(857)           [0000000000BFF1B0]                   NORMAL            Calling IOCTL_CHANGER_GET_PARAMETERS

    Fast inventory failed with below error:

    •dpmdevicelayer.cpp(1797)         [0000000000BFF1B0]                   NORMAL            Get Element Status Operation completed with hr - 0x33e7210
    •dpmdevicelayer.cpp(950)           [0000000000BFF1B0]                   NORMAL            Fast Inventory Operation completed with hr - 0x33e7210


    It looks like DPM is having issues with IOCTL commands to the Tape library,

    Run DPM Tape Library Compatibility Test Tool and see if it completes without any error. Most likely you might see some errors in this test.

    https://www.microsoft.com/en-us/download/details.aspx?id=54699

    Friday, June 19, 2020 11:52 AM
  • Hi,

    @Aayoosh: The OP already ran the DPM Tape Library Compatibility Tool, and the test results are the ones he/she pasted...

    @Matt: The Dell EMC ML3 tape library "should" be supported by DPM, at least back when it was still only Dell. Have you tried using different drivers? Has Windows found any drivers from Microsoft?

    The problem is that the drives are being identified as a "standalone drive" and not part of a library, normally the DPMDriveMapping.exe tool would fix this, but it seems you've already run it.

    Here's a similar thread with similar errors:
    https://social.technet.microsoft.com/Forums/en-US/fb35d8e0-dfad-4dc1-8e28-3c0a3b0c4cf2/the-detailed-inventory-of-tape-failed-for-the-following-reason-id-3316?forum=dpmtapebackuprecovery

    Best regards,
    Leon


    Blog: https://thesystemcenterblog.com LinkedIn:

    Friday, June 19, 2020 12:16 PM
  • @Leon: Thanks for the correction :) somehow I missed to notice it.

    @Matt : Since the tape library is showing up as Standalone after you install the vendor shipped driver, this is probably because of the Medium change not being available or not identified properly by the OS and hence DPM interprets it as a standalone tape drive.

    Please make sure Tape drive drivers and Medium change drivers both are installed.

    Most importantly, I don't see Dell EMC ML3 series listed as supported tape library with DPM 2019 in the below link: Please take a look.

    https://docs.microsoft.com/en-us/system-center/dpm/dpm-compatible-tape-libraries?view=sc-dpm-2019

    Friday, June 19, 2020 12:54 PM
  • The documentation is not updated often, the ML3 series is under "Dell", and the branding has not been updated since Dell aquired EMC which became Dell EMC.

    I use the following:
    https://social.technet.microsoft.com/wiki/contents/articles/17105.system-center-dpm-2012-r2-2016-and-2019-compatible-tape-libraries.aspx#Dell

    I believe the official documentation is based on the TechNet Wiki article above, in previous DPM documentation versions they linked directly to the TechNet Wiki article (was easier to keep up-to-date).

    However since there's been changes in Dell, this could indeed be an older version of the ML3 which was supported, if you have a support agreement with Microsoft, you could call them and ask about the support, or even raise an issue about your issue.


    Blog: https://thesystemcenterblog.com LinkedIn:

    Friday, June 19, 2020 1:36 PM
  • Hi,

    Thank you both for your swift replies I will try to answer both of your suggestions in turn.

    Concerning the drivers, I have tried every set of drivers available to me from Dell;

    • Exclusive
    • NonExclusive
    • Exclusive_dpf
    • Nonexcusive_dpf
    • Exclusive_no_dpf
    • Nonexcusive_no_dpf

    and equivalents from IBM that where suggested in Dell's user guide; IBMTape.w19_6268-x64_WHQL_Cert

    • Exclusive
    • Nonexclusive

     

    It was only after being informed by Dell’s support team that it was the non-exclusive drivers that were required by DPM, that I noticed I was able to see the library and drive and tape slots in the management console.This was when the issue of being unable to run a fast or detailed inventory occurred.

    Whilst using the drivers identified only by Windows were the “Unknown Medium Changer” and “IBM ULTRIUM 7 3580 TAPE DRIVE” drivers, which didn’t allow me to progress any further than before. 

    I did have some screenshots to attach but it seems this account is to new for that. I will try to have another look through the threads you have linked before next week but will be out of the office soon till Monday, thanks for your help so far.

     

    Kind Regards,

    Matt

    Friday, June 19, 2020 3:03 PM
  • Hi, 

    I have come to the conclusion that I must try to rebuild the DPM server but we have a number of protection groups that have been performing disk based backups for a while and we would like to retain these.

    I have found a number of articles that discuss this process but nothing concrete, and some articles contradict others.

    There are also no steps or mention of this in the official DPM 2019 documentation. 

    Would the following steps allow me to retain my protection groups and backups with a fresh install of the DPM application?

    • Backup DPMDB using "DPMBackup.exe -db"
    • Retain this back up and place it on the C: drive 
    • Uninstall DPM and select "Retain disk-based recovery points"
    • Reinstall original version of DPM - Select to use windows updates
    • Install DPM updates that were installed previously
    • Run the command "DpmSync -restoredb -dbloc <DPMDB Location>"
    • Run the Command "DpmSync -sync"
    • Open DPM console and perform consistency check

    One guide mentioned removing the SQL database as well as the DPM application but attaching it to the new instance of DPM would seem like the wiser path to ensure that you do not lose any data.

    Any guidance on this would be greatly appreciated.

    Kind regards,

    Matt

    Thursday, June 25, 2020 3:06 PM
  • To retain the data you can backup the DPM database by simply using the SQL Server Management Studio, the DPMBackup.exe is an old tool that is deprecated.

    Uninstall DPM with the retain database option, then simply install a new server on the side/reinstall the existing server (important: use the exact same name as previously, IP can be changed).

    Once the server has been installed, you can attach the disks that DPM used for its storage, install the same SQL Server version, then install DPM, and finally restore the DPM database.

    Then run the DPMsync commands as you've mentioned, you'll find the DPMSync reference over here:
    https://docs.microsoft.com/en-us/previous-versions/system-center/data-protection-manager-2007/bb808877(v=technet.10)

    What is most important is the DPM database, make sure to back up it!



    Blog: https://thesystemcenterblog.com LinkedIn:


    • Edited by Leon Laude Thursday, June 25, 2020 3:21 PM
    Thursday, June 25, 2020 3:20 PM
  • You can follow the steps mentioned by Leone and you should be good. However I would suggest you to disconnect the DPM storage gracefully from the VM before doing in-place upgrade or if installing a fresh OS on the same VM. Things can go south if it affects the disk partition during the OS installation. As long as you have healthy DPMDB backup and storage pool intact, you can restore everything back.
    Thursday, June 25, 2020 3:36 PM
  • Hi MattMose,

    Were you able to resolve your issue with the Dell EMC ML3 and DPM 2019?  I'm looking to purchase a ML3 for a client and was wondering if we should choose a different library if unsupported with DPM 2019.  I have gone through similar issues with a TL2000 with 2 drives on DPM2016.  The ML3 and TL2000 are essentially the same with IBM tape drives.

    I've documented my steps for fixing the TL2000 drivers with DPM2016 and modified them slightly for the ML3:

    • Install Latest Changer/Tape Drivers: https://www.dell.com/support/home/en-us/product-support/product/ml3-tape-library/drivers
    • Install the changer drivers: install_nonexclusive.exe -c
    • Reboot
    • Install the tape drivers: install_nonexclusive.exe -t
    • Reboot
    • Stop DPMLA service
    • Test DPM Library (Use returned values for following step if needed - this is the tricky part)

    C:\Netops\DPMLibraryTest>DPMLibraryTest.exe /Certify /LL
    Found 1 Tape Libraries
    Found 2 Standalone Drives
    --------------------- Tape Library Information ----------------
    LIBRARY (Drive bays - 2, Drives - 0)
              Device Name         : \\.\Changer0
              Device Serialnumber : 00X2U78BM477_LL0
              Device Vendor Name  : IBM TotalStorage 3573 Tape Library
              Device Product Name : IBM Corporation
              FirmWare Revision     : F.11
              Device SCSI Props   : (P,B,T,L)4,0,7,1
    
    ------------------- End of Tape Library Information -----------
    
    ---------------- Standalone Drive Information -----------------
    Standalone DRIVE 1
              Device Name         : \\.\Tape0
              Device Serialnumber : 10WT053796
              Device Vendor Name  : IBM ULTRIUM 5 HH 3580 TAPE DRIVE
              Device Product Name : IBM Corporation
              FirmWare Revision     : H971
              Device SCSI Props   : (P,B,T,L)4,0,3,0
    
    Figured out Drive 2 in WebAdmin = DriveBayIndex="1"
    
    Standalone DRIVE 2
              Device Name         : \\.\Tape1
              Device Serialnumber : 1068219010
              Device Vendor Name  : IBM ULTRIUM 5 HH 3580 TAPE DRIVE
              Device Product Name : IBM Corporation
              FirmWare Revision     : H971
              Device SCSI Props   : (P,B,T,L)4,0,7,0
    
    Figured out Drive 1 in WebAdmin = DriveBayIndex="0"
    
    ---------------- End of Standalone Drive Information ----------
    
    
    Operation completed successfully....
    
    
    VERBOSE INFORMATION FILE:
    C:\Netops\DPMLibraryTest\LibraryTestTool-0-Curr.errlog

    • Create Backup and Edit File: C:\Program Files\Microsoft System Center\DPM\DPM\Config\DPMLA.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <LAConfig xmlns="http://schemas.microsoft.com/2003/dls/LAConfig.xsd">
       <DriveReMapInfo IsMannuallyMapped="true">
          <DriveLibraryAssociation>
             <Drive DriveBayIndex="0" SCSILun="0" SCSITargetId="7" SCSIBus="0" SCSIPort="4" SerialNumber="1068219010" />
             <Library SCSILun="1" SCSITargetId="7" SCSIBus="0" SCSIPort="4" SerialNumber="00X2U78BM477_LL0" />
          </DriveLibraryAssociation>
          <DriveLibraryAssociation>
             <Drive DriveBayIndex="1" SCSILun="0" SCSITargetId="3" SCSIBus="0" SCSIPort="4" SerialNumber="10WT053796" />
             <Library SCSILun="1" SCSITargetId="7" SCSIBus="0" SCSIPort="4" SerialNumber="00X2U78BM477_LL0" />
          </DriveLibraryAssociation>
       </DriveReMapInfo>
    </LAConfig>


    • Open DPM Console > Management > Libraries > Rescan then Refresh
    • Unassign Cleaning Tapes
    • Reassign Cleaning Tapes
    • Perform Fast Inventory
    • Perform Detailed Inventory

    • Edited by Tech FA Thursday, September 24, 2020 2:22 PM Formatting
    Wednesday, September 23, 2020 9:26 PM