F.4 Installing Policy and Distribution Services and Server Inventory in a Cluster

F.4.1 Issues with Using ZENworks in a Cluster

Advantages

  • Configuring Policy and Distribution Services with Novell Cluster Services ensures high availability of Tiered Electronic Distribution

  • Installing a Distributor and Subscriber in a cluster ensures the transmission and reception of policies and software

  • Installing the Inventory Agent in a cluster ensures reception of the hardware and software inventory information for the cluster nodes

  • Installing the Server Management database for distribution and policies information in a cluster ensures that the database is always available when the Distributor Agent and Policy/Package Agent need to log Distribution processing information

  • Installing the Inventory database in a cluster ensures that the database is always available when you need to access or report inventory information

  • For Policy and Distribution Services only, installing the Web components and supporting software in a cluster ensures that you can always monitor and manage the distribution process throughout your network

Disadvantages

  • Installing Policy and Distribution Services and the Inventory Agent on a cluster resource means that you can only manage the cluster node running that resource

F.4.2 Installation Prerequisites

Before you install and configure ZENworks 7 Server Management to run with Novell Cluster Services, make sure that all of the minimum hardware and software requirements for the respective products are met, including:

  • At least two NetWare® 6 or NetWare 6.5 servers (also called “nodes”) where Novell Cluster Services can be installed

  • Novell Cluster Services 1.6 installed and running on the NetWare 6 servers that are part of the cluster

  • Novell Cluster Services 1.7 installed and running on the NetWare 6.5 servers that are part of the cluster

  • A cluster volume created and cluster-enabled (this is called a virtual server or a cluster server)

    For more information on clustering, see the Novell Cluster Services documentation.

F.4.3 Installation Steps

The installation program walks you through installing the Policy and Distribution Services software for Distributors, Subscribers, and the Policy and Distribution database, and installing the Server Inventory software.

You can install Policy and Distribution Services in a cluster in the following scenarios:

  • Install Policy and Distribution Services in a cluster

  • Install only the Subscriber software in a cluster and its object in the same tree where the Cluster object resides

  • Install both the Distributor and Subscriber software in a cluster with their objects in a different tree than where the Cluster object resides

In the latter two scenarios, the zfs-startup.xml file on the cluster volume must be edited to add the ‑hosts switch before you offline the cluster to bring up ZENworks Server Management (documented in Step 2 below).

You can install any or all components of Server Inventory on a cluster node.

