10.9. tpm Validation Checks

During configuration and installation, tpm runs a number of configuration, operating system, datasource, and other validation checks to ensure that the correct environment, prerequisites and other settings will produce a valid, working, configuration.

All relevant checks are executed automatically unless specifically ignored (warnings) or disabled (checks) using the corresponding skip-validation-warnings or skip-validation-check options.

Table 10.17. tpm Validation Checks

OptionDescription
BackupDirectoryWriteableCheckChecks that the configured backup directory is writeable
BackupDumpDirectoryWriteableCheckChecks the backup temp directory is writeable
BackupScriptAvailableCheckChecks that the configured backup script exists and can be executed
ClusterDiagnosticCheck
ClusterStatusCheck
CommitDirectoryCheck
ConfigurationStorageDirectoryCheck
ConfigureValidationCheck
ConfiguredDirectoryCheck
ConflictingReplicationServiceTHLPortsCheck
ConnectorChecksEnsures that the configured connector selection is valid
ConnectorDBVersionCheck
ConnectorListenerAddressCheck
ConnectorRWROAddressesCheckEnsure the RW and RO addresses are different
ConnectorSmartScaleAllowedCheckConfirms whether SmartScale is valid within the current configured parameters
ConnectorUserCheck
ConsistentReplicationCredentialsCheck
CurrentCommandCoordinatorCheck
CurrentConnectorCheck
CurrentReleaseDirectoryIsSymlink
CurrentTopologyCheck
CurrentVersionCheck
DatasourceBootScriptCheck
DifferentMasterSlaveCheck
DirectOracleServiceSIDCheck
EncryptionCheck
EncryptionKeystoreCheck
FileValidationCheck
FirewallCheck
GlobalHostAddressesCheck
GlobalHostOracleLibrariesFoundCheck
GlobalMatchingPingMethodCheck
GlobalRestartComponentsCheck
GroupValidationCheck
HdfsValidationCheck
HostLicensesCheck
HostOracleLibrariesFoundCheck
HostReplicatorServiceRunningCheck
HostSkippedChecks
HostnameCheck
HostsFileCheck
InstallServicesCheck
InstallationScriptCheck
InstallerMasterSlaveCheckChecks whether a Primary host has been defined for the configured service.
InstallingOverExistingInstallation
JavaUserTimezoneCheck
JavaVersionCheck
KeystoresCheck
KeystoresToCommitCheck
ManagerActiveWitnessConversionCheck
ManagerChecks
ManagerHeapThresholdCheck
ManagerListenerAddressCheck
ManagerPingMethodCheck
ManagerWitnessAvailableCheck
ManagerWitnessNeededCheck
MatchingHomeDirectoryCheck
MissingReplicationServiceConfigurationCheck
ModifiedConfigurationFilesCheck
MySQLAllowIntensiveChecksEnables searching MySQL INFORMATION_SCHEMA for validation checks
MySQLApplierLogsCheck
MySQLApplierPortCheck
MySQLApplierServerIDCheck
MySQLAvailableCheckChecks if MySQL is installed
MySQLBinaryLogsEnabledCheckChecks that binary logging has been enabled on MySQL
MySQLBinlogDoDbCheck
MySQLClientCheckChecks whether the MySQL client command tool is available
MySQLConfigFileCheckChecks the existence of a MySQL configuration file
MySQLConnectorBridgeModePermissionsCheck
MySQLConnectorPermissionsCheck
MySQLDefaultTableTypeCheckChecks the default table type for MySQL
MySQLDumpCheckChecks that the mysqldump command version matches the installed MySQL
MySQLGeneratedColumnCheckChecks whether MySQL virtual/generated columns are defined
MySQLInnoDBEnabledCheck
MySQLJsonDataTypeCheck
MySQLLoadDataInfilePermissionsCheck
MySQLLoginCheckChecks whether Tungsten Cluster can connect to MySQL using the configured credentials
MySQLMyISAMCheckChecks for the existence of MyISAM tables
MySQLNoMySQLReplicationCheck
MySQLPasswordSettingCheck
MySQLPermissionsCheck
MySQLReadableLogsCheck
MySQLSettingsCheck
MySQLSuperReadOnlyCheckChecks whether super_read_only has been enabled on MySQL
MySQLTriggerCheck
MySQLUnsupportedDataTypesCheck
MysqlConnectorCheck
MysqldumpAvailableCheck
MysqldumpSettingsCheck
NewDirectoryRequiredCheck
NtpdRunningCheck
OSCheck
OldServicesRunningCheck
OpenFilesLimitCheck
OpensslLibraryCheck
OracleLoginCheck
OraclePermissionsCheck
OracleRedoReaderMinerDirectoryCheck
OracleServiceSIDCheck
OracleVersionCheck
PGAvailableCheck
ParallelReplicationCheck
ParallelReplicationCountCheck
PgControlAvailableCheck
PgStandbyAvailableCheck
PgdumpAvailableCheck
PgdumpallAvailableCheck
PingSyntaxCheck
PortAvailabilityCheck
ProfileScriptCheck
RMIListenerAddressCheck
RelayDirectoryWriteableCheckChecks that the relay log directory can be written to
ReplicatorChecks
RestartComponentsCheck
RouterAffinityCheck
RouterBridgeModeDefaultCheck
RouterDelayBeforeOfflineCheck
RouterKeepAliveTimeoutCheck
RowBasedBinaryLoggingCheckChecks that Row-based binary logging has been enabled for heterogeneous deployments
RsyncAvailableCheck
RubyVersionCheck
SSHLoginCheckChecks connectivity to other hosts over SSH
ServiceTransferredLogStorageCheck
StartingStoppedServices
SudoCheck
SwappinessCheckChecks the swappiness OS configuration is within a recommended range
THLDirectoryWriteableCheck
THLListenerAddressCheck
THLSchemaChangeCheckEnsures that the existing THL format is compatible with the new release
THLStorageCheckConfirms the THL storage directory exists, is empty and writeable
THLStorageChecksum
TargetDirectoryDoesNotExist
TransferredLogStorageCheck
UpgradeSameProductCheckEnsures that the same product is being updated
VIPEnabledHostAllowsRootCommands
VIPEnabledHostArpPath
VIPEnabledHostIfconfigPath
VerticaUserGroupsCheckChecks that the Vertica user has the correct OS group membership
WhichAvailableCheckChecks the existence of a working which command
WriteableHomeDirectoryCheckEnsures the home directory can be written to
WriteableTempDirectoryCheckEnsures the temporary directory can be written to
XtrabackupAvailableCheck
XtrabackupDirectoryWriteableCheck
XtrabackupSettingsCheck

