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.6. tpm Validation Checks
− BackupDirectoryWriteableCheck
Confirms that the directory defined in
--backup-dir
directory exists
and can be written to.
− BackupDumpDirectoryWriteableCheck
Confirms that the directory defined in
--backup-dump-dir
directory
exists and can be written to.
− BackupScriptAvailableCheck
Confirms that the script defined in
--backup-script
exists and is
executable.
− ClusterDiagnosticCheck
− ClusterStatusCheck
− CommitDirectoryCheck
− ConfigurationStorageDirectoryCheck
− ConfigureValidationCheck
− ConfiguredDirectoryCheck
− ConflictingReplicationServiceTHLPortsCheck
− ConnectorChecks
Checks that the list of connectors and the corresponding list of
data services is valid.
− ConnectorDBVersionCheck
− ConnectorListenerAddressCheck
− ConnectorRWROAddressesCheck
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
Checks that both SmartScale and Read/Write splitting have been
enabled.
− 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
− InstallerMasterSlaveCheck
− InstallingOverExistingInstallation
− JavaUserTimezoneCheck
− JavaVersionCheck
− KeystoresCheck
− KeystoresToCommitCheck
− ManagerActiveWitnessConversionCheck
− ManagerChecks
− ManagerHeapThresholdCheck
− ManagerListenerAddressCheck
− ManagerPingMethodCheck
− ManagerWitnessAvailableCheck
− ManagerWitnessNeededCheck
− MatchingHomeDirectoryCheck
− MissingReplicationServiceConfigurationCheck
− ModifiedConfigurationFilesCheck
− MySQLAllowIntensiveChecks
Enables tpm to make use of the MySQL
INFORMATION_SCHEMA
to
perform various validation checks. These include, but are not
limited to:
− MySQLApplierLogsCheck
− MySQLApplierPortCheck
− MySQLApplierServerIDCheck
− MySQLAvailableCheck
− MySQLBinaryLogsEnabledCheck
Examines the log_bin
variable has been defined within the running MySQL server.
Binary logging must be enabled for replication to work.
− MySQLBinlogDoDbCheck
− MySQLClientCheck
− MySQLConfigFileCheck
− MySQLConnectorBridgeModePermissionsCheck
− MySQLConnectorPermissionsCheck
− MySQLDefaultTableTypeCheck
Checks that the default table type configured for MySQL is a
compatible transactional storage engine such as InnoDB
− MySQLDumpCheck
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
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
− MySQLJsonDataTypeCheck
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
− MySQLMyISAMCheck
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
− MySQLPasswordSettingCheck
− MySQLPermissionsCheck
− MySQLReadableLogsCheck
− MySQLSettingsCheck
− MySQLSuperReadOnlyCheck
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
− 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
− RelayDirectoryWriteableCheck
Confirms that the directory defined in
--relay-log-dir
directory
exists and can be written to.
− ReplicatorChecks
− RestartComponentsCheck
− RouterAffinityCheck
− RouterBridgeModeDefaultCheck
− RouterDelayBeforeOfflineCheck
− RouterKeepAliveTimeoutCheck
− RowBasedBinaryLoggingCheck
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
− RubyVersionCheck
− SSHLoginCheck
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
− SudoCheck
− SwappinessCheck
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 Cluster when running. Change the value in
sysctl.conf
.
− THLDirectoryWriteableCheck
− THLListenerAddressCheck
− THLSchemaChangeCheck
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
Confirms that the directory configured for THL storage using
--log-dir
directory exists, is
writeable, and is empty.
− THLStorageChecksum
− TargetDirectoryDoesNotExist
− TransferredLogStorageCheck
− UpgradeSameProductCheck
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
− VIPEnabledHostIfconfigPath
− VerticaUserGroupsCheck
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
Checks the existence of a working
which command.
− WriteableHomeDirectoryCheck
Checks that the home directory for the configured user can be
written to.
− WriteableTempDirectoryCheck
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
− XtrabackupDirectoryWriteableCheck
− XtrabackupSettingsCheck