To install Policy and Distribution Services and Server Inventory to a cluster:

  1. Follow the instructions provided in Section 6.1, Installation on NetWare and Windows Servers, keeping in mind the following cluster-specific details:

    • In Step 2, select the Cluster object, not the specific servers in the cluster.

      You can also select non-clustered servers at the same time you are installing to a cluster.

      IMPORTANT:In Cluster Ready, you can install only one instance of Policy and Distribution Services (one Distributor and/or one Subscriber) in a cluster because Policy and Distribution Services treats a cluster as if it is a single server.

    • In Step 2, specify an installation path on a cluster-enabled volume.

      IMPORTANT:Do not use double-byte or extended characters in any part of an installation path, including a NetWare volume name.

    The installation program installs the Policy and Distribution Services and Server Inventory software on the specified cluster-enabled volume. From that location, the Distributor Agent, Policy/Package Agent, and Server Inventory components can run on any of the nodes in the cluster. If the node where they are running goes down, they automatically fail over to another node in the cluster.

    The installation program also updates the load and unload scripts associated with the Cluster object, which makes the failover/failback process possible.

    IMPORTANT:Page faults, which could abend a NetWare server and cause the desired failover, is handled by the JVM, preventing a server from abending. To ensure that failover occurs when only ZENworks stops while the server continues to operate, you need to add the ‑neh parameter to the Java command line (covered in Step 3 below).

  2. If you only installed a Subscriber to the cluster (its software to the cluster volume and its object into the same tree where the Cluster object resides), or you installed the Distributor and Subscriber software to the cluster volume, but their objects to a different tree than where the Cluster object resides, do the following:

    1. Open the following file in a text editor:

      Installation_path\zenworks\zfs‑startup.xml
      
    2. Search for the following class:

      <Class>com.novell.application.zenworks.ted.TED</Class>
      
    3. Edit the following parameter that is listed under the class:

      <Parameter Name="Hosts" />
      

      Change it to include the DNS hostnames or IP addresses of your hosts. For example:

      <Parameter Name="Hosts">192.68.1.203</Parameter>
      

      Note the addition of the closing </Parameter> code and the closing > character after the "Hosts" name. Your DNS hostnames and IP addresses go between the codes as shown above.

      Do not list any that are bound to the server’s NIC card.

      If you list more than one host, your list of DNS hostnames and IP addresses should be delimited by a semicolon (;). For example:

      <Parameter Name="Hosts">192.68.1.201;server002.provo.novell.com;192.68.1.203;192.68.1.204;server005.provo.novell.com</Parameter>
      

      You can mix DNS hostnames and IP addresses in the list.

    4. Save your changes, then close the file.

  3. This step is not applicable to the Inventory Agent.

    In the text editor, edit the \zenworks\zfs.ncf file and insert the ‑neh parameter to change the line similar to the following from:

    java ‑Xmx384M ‑envDISPLAY=127.0.0.1:0 ‑noclassgc ‑nsac ‑jszfsexit ‑snZENworks ‑classpath $tedpath com.novell.application.zenworks.loader.ZENLoader SYS:\zenworks\zfs‑startup.xml
    

    to

    java ‑neh ‑Xmx384M ‑envDISPLAY=127.0.0.1:0 ‑noclassgc ‑nsac ‑jszfsexit ‑snZENworks ‑classpath $tedpath com.novell.application.zenworks.loader.ZENLoader SYS:\zenworks\zfs‑startup.xml
    

    then save your changes and exit the text editor.

  4. If you previously installed Server Inventory in a ZENworks 7 Server Management cluster, do the following:

    1. Open the cluster node unload script for editing.

    2. If Sybase is installed, locate and change:

      unload dbsrv8.nlm
      

      to read:

      unload dbsrv8.nlm <<y
      

      The <<y automatically answers Yes to an unload question that requires a reply to continue.

    3. Locate the Java -killzfsexit entry.

    4. Insert the following before the above entry:

      java -killzenWSInv
      
      delay 8
      
    5. On each cluster node server, open the sys:\system\startinv.ncf file and remove or comment out the following entry:

      ZWSSTART
      
    6. To configure Server Inventory, continue with Section F.4.4, Configuring Server Inventory, then return to these steps.

  5. To start the Server Management components for the first time, offline the cluster and then online it again.

    This causes the clustering software to reread the updated load script and load the Server Management agents.

  6. If you need to install Management and Monitoring Services in a cluster, continue with Section F.5, Installing Management and Monitoring Services in a Cluster.

F.4.4 Configuring Server Inventory

After you have completed the Server Inventory installation, you need to configure Server Inventory to work in the clustering environment. The following steps provide the configuration information that you need:

  1. Configure the Inventory database object.

    If you have selected Sybase* during Server Management installation, the installation program creates the Database object (Inventory database_server_name) and configures the properties of this object; therefore, skip Step 1.a and Step 1.b.

    If you are using Oracle* or MS SQL, continue with Step 1.a.

    1. If you are maintaining the Inventory database in Oracle or MSSQL, ensure that you have created the Database object and configured the properties. For more information, see Configuring the Inventory Database Object on a NetWare Server.

    2. To configure the Database object for a cluster environment, in ConsoleOne, right-click the Database object, click Properties, click ZENworks Database, browse for the DN (NCP Server object) of the virtual server or specify the IP address of the virtual server, then click OK.

  2. If the standalone configuration is not selected during installation, then while creating the Database Location policy set Inventory database to Inventory database_virtual_server_name.

  3. While creating the Server Inventory policy, set the Inventory Service object DN to Inventory Service_virtual_server_name.

  4. To configure all Roll-Up policies, select the Inventory Service object of the cluster service (Inventory Service_virtual_server_name).

    For further information on uninstalling or reinstalling Server Inventory in a clustered environment, see Section F.4.5, Uninstalling or Reinstalling Server Inventory in a Cluster.

  5. Return to Step 5.

F.4.5 Uninstalling or Reinstalling Server Inventory in a Cluster

Uninstalling ZENworks 7 Server Inventory in a Clustered Environment

The Server Inventory component of ZENworks Server Management cannot be uninstalled automatically. You must manually remove the Inventory server, the Inventory database running on Sybase, the Novell eDirectory™ objects, Inventory agent, and the Server Inventory snap-in files for Novell ConsoleOne®.