− BackupDirectoryWriteableCheck

OptionBackupDirectoryWriteableCheck
DescriptionChecks that the configured backup directory is writeable

Confirms that the directory defined in backup-directory directory exists and can be written to.

− BackupDumpDirectoryWriteableCheck

OptionBackupDumpDirectoryWriteableCheck
DescriptionChecks the backup temp directory is writeable

Confirms that the directory defined in backup-dump-directory directory exists and can be written to.

− BackupScriptAvailableCheck

OptionBackupScriptAvailableCheck
DescriptionChecks that the configured backup script exists and can be executed

Confirms that the script defined in backup-script exists and is executable.

− ClusterDiagnosticCheck

OptionClusterDiagnosticCheck
Description 

− ClusterStatusCheck

OptionClusterStatusCheck
Description 

− CommitDirectoryCheck

OptionCommitDirectoryCheck
Description 

− ConfigurationStorageDirectoryCheck

− ConfigureValidationCheck

OptionConfigureValidationCheck
Description 

− ConfiguredDirectoryCheck

OptionConfiguredDirectoryCheck
Description 

− ConflictingReplicationServiceTHLPortsCheck

− ConnectorChecks

OptionConnectorChecks
DescriptionEnsures that the configured connector selection is valid

Checks that the list of connectors and the corresponding list of data services is valid.

