DevOps · K8s · Volleyball · Travel  •  DevOps · K8s · Volleyball · Travel  •  DevOps · K8s · Volleyball · Travel
Explore NY Stream

TSM LanFree Installation Guide Windows Server and Clusters

— ny_wk

TSM LanFree Installation Guide Windows Server and Clusters

TSM LAN-Free backup lets a Windows Server cluster send its backup data straight to SAN-attached tape drives over Fibre Channel instead of pushing it across the LAN to the backup server. This guide walks through the full installation on a two-node cluster — HBA verification, the TSM Storage Agent, the eRMM/External Library Manager stack, configuration files, the IBM tape driver, and a verified test backup — and flags the modern equivalents so you can apply the same logic on supported software.

What TSM LAN-Free actually does (and the modern equivalent)

In a normal IBM Tivoli Storage Manager (TSM) setup, the backup-archive client sends data over the IP network to the TSM server, which then writes it to storage. With TSM LAN-Free, a lightweight Storage Agent runs on the client, the client mounts the tape drive across the SAN, and the bulk data flows directly client → tape over Fibre Channel. Only metadata and control traffic still cross the LAN to the server. The payoff is dramatically less network load and far faster throughput for large database and file backups.

Two important notes before you start. First, this procedure targets the classic TSM era (Storage Agent 5.5.x, IBM eRMM/External Library Manager 1.1.x, Windows Server 2003/2008). Those products and operating systems are end of life. The product line is now IBM Storage Protect (formerly IBM Spectrum Protect), and the same LAN-Free concept lives on as the Storage Protect Storage Agent on supported Windows Server releases. If you are building new, install the current Storage Protect Storage Agent and follow IBM's current docs — but the configuration logic below (Storage Agent ↔ server handshake, dsmsta.opt, devconfig, SAN drive visibility, tape driver, LAN-Free verification) maps almost one-for-one. Second, every node name, IP address, password hash, client name, library name, and management class shown here is environment-specific and must be supplied by your TSM/Storage Protect administrator. Do not reuse the literal values in this guide.

Prerequisites and architecture for TSM LAN-Free on a cluster

  • Two cluster nodes (active/passive) running the supported Windows Server version, with the TSM/Storage Protect backup-archive client already installed and successfully backing up over the LAN first. Get the LAN path working before adding LAN-Free.
  • Two Fibre Channel HBAs per node zoned to the tape drives by the SAN team.
  • A shared cluster disk (here D:) that holds the Storage Agent options file, because cluster resources fail over between nodes.
  • The TSM server that owns the tape library, its IP and name, plus the LAN-Free management class to test with.
  • Installer media: the Storage Agent package, the eRMM/ELM components (ActivePerl, ELM, HDM, PWGEN), the IBM tape device driver (Atape), and any TDP data-protection agents (SQL, Oracle) you need.

Install the data-flow components on the active node first, fail the cluster services over to the other node, then repeat on the second node so both nodes are identical. Plan for at least one reboot per node.

Step 1 — Verify HBA connections to the tape drives

Nothing downstream works if the operating system cannot see the tape hardware. On both cluster nodes, open your HBA management utility (QLogic SANsurfer in the original environment) and confirm the SAN-attached tape drives appear.

  1. Launch the HBA tool on the active node and expand each HBA.
  2. Confirm both HBAs on the node see the tape drives. Repeat on the second node — you should verify two HBAs per node.
  3. Where the tool supports it, enable persistent binding (the legacy SANsurfer Bind All option) so device targets keep the same addresses across reboots.
  4. Optionally alias the HBAs (e.g. label them Tape) so they are easy to identify in the console.

If the tape drives are not visible, stop. Open a ticket with the SAN team — it is almost always a zoning, masking, or cabling problem. Do not continue until every HBA on both nodes can see the drives, because the rest of the LAN-Free path depends on it.

Step 2 — Install the TSM Storage Agent