NOTE:If your Inventory database is mounted on Oracle or MS SQL, follow the uninstall procedure recommended by Oracle or MS SQL, respectively.

You must remove the objects and the files from every server and workstation where the Server Inventory components are installed.

In an enterprise deployment of Inventory, uninstall all Leaf Servers first, then proceed to uninstall Intermediate Servers, and finally the Root Server. Before uninstalling Server Inventory, make sure you have archived a reliable backup of the Inventory database residing at the Root Server.

To manually uninstall Server Inventory, proceed in the following order:

Uninstalling the Server Inventory eDirectory Objects

To remove the ZENworks Server Management Server Inventory eDirectory objects:

  1. On the NetWare Inventory server, stop the Inventory services by entering StopSer * at the server console prompt.

  2. If the ZENworks Database policy is enabled, to disable it:

    1. In ConsoleOne, right-click the Service Location Package object, click Properties, then click Policies.

    2. Select the ZENworks Database policy, click Properties, then click the Inventory Management tab.

    3. Delete the specified Inventory database entry, then click OK.

      IMPORTANT:If the ZENworks Database policy is used by more than one Inventory server, you must uninstall those Inventory servers before performing this step.

  3. Disable the Server Inventory policy.

    1. Right-click the Distributed Server Package, click Properties, click Policies, then click the General or NetWare tab.

    2. If the Server Inventory policy is enabled, select the policy, click the Reset button, then click Yes.

    3. Disable the Server Inventory policy.

      If you have configured the Server Inventory policy for more than one operating system, select the operating system option from the Policies tab and repeat this step.

    4. Click Apply, then click Close.

  4. Disable the Roll-Up policy and the Dictionary Update policy, if the policies are enabled.

    1. Right-click the Server Package, click Properties, click Policies, then click the NetWare tab.

    2. If the Roll-Up policy is enabled, select the policy, click the Reset button, then click Yes.

    3. Disable the Roll-Up policy.

    4. If the Dictionary Update policy is enabled, select the policy, click the Reset button, then click Yes.

    5. Disable the Dictionary Update policy.

    6. Click Apply, then click Close.

  5. In ConsoleOne, locate the container holding the Inventory Service object and delete the object.

Uninstalling the Database eDirectory Object

In ConsoleOne, locate the container holding the Inventory database object and delete the Inventory database object.

Uninstalling the Sybase Inventory Database
  1. Stop Sybase by entering q at the Sybase console prompt.

  2. Delete the database_path\mgmtdb.db entry from sys:\system\mgmtdbs.ncf on each cluster node.

    IMPORTANT:Do not delete other database paths.

  3. Note the value of the INVDBPATH key in sys:\system\zenworks.properties on any of the cluster nodes.

  4. From the value identified in the INVDBPATH key, delete the Inventory database files (mgmtdb*.db), including mgmtdb.log, on each cluster node.

    IMPORTANT:Do not delete the database files if they contain ZENworks 7 Desktop Management Workstation Inventory information.

  5. Delete the INVDBPATH key from sys:\system\zenworks.properties on each cluster node.

  6. Delete the ZFS_INVENTORY_DATABASE_SERVER key.

  7. Delete the following section from sys:\system\zenworks.properties on each cluster node:

    [ZfS_Inventory_Database_Server]
    
    Version = 7.0.Server_Management_product_build_date
    
    Installed_From = Product CD
    
    Support_Pack = 0
    
  8. Start Sybase if it is not uninstalled and if it is used by other ZENworks products.

    At the Sybase console prompt, enter mgmtdbs.ncf.

Uninstalling the Sybase Engine

You can remove the Sybase engine only if it is not used by other ZENworks products.

  1. If Sybase is used by other ZENworks products, you must uninstall the database first before proceeding to uninstall the Sybase engine.

  2. Stop Sybase by entering q at the Sybase Console prompt.

  3. Note the value of the DBENGINEPATH key in sys:\system\zenworks.properties on any of the cluster nodes.

  4. Verify if the database is mounted on the database server.

    The sys:\system\mgmtdbs.ncf file on any cluster node has the .db entry if the database is mounted on the database server.

    • If the file contains the .db entry, do not continue to remove the Sybase engine.

      Its presence means the Sybase engine is in use by other software.

    • If the file does not contain the .db entry, delete mgmtdbs.ncf from each cluster node.

  5. Delete the mgmtdbs.ncf entry from the cluster load script on each cluster node.

  6. Delete dbsrv8.nlm from the unload script.

  7. Delete the directory specified in DBENGINEPATH (identified in Step 3).

  8. Delete the DBENGINEPATH key from sys:\system\zenworks.properties on each cluster node.

