Installation of NetBackup client in non-global zones fails when client is already installed in a global zone.

Article:TECH187856  |  Created: 2012-05-01  |  Updated: 2014-02-18  |  Article URL http://www.symantec.com/docs/TECH187856
Article Type
Technical Solution

Product(s)

Issue



The problem happens when installing NetBackup on non-global zones when client was already installed on the global zone.
The error complains that links /opt/pdag and /opt/pdshared already exist -
Please remove /opt/pdag and /opt/pdshared links and restart the installation.


Error



NetBackup Deduplication, PDDO or Classic PureDisk Agent software
is incorrectly installed.  Please remove /opt/pdag and
/opt/pdshared links and restart the installation.

PureDisk precheck failed.  Resolve issues with PureDisk
installations and re-run this NetBackup installation script.


Environment



NetBackup client was installed in the global zone and the server meets the description from technote TECH65627 of
"has a sparse non-global zone using a read-only loopback device for the /usr directory".

The non-global zones are spare-root (as opposed to whole-root) zones. This means
that the system software directories & files are made available via readonly access to the global zone.

/opt is managed by the global zone, the same way as /usr. This allows to install
software under /opt in the global zone and have it immediately available to
all the non-global zones.


Cause



In the global zone when NetBackup client was installed, it created the following soft links -
ls -l /opt/pd*
lrwxrwxrwx   1 root     root          28 Dec 16 11:14 pdag -> /usr/openv/pdde/pdopensource
lrwxrwxrwx   1 root     root          24 Dec 16 11:14 pdshared -> /usr/openv/pdde/pdshared

These links can also be seen in all the non-global zones.


Solution



The error is coming from pdinstall, it first checks for existense of /etc/pdregistry.cfg and then looks for /opt/pdag and /opt/pdshared soft links.


Can get the same error by running the precheck -
pdinstall -precheck

Note: pdinstall can be found under <dir>/NetBackup_<release>_<OS_Platform>_<Hardware>/<OS>/catalog/anb/pdinstall
For example, for Solaris and NetBackup 7.5, it can be found here -
<dir>/NetBackup_7.5_Solaris_Sparc64/solaris/catalog/anb/pdinstall

The precheck is failing with the error, if there is no /etc/pdregistry.cfg but the links for /opt/pdag and /opt/pdshared links are present.

 

To troubleshoot the pdinstall script and to see where it is failing, run it with "sh -x" in front of it -

sh -x pdinstall -precheck

Look for the check for /etc/pdregistry.cfg file and /opt/pdag, /opt/pdshared directories -

+ [ -f /etc/pdregistry.cfg ]
+ [ ! -d /opt/pdag -a ! -d /opt/pdshared ]
 

Look for any errors after that check.

As a workaround copy the /etc/pdregistry.cfg from the global to the local zone, the precheck should work after that.

 

 

After that the install was still hanging, the install log showed the following -

Installing PBX...
Same version is already installed. Nothing to upgrade for package VRTSpbx
Installation log located here: /var/tmp/installpbx-*.log


Unpacking SYMCnbclt package.
Checking for pre-existing SYMCnbclt package.
Installing SYMCnbclt package.

 

Checked install trace under /usr/openv/tmp/install_cltpkg_trace.<pid>, it was prompting pkgadd for input -

WARNING: The <VRTSpbx> package "Symantec Private Branch Exchange" is a prerequisite package and is not completely installed.

Do you want to continue with the installation of <SYMCnbclt> [y,n,?]

 

This was the reason for the hang as it cannot interact with the installer.

The reason for the hang is that VRTSpbx package was installed in all zones during the install
of the client in the global zone. In this case it is crucial that it gets installed in the current zone only as /opt is shared,  so need to create a link from /opt/VRTSpbx to a non-shared location, so each zone gets a non-shared copy of PBX (Note: this only needs to be done if /opt is managed by the global zone).

 

To resolve the hang -

1. Stop PBX in the global zone

/opt/VRTSpbx/bin/vxpbx_exchanged stop

 

2. Uninstall PBX in the global zone, which will uninstall it from the global zones and also all non-global zones -

installpbx -u

 

3. Confirmed in all zones that VRTSpbx was uninstalled

pkginfo VRTSpbx

 

4. If /opt is managed by global zone, create /var/VRTSpbx and link it to /opt/VRTSpbx

On both global and non-global zones -

mkdir /var/VRTSpbx

 

Only on global zone -

ln -s /var/VRTSpbx /opt/VRTSpbx

 

5. Reinstall PBX in the global zone only

(Note: "-z" flag in installpbx allows it to be installed in the current zone.)

installpbx -z -f PBX.tar.gz

 

6. Modify client_config script so it has "-z" flag for installpbx -

installpbx -z -f PBX.tar.gz

 

7. Rerun NetBackup install in the non-global zone. It will work now.


Supplemental Materials

SourceETrack
Value2668775
Description

Installation of NBU client in non-global zones failing pdde_precheck function in pdinstall.sh when client is already installed in a global zone.


SourceETrack
Value2727986
Description

PBX gets uninstalled in all Solaris zones during an upgrade. There is no pgkrm -G option.




Article URL http://www.symantec.com/docs/TECH187856


Terms of use for this information are found in Legal Notices