9.7. 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 9.5. 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
ElasticsearchValidationCheck
EncryptionCheck
EncryptionKeystoreCheck
FileValidationCheck
FirewallCheck
GlobalHostAddressesCheck
GlobalHostOracleLibrariesFoundCheck
GlobalMatchingPingMethodCheck
GlobalRestartComponentsCheck
GroupValidationCheck
HdfsValidationCheck
HostLicensesCheck
HostOracleLibrariesFoundCheck
HostReplicatorServiceRunningCheck
HostSkippedChecks
HostnameCheck
HostsFileCheck
InstallServicesCheck
InstallationScriptCheck
InstallerMasterSlaveCheckChecks whether a master 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 Continuent Tungsten 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-dir directory exists and can be written to.

BackupDumpDirectoryWriteableCheck>

OptionBackupDumpDirectoryWriteableCheck
DescriptionChecks the backup temp directory is writeable

Confirms that the directory defined in --backup-dump-dir 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 

ElasticsearchValidationCheck>

OptionElasticsearchValidationCheck
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 master 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 Continuent Tungsten 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 (in [Tungsten Replicator 4.0 Manual]), 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 Continuent Tungsten 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