Uninstalling the Inventory Agent
  1. Execute the following commands at the server console prompt:

    invagentstop.ncf
    
    java -exit
    
  2. Delete the following files from sys:\system on each cluster node:

    • hwinvsrc.ini
    • invaid.nlm
    • invsetup.ini
    • mpkscan.nlm
    • nwapi.bak
    • nwapi.map
    • smile.bak
    • smile.map
    • suppl.bak
    • suppl.map
  3. Delete sys:\java\bin\invnatve.nlm on each cluster node.

  4. Note the value of the ZENworksPath, PDSPath and the InvAgentPath keys in sys:\system\zenworks.properties on any of the cluster nodes.

  5. Delete the Inventory Agent installation directory identified in the InvAgentPath key on each cluster node.

  6. Delete invagentnw.jar from the PDSPath\smanager\plugins directory on each cluster node.

  7. Delete the Inventory Agent key from the HKEY_LOCAL_MACHINE\SOFTWARE\NOVELL\ZENWORKS\ZFS registry entry on each cluster node.

  8. In PDSPath\zfs.ncf, delete the following entry on each cluster node:

    load sys:\\java\\bin\\invnatve
    
Uninstalling the Inventory Server Software
  1. On the NetWare Inventory server, stop the Inventory service by entering StopSer * at the console prompt.

  2. Unload the java.nlm by entering java -exit at the NetWare Inventory server console.

  3. Note the values of the INVSRVPATH and ZWSPATH keys in sys:\system\zenworks.properties on any of the cluster nodes.

  4. Delete the ZFS_INVENTORY_SERVER key.

    Delete the following section from sys:\system\zenworks.properties from each cluster node:

    [ZfS_Inventory_Server]
    Version = 7.0.build_date
    Installed_From = Product CD
    Support_Pack = 0
    
  5. Delete the invsrvpath\scandir directory on each cluster node.

  6. Delete the invsrvpath\server directory on each cluster node.

  7. Delete the following entries from the cluster load script on each cluster node:

    ; ZENworks Inventory Settings
    
    StartInv.ncf
    
  8. Delete the following entries from the unload script:

    java -killzenwsinv
    
    java -killzwexit
    
  9. Delete the following files from sys:\system directory on each cluster node:

    • addenums.ncf
    • dbexport.ncf
    • debug.properties
    • dupremove.ncf
    • enumsmodifier.ncf
    • invenv.ncf
    • invenvset.ncf
    • listser.ncf
    • startinv.ncf
    • startser.ncf
    • startzws.ncf
    • stopdb.ncf
    • stopser.ncf
  10. If Policy and Distribution Services and the XML Proxy server are not installed on the Inventory server, remove the ZENworks Web Server components by deleting the directory specified by the ZWSPATH key.

    1. Delete the following entries from the cluster load script on each cluster node:

      ; ZENworks Inventory Settings
      
      ZFS.ncf
      
    2. Delete zwsstart.ncf from the sys:\system directory on each cluster node.

    3. Delete the ZWSPATH key from sys:\system\zenworks.properties on each cluster node.

    4. Delete zws_volume:\zfs-startup.xml.

    5. Delete zws_volume:\zenworks\zfs.ncf.

  11. Delete the INVSRVPATH key from sys:\system\zenworks.properties on each cluster node.

Uninstalling the XML Proxy Server
  1. Unload the java.nlm by entering java -killzfsexit at the server console prompt.

  2. Note the value of the ZWSPATH in sys:\system\zenworks.properties on any of the cluster nodes.

  3. Delete the following section from sys:\system\zenworks.properties on each cluster node:

    [ZfS_XML_Proxy_Server]
    Version=7.0.Server_Management_product_build_date
    Installed_From = Product CD
    Support_Pack = 0
    
  4. Delete the following entries from the cluster load script on each cluster node:

    ; ZENworks Inventory Settings
    
    ZFS.ncf
    
  5. Delete zwsstart.ncf file from the sys:\system directory on each cluster node.

  6. Delete the \zwspath directory and the ZWSPATH entry from sys:\system\zenworks.properties on each cluster node.

  7. Delete zws_volume:\zenworks\zfs-startup.xml and zws_volume:\zenworks\zfs.ncf on each cluster node.