− ConnectorDBVersionCheck

OptionConnectorDBVersionCheck
Description 

− ConnectorListenerAddressCheck

− ConnectorRWROAddressesCheck

OptionConnectorRWROAddressesCheck
DescriptionEnsure the RW and RO addresses are different

For environments where the connector has been configured to use different hosts and ports for RW and RO operations, ensure that the settings are in fact different.

− ConnectorSmartScaleAllowedCheck

OptionConnectorSmartScaleAllowedCheck
DescriptionConfirms whether SmartScale is valid within the current configured parameters

Checks that both SmartScale and Read/Write splitting have been enabled.

− ConnectorUserCheck

OptionConnectorUserCheck
Description 

− ConsistentReplicationCredentialsCheck

− CurrentCommandCoordinatorCheck

− CurrentConnectorCheck

OptionCurrentConnectorCheck
Description 

− CurrentReleaseDirectoryIsSymlink

− CurrentTopologyCheck

OptionCurrentTopologyCheck
Description 

− CurrentVersionCheck

OptionCurrentVersionCheck
Description 

− DatasourceBootScriptCheck

OptionDatasourceBootScriptCheck
Description 

− DifferentMasterSlaveCheck

OptionDifferentMasterSlaveCheck
Description 

− DirectOracleServiceSIDCheck

OptionDirectOracleServiceSIDCheck
Description 

− EncryptionCheck

OptionEncryptionCheck
Description 

− EncryptionKeystoreCheck

OptionEncryptionKeystoreCheck
Description 

− FileValidationCheck

OptionFileValidationCheck
Description 

− FirewallCheck

OptionFirewallCheck
Description 

− GlobalHostAddressesCheck

OptionGlobalHostAddressesCheck
Description 

− GlobalHostOracleLibrariesFoundCheck

− GlobalMatchingPingMethodCheck

− GlobalRestartComponentsCheck

OptionGlobalRestartComponentsCheck
Description 

− GroupValidationCheck

OptionGroupValidationCheck
Description 

− HdfsValidationCheck

OptionHdfsValidationCheck
Description 

− HostLicensesCheck

OptionHostLicensesCheck
Description 

− HostOracleLibrariesFoundCheck

− HostReplicatorServiceRunningCheck

− HostSkippedChecks

OptionHostSkippedChecks
Description 

− HostnameCheck

OptionHostnameCheck
Description 

− HostsFileCheck

OptionHostsFileCheck
Description 

− InstallServicesCheck

OptionInstallServicesCheck
Description 

− InstallationScriptCheck

OptionInstallationScriptCheck
Description 

− InstallerMasterSlaveCheck

OptionInstallerMasterSlaveCheck
DescriptionChecks whether a Primary host has been defined for the configured service.

− InstallingOverExistingInstallation

− JavaUserTimezoneCheck

OptionJavaUserTimezoneCheck
Description 

− JavaVersionCheck

OptionJavaVersionCheck
Description 

− KeystoresCheck

OptionKeystoresCheck
Description 

− KeystoresToCommitCheck

OptionKeystoresToCommitCheck
Description 

− ManagerActiveWitnessConversionCheck

− ManagerChecks

OptionManagerChecks
Description 

− ManagerHeapThresholdCheck

OptionManagerHeapThresholdCheck
Description 

− ManagerListenerAddressCheck

OptionManagerListenerAddressCheck
Description 

− ManagerPingMethodCheck

OptionManagerPingMethodCheck
Description 

− ManagerWitnessAvailableCheck

OptionManagerWitnessAvailableCheck
Description 

− ManagerWitnessNeededCheck

OptionManagerWitnessNeededCheck
Description 

− MatchingHomeDirectoryCheck

OptionMatchingHomeDirectoryCheck
Description 

− MissingReplicationServiceConfigurationCheck

− ModifiedConfigurationFilesCheck

− MySQLAllowIntensiveChecks