The Storage Agent is the piece that mounts the tape and moves data over the SAN. Confirm the Storage Agent build is compatible with your TSM server version before installing — a mismatch is a common cause of silent failures.

  1. On the active node, run the Storage Agent installer (e.g. 5.5.5.0-tiv-tsmsta-windows.exe; substitute your version).
  2. Choose Install Products → TSM Storage Agent. You will return later for the TSM Device Driver — do not install it yet, because the IBM tape driver must go on first.
  3. Accept the license, then pick a Custom install and change the target to the shared/local data drive (here D:) so the Storage Agent options file is reachable.
  4. Complete the install and click Finish.

The Storage Agent needs access to its options file on one of the cluster disks, which is why the install location matters on a clustered node.

Step 3 — Install the eRMM / External Library Manager components

In this design the tape library is presented as an external library managed by IBM eRMM (Enterprise Removable Media Manager), whose Windows pieces are the External Library Manager (ELM) and Host Drive Manager (HDM), plus ActivePerl and PWGEN. Copy the eRMM installation folder to a local directory (e.g. D:\support) before you begin, then install in order.

3.1 ActivePerl

  1. If Windows blocked the downloaded installer, right-click it → PropertiesUnblock, then run it again.
  2. Change the install location to D:\Perl64\ and finish the install.

3.2 ELM (External Library Manager)

  1. Run the ELM MSI (e.g. irmm-elm-1.1.1.6.msi).
  2. Change the location to D:\Program Files (x86)\.
  3. When prompted to reboot, do not reboot — more components follow.

3.3 HDM (Host Drive Manager)

  1. Run the HDM MSI (e.g. irmm-hdm-1.1.1.35.msi) and set the location to D:\Program Files (x86)\.
  2. When asked for the fully qualified Perl path, give D:\perl64\bin\perl.exe.
  3. Do not reboot when prompted.
  4. Critical: open the IBMHDM service and confirm its binary path is exactly:
    "D:\Program Files (x86)\IBM\ermm\bin\hdmservice.exe" "\"D:\perl64\bin\perl.exe\"" "\"D:\Program Files (x86)\IBM\ermm\bin\ermmGenHDM\"". A wrong path here is the single most common reason HDM never starts.

3.4 PWGEN, then reboot

  1. Run the PWGEN MSI (e.g. irmm-pwgen-1.1.1.4.msi), location D:\Program Files (x86)\.
  2. Now reboot the server.
  3. After the reboot, create the logging directory D:\Program Files (x86)\IBM\ermm\logs — the install does not create it and the library log will fail without it.

Step 4 — Create the Storage Agent service and its config files

Use the TSM management console (MMC) shortcut to create the Tivoli SAN Storage Agent service, then hand-edit two config files that establish the trust between the agent and the server.

4.1 Create the service

  1. Launch the TSM Storage Management MMC and start the Storage Agent wizard. Supply, from your TSM administrator:
    • Storage Agent name = the local node's TSM client name
    • Storage Agent password = the local TSM password set during client config
    • Storage Agent TCP/IP address = the local server management IP
    • Server name = the TSM server that owns the tape drives (e.g. TSMPC12)
    • Server password and IP = as provided (e.g. 172.22.126.34)
  2. Run the install under an admin account when prompted, finish the wizard, then change the service Log On to the Local System account. Running as Local System avoids password-rotation outages.

4.2 Edit dsmsta.opt and devconfig.txt