Uninstalling the Server Inventory Snap-Ins from ConsoleOne

Do not uninstall ConsoleOne itself if you are using it to manage other products.

To remove only the Server Inventory snap-ins from ConsoleOne:

  1. Close ConsoleOne, if it is running.

    If ConsoleOne is invoked directly from the Inventory server on multiple workstations, you must close ConsoleOne on all of these workstations.

  2. Under the ConsoleOne_installation_directory\1.2 directory on your server or workstations, do the following:

    • Delete the following files (but not the directories):

      • bin\debug.properties
      • bin\directoryrights.dll
      • bin\ntgroups.ini
      • bin\userreports.ini
      • help\novellserverinv.hs
      • lib\zen\classes12.zip
      • lib\zen\dbexport.jar
      • lib\zen\dbexportres.jar
      • lib\zen\jconn2.jar
      • lib\zen\jdbcdrv.zip
      • lib\zen\reportingimages.jar
      • lib\zen\smanager.jar
      • lib\zen\zenutility.jar
      • reporting\export\invxml.dtd
      • snapins\zen\dataexportsnapins.jar
      • snapins\zen\inventorysnapins.jar
      • snapins\zen\jgl3.1.0.jar
      • snapins\zen\policymigration.jar
      • snapins\zen\serversnapins.jar
      • snapins\zen\swdictionarysnapins.jar
      • snapins\zen\tableutilities.jar
      • snapins\zen\tracer.jar
    • Delete the following directories (but not the parent directories shown):

      • help\en\novell_zfs_server_inventory
      • reporting\canned\novell reporting\zeninventory
      • reporting\canned\novell reporting\zeninventory4x
  3. If you have not installed the Remote Management ConsoleOne snap-ins on the same workstation or server, do the following:

    • Delete the following files (but not the directories):

      • \bin\desktop4.exe
      • \bin\desktop4.ini
      • \bin\mssql.ini
      • \bin\multprot.dll
      • \bin\ndsaccess.dll
      • \bin\oracle.ini
      • \bin\remagent.ini
      • \bin\sybase.ini
      • \lib\zen\commonsnapins.jar
      • \lib\zen\desktop.jar
      • \lib\zen\desktop3x.jar
      • \lib\zen\desktopcommonutility.jar
      • \lib\zen\desktoputil.jar
      • \lib\zen\statuslog.jar
      • \lib\zen\zeninvimages.jar
      • \snapins\zen\serversnapins.jar
    • Delete the \bin\zen\sybaseproxy directory.

  4. Repeat Step 1 through Step 3 for each workstation or server where Inventory ConsoleOne snap-ins are installed.

Applying Changes to the Cluster Scripts

To apply changes to the cluster scripts, which you made in the previous sections, you must offline the cluster and then online it again.

Reinstalling Server Inventory in a Cluster

You might need to reinstall the Server Inventory component of Server Management Services in a cluster environment because it failed to install properly or because data corruption, such as an inadvertent file deletion, has occurred and the data can only be fixed by reinstalling.

IMPORTANT:Reinstallation does not require the schema to be extended again.

This section includes information that focuses on reinstalling the Server Inventory component:

Preparing to Reinstall Server Inventory
  1. Identify the servers that need Server Inventory reinstalled.

  2. Stop the Inventory database by pressing q at the NetWare Sybase console prompt.

  3. If Java has not been unloaded on the target NetWare servers, unload java.nlm (at the server console, enter java -exit).

    IMPORTANT:This command stops all Java processes running on the server. Verify that all Java processes can be stopped while you are installing Desktop Management.

  4. Log in to the Novell eDirectory™ tree that has the servers where you want to reinstall.

  5. Continue with Section F.4, Installing Policy and Distribution Services and Server Inventory in a Cluster.

Reinstalling Server Inventory

If you reinstall Server Inventory over a prior installation, ZENworks 7 Server Management Server Inventory uses the existing configured policies and the \scandir directory.

  • On the File Installation Location page during reinstallation, the installation program searches for the previous installation path. If it is detected, the Server Inventory or Remote Management files is installed to the same path.

  • On the Database Installation Location page during a reinstallation, the installation program searches for the previous installation path. If it is detected, the database is installed to the same path.

Determining if Reinstalling Server Inventory Was Successful
  1. After the installation has finished, review the installation log file to determine whether any components failed to install.

  2. If you reinstalled to fix a file corruption or missing file problem, check to see if the problem is fixed.