OptionMySQLAllowIntensiveChecks
DescriptionEnables searching MySQL INFORMATION_SCHEMA for validation checks

Enables tpm to make use of the MySQL INFORMATION_SCHEMA to perform various validation checks. These include, but are not limited to:

  • Tables not configured to use transactional tables

  • Unsupported datatypes in MySQL tables

− MySQLApplierLogsCheck

OptionMySQLApplierLogsCheck
Description 

− MySQLApplierPortCheck

OptionMySQLApplierPortCheck
Description 

− MySQLApplierServerIDCheck

OptionMySQLApplierServerIDCheck
Description 

− MySQLAvailableCheck

OptionMySQLAvailableCheck
DescriptionChecks if MySQL is installed

− MySQLBinaryLogsEnabledCheck

OptionMySQLBinaryLogsEnabledCheck
DescriptionChecks that binary logging has been enabled on MySQL

Examines the log_bin variable has been defined within the running MySQL server. Binary logging must be enabled for replication to work.

− MySQLBinlogDoDbCheck

OptionMySQLBinlogDoDbCheck
Description 

− MySQLClientCheck

OptionMySQLClientCheck
DescriptionChecks whether the MySQL client command tool is available

− MySQLConfigFileCheck

OptionMySQLConfigFileCheck
DescriptionChecks the existence of a MySQL configuration file

− MySQLConnectorBridgeModePermissionsCheck

− MySQLConnectorPermissionsCheck

− MySQLDefaultTableTypeCheck

OptionMySQLDefaultTableTypeCheck
DescriptionChecks the default table type for MySQL

Checks that the default table type configured for MySQL is a compatible transactional storage engine such as InnoDB

− MySQLDumpCheck

OptionMySQLDumpCheck
DescriptionChecks that the mysqldump command version matches the installed MySQL

Checks whether the mysqldump command within the configured PATH matches the version of MySQL being configured as a source or target. A mismatch could indicate that multiple MySQL versions are installed.

A mismatch could create invalid or corrupt backups. Either correct your PATH or use preferred-path to point to the correct MySQL installation.

− MySQLGeneratedColumnCheck

OptionMySQLGeneratedColumnCheck
DescriptionChecks whether MySQL virtual/generated columns are defined

Checks, whether any tables contain generated or virtual columns. The test is only executed on MySQL 5.7+ and only if mysql-allow-intensive-checks has been enabled.

− MySQLInnoDBEnabledCheck

OptionMySQLInnoDBEnabledCheck
Description 

− MySQLJsonDataTypeCheck

OptionMySQLJsonDataTypeCheck
Description 

Checks, whether any tables contain JSON columns. The test is only executed on MySQL 5.7+ and only if mysql-allow-intensive-checks has been enabled.

− MySQLLoadDataInfilePermissionsCheck

− MySQLLoginCheck

OptionMySQLLoginCheck
DescriptionChecks whether Tungsten Cluster can connect to MySQL using the configured credentials

− MySQLMyISAMCheck

OptionMySQLMyISAMCheck
DescriptionChecks for the existence of MyISAM tables

Checks for the existence of MyISAM tables within the database. Use of MyISAM tables is not supported since MyISAM is not transactionally consistent. This can cause problems for both extraction and applying data.

In order to check for the existence of MyISAM tables, tpm uses two techniques:

  • Looking for .MYD files within the MySQL directory, which are the files which contains MyISAM data. tpm must be able to read and see the contents of the MySQL data directory. If the configured user does not already have access, you can use the root-command-prefix=true option to grant root access to access the filesystem.

  • Using the MySQL INFORMATION_SCHEMA to look for tables defined with the MyISAM engine. For this option to work, intensive checks must have been enabled using mysql-allow-intensive-checks.

If neither of these methods is available, the check will fail and installation will stop.

− MySQLNoMySQLReplicationCheck

OptionMySQLNoMySQLReplicationCheck
Description 

− MySQLPasswordSettingCheck

OptionMySQLPasswordSettingCheck
Description 

