What is HostChecker?

The HostChecker is a standalone program which validates that host machines are configured correctly before the Delphix Engine uses them as data sources and provision targets.

Please note that HostChecker does not communicate changes made to hosts back to the Delphix Engine. If you reconfigure a host, you must refresh the host in the Delphix Engine in order for it to detect your changes.

You can run the tests contained in the HostChecker individually, or all at once. You must run these tests on both the source and target hosts to verify their configurations. As the tests run, you will either see validation messages that the test has completed successfully, or error messages directing you to make changes to the host configuration.

The Oracle HostChecker is distributed as a set of Java files and executables. You can find these files and executables in 5 distinct tarballs, each containing a different jdk corresponding to a particular platform (OS + processor). Together, these tarballs comprise the set of engines supported by Delphix. When validating Oracle hosts during a new deployment, it is important to download the appropriate tarball for the host you are validating. Tarballs follow the naming convention "hostchecker_<OS>_<processor>.tar." For example, if you are validating a linux x86 host, you should download the tarball named hostchecker_linux_x86.tar.

The Oracle HostChecker is also included in the Delphix Toolkit which is pushed to every environment managed by the Delphix Engine. It can be found in /<toolkit-path>/<Delphix_COMMON>/client/hostchecker.

Prerequisites

Ensure that your Oracle environment meets the requirements described in the following pages:


Procedure

  1. Download the appropriate HostChecker tarball for your engine from https://download.delphix.com/Tarballs follow the naming convention "hostchecker_<OS>_<processor>.tar". For example, if you are validating a linux x86 host you should download the hostchecker_linux_x86.tar tarball
  2. Create a working directory and extract the HostChecker files from the HostChecker tarball.

    mkdir dlpx-host-checker
    cd dlpx-host-checker/
    tar -xf hostchecker_linux_x86.tar
  3. Run the sh script contained within:

    sh hostchecker.sh

    This will extract the JDK included in the tarball (if necessary) and invoke the HostChecker. 

    ora10205@bbdhcp:/home/ora10205/hostchecker-> sh hostchecker.sh
    Extracting the JDK from the tarball jdk-6u45-linux-i586.tar.gz.

    Don't Run as Root

    Do not run the HostChecker as root; this will cause misleading or incorrect results from many of the checks.

  4. Select which checks you want to run. 

    Run Tests without the Interface

    You can also run checks without spawning the interface. Enter --help to get a list of arguments you can pass to the HostChecker.

  5. As the checks are made, enter the requested arguments.
  6. Read the output of the check.  
    The general format is that severity increases as you scroll down the output. First comes informational output, then warnings, then errors.

    Internal Errors

    If you see a message that starts with Internal Error, forward it to Delphix Support immediately. This represents a potential bug in the HostChecker, and not necessarily a problem with your environment.

  7. Error or warning messages will explain any possible problems and how to address them. Resolve the issues that the HostChecker describes. Do not be surprised or undo your work if more errors appear the next time you run HostChecker, because the error you just fixed may have been masking other problems.
  8. Repeat steps 3 - 7 until all the checks return no errors or warnings.
 

Non-Interactive Mode

The Java hostchecker can also be invoked in non-interactive mode. Each check is associated with a numeric flag; the association can be displayed using the -help input flag. To run a particular check pass in the associated flag.
java -jar hostchecker.jar -help
usage: java -jar hostchecker.jar [OPTIONS]
 -0             Check homedir permissions
 -1             Check network port access
 -10            Check toolkit path
 -2             Check the Oracle CRS home
 -3             Check the Oracle installation
 -4             Check Oracle DB Instance
 -5             Check the oratab file
 -6             Check for ssh connectivity
 -7             Check sshd_config for timeout configuration
 -8             Check user sudo privileges
 -9             Check sunrpc.tcp_slot_table_entries
 -all           Execute all checks
 -help          Print this message
 -input <arg>   Input to hostchecker as a JSON string

In non-interactive mode, the input parameters necessary to run the checks must be passed to the hostchecker as a JSON string using the -input flag.

java -jar hostchecker.jar -0 -1 -10 -2 -3 -5 -6 -7 -8 -9 -input '{"toolkitPath":"/work","applianceIP":"kfc-trunk.dcenter.delphix.com","sudoCredentials":{"username":"ora10205","password":"ora10205"},"sshCredentials":{"username":"ora10205","password":"ora10205"},"port":"4000","source":true,"oracleCRSHome":"/work"}'

Tests Run

TestApplicable PlatformsOracle SourceOracle TargetDescription
Check Host Secure Shell (SSH) ConnectivityAllXXVerifies that the environment is accessible via SSH
Check Tool Kit PathAllXXVerifies that the toolkit installation location is suitable – for example, that it has the proper ownership, permissions, and enough free space
Check Home Directory PermissionsAllXXVerifies that the host can be accessed via SSH using public key authentication. If you do not need this feature, you can ignore the results of this check, or you can choose not to run it.
Check Inventory AccessAllXXVerifies that the current user has access to the Oracle inventory file
Check Oracle InstallationAllXXVerifies basic information about the Oracle installation on the system, including that various files are in expected locations, that they are formatted properly, and that they have the correct permissions
Check ORATAB FileAllX
Verifies that the oratab file is in an expected location and is formatted appropriately. You only need to run this on source machines.
Check Oracle DB InstanceAllX
Verifies more specific information both about the installation of oracle on the system and about the various databases. Information includes not only file locations, formatting, and permissions, but also the presence of DB listeners, database settings, oracle versions, oracle user permissions, and more. You only need to run this on source machines.
Check Oracle CRS InstallationAllXXVerifies settings related to Oracle CRS.  You only need to run this on machines that have CRS set up.
Check OS User PrivilegesAll
XShould be run on source hosts to verify super-user access to either PARGS (Solaris) or PS (all other UNIX).
Check SnapSync ConnectivityAllX
Verifies that the source host is able to connect to the Delphix Engine at port 8415 for SnapSync
Check transmission control protocol (TCP) slot table entries

Linux

RHEL 4.0-5.6


X

Check that the maximum number of (TCP) RPC requests that can be in flight is at least 128.

Checking Hosts Post-Deployment

The hostchecker is included in the Delphix toolkit directory on all machines that are added to Delphix and can be used to validate a host's configuration at any time. To run the hostchecker simply invoke it using the java binary. Note that the JDK is also included in the Delphix toolkit directory and can be used to run the hostchecker if no suitable version of java is installed on the host.   

cd <Delphix Toolkit Directory>/Delphix_COMMON_<server-id>/client/hostchecker
/<Delphix Toolkit Directory>/Delphix_COMMON_<server-id>/java/jdk/bin/java -jar hostchecker.jar