Both files live in D:\Program Files (x86)\Tivoli\TSM\StorageAgent\. In dsmsta.opt, set the server name and add the communication method and port:

  1. SERVERNAME TSMPC12 (your local node's TSM client name)
  2. COMMMETHOD TCPIP
  3. TCPPORT 1500
  4. DEVCONFIG devconfig.txt

In devconfig.txt, define the Storage Agent identity, the server it pairs with, and the external library:

  1. SET STANAME <local host name>
  2. SET STAPASSWORD <hash from your admin>
  3. SET STAHLADDRESS <local server mgmt IP>
  4. DEFINE SERVER <server> HLADDRESS=<server IP> LLADDRESS=1500 SERVERPA=<hash>
  5. DEFINE LIBRARY BITL01 LIBTYPE=external LANFREE=yes OBEYMOUNTRETENTION=yes

The library name (BITL01 in this example), addresses, and password hashes all come from your TSM resource.

4.3 Smoke-test the Storage Agent from the console

  1. Stop the SAN Storage Agent service.
  2. Open a command prompt and change into D:\Program Files (x86)\Tivoli\TSM\storageagent.
  3. Run dsmsta to start it in the foreground and watch for errors.
  4. At its prompt, run q se to list sessions, q se <number> f=d for full detail on a session (look for the one with your host name), and halt to stop it when done.

4.4 Fix the IBM environment variables

Even after a clean Perl install, the HDM service variable often has a trailing backslash. Edit IBMPERLEXE from D:\perl64\bin\perl.exe\ to D:\perl64\bin\perl.exe (remove the trailing \). Then verify the rest of the IBM variables point at the correct D: paths:

VariableValue
IBMELMDIRD:\Program Files (x86)\IBM\ermm\client\tsm\
IBMHDMBINDIRD:\Program Files (x86)\IBM\ermm\bin\
IBMHDMCONFIGFILED:\Program Files (x86)\IBM\ermm\conf\genhdm.cfg
IBMHDMDRIVECONFIGFILED:\Program Files (x86)\IBM\ermm\conf\hdmdrive.cfg
IBMHDMLOGFILED:\Program Files (x86)\IBM\ermm\ermmGenHDM.log
IBMHDMTAPEUTILD:\Program Files (x86)\IBM\ermm\bin\ermmTapeutil64.exe
IBMPERLEXED:\perl64\bin\perl.exe

Confirm the system PATH picked up the new entries (open a fresh command prompt so it reloads).

Step 5 — Edit the key configuration and log files

Before editing anything, verify in Control Panel → Programs that ActivePerl, ELM, HDM, and PWGEN are all installed and the environment variables exist. If something is missing, go back to Step 3 and reboot where required. A useful habit: open each config file once in WordPad and re-save it to strip stray formatting, then edit in a plain editor like Notepad.

The files that matter:

  • D:\Program Files (x86)\ibm\ermm\client\tsm\elm_BITL01.cfg
  • D:\Program Files (x86)\ibm\ermm\conf\genhdm.cfg
  • ...\Tivoli\TSM\baclient\dsm.opt (the cluster resource client options)
  • D:\Program Files (x86)\Tivoli\TSM\storageagent\devconfig.txt and dsmsta.opt
  • Logs: D:\Program Files (x86)\IBM\ermm\ermmGenHDM.log and ...\ermm\logs\elm_BITL01.txt
  1. Create the ELM library files. In the ELM client folder, copy elm.cfg.smp and elm.exe and rename the copies to match your library — e.g. elm_BITL01.cfg and elm_BITL01.exe.
  2. Edit elm_BITL01.cfg with values from your admin: client (TSM client name), instance (local host name plus _sta), host (eRMM server IP), port = 6740, Logging = on, LogPath (the logs folder), LogFileSize = 10M, TSMServer (local management NIC IP), and CartridgeType (e.g. 3592JB).
  3. Edit genhdm.cfg: set server to the eRMM server IP and localaddr to the local server's management IP.
  4. Edit the cluster client dsm.opt and temporarily add an include that forces LAN-Free for the test, e.g. Include "*" 60D_TP_MC (substitute the LAN-Free management class your admin gives you). Remove this line after the test succeeds.
  5. Restart the two TSM services (Storage Agent and IBMHDM) to load the changes.
  6. Re-verify devconfig.txt (node name, node IP, library) and dsmsta.opt (COMMMETHOD TCPIP, TCPPORT 1500, DEVCONFIG devconfig.txt). Restart IBMHDM again to activate.

Remember that IBMHDMLOGFILE overrides the config-file log path, so the active GENHDM log is ...\ermm\ermmGenHDM.log. The per-job library output appears in ...\ermm\logs\elm_BITL01.txt once a backup runs.

Step 6 — Install the data-protection agents (TDP for SQL / Oracle)

If you are protecting databases, install the matching Tivoli Data Protection (TDP) agent into the same TSM install path as the backup-archive client (e.g. C:\Program Files\Tivoli\TSM) so they share the options.

  • TDP for SQL Server: extract the package, run the client setup.exe, accept the license, set the path to the TSM client location, and finish. Then confirm the server sees every tape drive and all drives load — if a device shows N/A, drive matching (elm_find_drive) will fail.
  • TDP for Oracle: extract and run setup.exe into the same path. Afterward, in ...\TSM\AgentOBA64\ create dsm.opt from the sample and add the LAN-Free directives: a node name (local host plus _TDPO), PASSWORDACCESS GENERATE, TCPSERVERADDRESS <TSM server>, ENABLELANFREE YES, LANFREECOMMMETHOD TCPIP, LANFREETCPPORT 1500, and the LAN-Free include. Create tdpo.opt from its sample (point DSMI_ORC_CONFIG at that dsm.opt, set DSMI_LOG, uncomment TDPO_FS), then run tdpoconf.exe password to store the node password.

Step 7 — Confirm tape devices, then install the IBM tape driver

Reboot the server after the SAN team finishes (re)zoning and before installing any tape driver — this ordering matters. Then open Device Manager and confirm the Medium Changer and the tape drives appear. Only continue once they are visible.

  1. Copy the IBM Atape driver folder locally.
  2. Install from a command prompt — it is more reliable than the GUI — by running install_exclusive.exe -s (the -s suppresses prompts). Because the driver may not be on Microsoft's trusted list, you may still have to click Continue Anyway many times — once each for the Changer Bus Enumerator and Tape Bus Enumerator, and once per medium-changer and tape device (this scales with how many drives you were provisioned).
  3. Add the PersistentNaming registry value so device names survive reboots. On Windows Server 2008: set PersistentNaming (DWORD 1) under HKLM\SYSTEM\CurrentControlSet\services\ibmtp2k8. On Windows Server 2003 use the ibmtp2k3 key.
  4. Verify the changers and tapes still show correctly in Device Manager, then restart the IBMHDM service to trigger a tape scan.
  5. Check that ...\ermm\conf\hdmdrive.cfg has a fresh timestamp and lists your drives, and confirm genhdm.cfg contains useibmdriver = true.
  6. Now return to the Storage Agent installer and add Install Products → TSM Device Driver, clicking Continue Anyway through the unsigned-driver prompts, then finish and exit.
  7. Reboot once more and confirm Device Manager is clean.

Step 8 — Run and verify a LAN-Free test backup

This is the proof that the whole TSM LAN-Free path works end to end.

  1. Stop the Storage Agent service and start it from the command line (dsmsta in the storage agent folder) so you can watch sessions live.
  2. In the backup-archive client GUI, run a small file-level backup (for example the C:\Program Files folder). On Windows Server 2003 the client can take a few minutes to load.
  3. In the dsmsta console, run q se and q se <number> f=d to watch the tape mount, then halt when the job finishes.
  4. Open the library log ...\ermm\logs\elm_BITL01.log. A successful mount looks like:
    Sending response: MOUNT BITL01 ... COMPLETE ON \\.\Tape... , RESULT=SUCCESS
  5. Confirm the client GUI reports a successful backup and shows the transfer as LAN-Free. Both together mean it worked.
  6. Clean up: remove the temporary Include "*" <management class> line you added to the cluster dsm.opt in Step 5, so production uses its normal policy.

Finally, repeat the install on the second node: fail the cluster services over, install the Storage Agent, eRMM components, and tape driver identically, and run the same verification so either node can take over LAN-Free backups.

Common pitfalls when configuring TSM LAN-Free

  • Tape drives invisible to the OS. If Device Manager or hdmdrive.cfg is empty, it is a SAN zoning/masking/cabling issue — fix it with the SAN team before touching software.
  • Wrong IBMHDM service binary path. The escaped Perl and HDM paths in the service definition must be exact, or HDM never starts.
  • Trailing backslash in IBMPERLEXE. The installer often leaves perl.exe\; strip the final backslash.
  • Installing the tape driver before the OS sees the hardware, or before the post-zoning reboot. Order is: zone → reboot → confirm in Device Manager → IBM Atape driver → TSM Device Driver.
  • Storage Agent / server version mismatch. Always confirm compatibility with your server build.
  • Forgetting to remove the temporary include line, which leaves all traffic forced onto the LAN-Free management class after testing.
  • Running the Storage Agent under a user account. Switch it to Local System to survive password changes.

Cleanly uninstalling the LAN-Free stack

If you must back out, do it in order and reboot between major steps. Uninstall Perl and HDM via Programs and Features, delete their environment variables and the D:\Perl64 directory (stop IBMHDM first if files are locked), and remove the IBMHDM registry key. For the tape and changer drivers: back up the registry first, uninstall every tape and medium-changer device plus the Changer/Tape Bus Enumerators in Device Manager, run the IBMTape package's uninst.exe, then verify the IBM .sys files are gone from C:\Windows\System32\drivers and that no leftover IBM tape services remain under HKLM\SYSTEM\CurrentControlSet\Services. Set Removable Storage (RSM) startup to Manual or Disabled, reboot, and cancel any "new device found" prompts on the way up.

Key Takeaways

  • TSM LAN-Free routes backup data from the client to SAN tape over Fibre Channel via a Storage Agent, keeping bulk traffic off the LAN.
  • SAN visibility comes first — verify both HBAs on both cluster nodes see the tape drives before installing anything.
  • Install order is strict: Storage Agent, then eRMM (Perl → ELM → HDM → PWGEN → reboot), then the IBM Atape driver, then the TSM Device Driver last.
  • The agent-to-server trust lives in dsmsta.opt and devconfig.txt; the external library is wired through the ELM and genhdm.cfg files.
  • It is only proven when the client reports success and the GUI plus the ELM log confirm a LAN-Free tape mount — and remember the modern path is IBM Storage Protect on supported Windows Server.

Frequently Asked Questions

What is the difference between LAN-Free and LAN-based TSM backup?

In LAN-based backup the client sends data over the IP network to the server, which writes it to storage. In LAN-Free the client mounts SAN-attached tape directly and moves the data over Fibre Channel; only control and metadata traffic still go to the server over the LAN. LAN-Free is faster and offloads the network for large database and file backups.

Is TSM still supported, or has it been renamed?

The product was renamed: TSM became IBM Spectrum Protect and is now IBM Storage Protect. The classic 5.5.x Storage Agent, eRMM 1.1.x, and Windows Server 2003/2008 in this guide are end of life. The LAN-Free concept and most configuration logic carry over to the current Storage Protect Storage Agent on supported Windows Server versions.

Why must I install the IBM tape driver before the TSM Device Driver?

The IBM Atape driver makes the operating system recognize the medium changer and tape drives at the device level. The TSM Device Driver layers on top of that. If you install the TSM driver first, the devices are not yet enumerated correctly and drive matching fails — so always zone, reboot, confirm in Device Manager, install Atape, then install the TSM Device Driver.

How do I confirm a backup actually ran LAN-Free and not over the LAN?

Check two places. The backup-archive client GUI explicitly labels the session as LAN-Free, and the ELM library log (elm_<library>.log) shows a tape MOUNT ... COMPLETE ... RESULT=SUCCESS on a physical tape device. When both agree, data moved over the SAN.

For more Windows Server, storage, and system-administration walkthroughs, subscribe on YouTube @explorenystream.