− MySQLPermissionsCheck

OptionMySQLPermissionsCheck
Description 

− MySQLReadableLogsCheck

OptionMySQLReadableLogsCheck
Description 

− MySQLSettingsCheck

OptionMySQLSettingsCheck
Description 

− MySQLSuperReadOnlyCheck

OptionMySQLSuperReadOnlyCheck
DescriptionChecks whether super_read_only has been enabled on MySQL

Checks whether the super_read_only variable within MySQL has been enabled. If enabled, replication will not work. The check will test both the running server and the configuration file to determine whether the value has been enabled.

− MySQLTriggerCheck

OptionMySQLTriggerCheck
Description 

− MySQLUnsupportedDataTypesCheck

− MysqlConnectorCheck

OptionMysqlConnectorCheck
Description 

− MysqldumpAvailableCheck

OptionMysqldumpAvailableCheck
Description 

− MysqldumpSettingsCheck

OptionMysqldumpSettingsCheck
Description 

− NewDirectoryRequiredCheck

OptionNewDirectoryRequiredCheck
Description 

− NtpdRunningCheck

OptionNtpdRunningCheck
Description 

− OSCheck

OptionOSCheck
Description 

− OldServicesRunningCheck

OptionOldServicesRunningCheck
Description 

− OpenFilesLimitCheck

OptionOpenFilesLimitCheck
Description 

− OpensslLibraryCheck

OptionOpensslLibraryCheck
Description 

− OracleLoginCheck

OptionOracleLoginCheck
Description 

− OraclePermissionsCheck

OptionOraclePermissionsCheck
Description 

− OracleRedoReaderMinerDirectoryCheck

− OracleServiceSIDCheck

OptionOracleServiceSIDCheck
Description 

− OracleVersionCheck

OptionOracleVersionCheck
Description 

− PGAvailableCheck

OptionPGAvailableCheck
Description 

− ParallelReplicationCheck

OptionParallelReplicationCheck
Description 

− ParallelReplicationCountCheck

− PgControlAvailableCheck

OptionPgControlAvailableCheck
Description 

− PgStandbyAvailableCheck

OptionPgStandbyAvailableCheck
Description 

− PgdumpAvailableCheck

OptionPgdumpAvailableCheck
Description 

− PgdumpallAvailableCheck

OptionPgdumpallAvailableCheck
Description 

− PingSyntaxCheck

OptionPingSyntaxCheck
Description 

− PortAvailabilityCheck

OptionPortAvailabilityCheck
Description 

− ProfileScriptCheck

OptionProfileScriptCheck
Description 

− RMIListenerAddressCheck

OptionRMIListenerAddressCheck
Description 

− RelayDirectoryWriteableCheck

OptionRelayDirectoryWriteableCheck
DescriptionChecks that the relay log directory can be written to

Confirms that the directory defined in relay-log-dir directory exists and can be written to.

− ReplicatorChecks

OptionReplicatorChecks
Description 

− RestartComponentsCheck

OptionRestartComponentsCheck
Description 

− RouterAffinityCheck

OptionRouterAffinityCheck
Description 

− RouterBridgeModeDefaultCheck

OptionRouterBridgeModeDefaultCheck
Description 

− RouterDelayBeforeOfflineCheck

− RouterKeepAliveTimeoutCheck

OptionRouterKeepAliveTimeoutCheck
Description 

− RowBasedBinaryLoggingCheck

OptionRowBasedBinaryLoggingCheck
DescriptionChecks that Row-based binary logging has been enabled for heterogeneous deployments

For heterogeneous deployments, row-based binary logging must have been enabled. For all services where heterogeneous support has been enabled, for example due to enable-heterogeneous-service or enable-batch-service, row-based logging within MySQL must have been switched on. The test looks for the value of binlog_format=ROW.

− RsyncAvailableCheck

OptionRsyncAvailableCheck
Description 

− RubyVersionCheck

OptionRubyVersionCheck
Description 

− SSHLoginCheck

OptionSSHLoginCheck
DescriptionChecks connectivity to other hosts over SSH

Checks to confirm the SSH logins to other hosts in the cluster work, without requiring a password, and without returning additional rows of information when directly, remotely, running a command.

In the event of the check failing, the following items should be checked:

  • Confirm that it is possible to SSH to the remote site using the username provided, and without requiring a password. For example:

    host1-shell> ssh tungsten@host2
    Last login: Wed Aug 9 09:55:23 2017 from fe80::1042:8aee:61da:a20%en0
    host2-shell>
  • Remove any remote messages returned when the user logs in. This includes the output from the Banner argument within /etc/ssh/sshd_config, or text or files output by the users shell login script or profile.

  • Ensure that your remote shell has not been configured to output text or a message when a logout is attempted, for example by using:

    shell> trap "echo logout" 0

− ServiceTransferredLogStorageCheck

− StartingStoppedServices

OptionStartingStoppedServices
Description 

− SudoCheck

OptionSudoCheck
Description 

− SwappinessCheck

OptionSwappinessCheck
DescriptionChecks the swappiness OS configuration is within a recommended range

Checks whether the Linux swappiness parameter has been set to a value of 10 or less, both in the current setting and when the system reboots. A value greater than 10 may allow for running programs to be swapped out, which will affect the performance of the Tungsten Clustering when running. Change the value in sysctl.conf.

− THLDirectoryWriteableCheck

OptionTHLDirectoryWriteableCheck
Description 

− THLListenerAddressCheck

OptionTHLListenerAddressCheck
Description 

− THLSchemaChangeCheck

OptionTHLSchemaChangeCheck
DescriptionEnsures that the existing THL format is compatible with the new release

Checks that the format of the current THL is compatible with the schema and format of the new software. A difference may mean that the THL needs to be reset before installation can continue.

− THLStorageCheck

OptionTHLStorageCheck
DescriptionConfirms the THL storage directory exists, is empty and writeable

Confirms that the directory configured for THL storage using log-dir directory exists, is writeable, and is empty.

− THLStorageChecksum

OptionTHLStorageChecksum
Description 

− TargetDirectoryDoesNotExist

OptionTargetDirectoryDoesNotExist
Description 

− TransferredLogStorageCheck

OptionTransferredLogStorageCheck
Description 

− UpgradeSameProductCheck

OptionUpgradeSameProductCheck
DescriptionEnsures that the same product is being updated

Updates must occur with the same product, for example, Tungsten Replicator to Tungsten Replicator. It is not possible to update replicator to cluster, or cluster to replicator.

− VIPEnabledHostAllowsRootCommands

− VIPEnabledHostArpPath

OptionVIPEnabledHostArpPath
Description 

− VIPEnabledHostIfconfigPath

OptionVIPEnabledHostIfconfigPath
Description 

− VerticaUserGroupsCheck

OptionVerticaUserGroupsCheck
DescriptionChecks that the Vertica user has the correct OS group membership

Checks whether the user running Vertica is a member of the tungsten user's primary group. Without this setting, the CSV files generated by the replicator would not be readable by Vertica when importing them into the database during batchloading.

− WhichAvailableCheck

OptionWhichAvailableCheck
DescriptionChecks the existence of a working which command

Checks the existence of a working which command.

− WriteableHomeDirectoryCheck

OptionWriteableHomeDirectoryCheck
DescriptionEnsures the home directory can be written to

Checks that the home directory for the configured user can be written to.

− WriteableTempDirectoryCheck

OptionWriteableTempDirectoryCheck
DescriptionEnsures the temporary directory can be written to

The temporary directory is used during installation to store a variety of information. This check ensures that the directory is writeable, and that files can be created and deleted correctly.

− XtrabackupAvailableCheck

OptionXtrabackupAvailableCheck
Description 

− XtrabackupDirectoryWriteableCheck

− XtrabackupSettingsCheck

OptionXtrabackupSettingsCheck
Description