gpmovemirrors

Moves mirror segment instances to new locations.

Synopsis

  1. gpmovemirrors -i <move_config_file> [-d <master_data_directory>]
  2. [-l <logfile_directory>]
  3. [-B <parallel_processes>] [-v]
  4. gpmovemirrors -?
  5. gpmovemirrors --version

Description

The gpmovemirrors utility moves mirror segment instances to new locations. You may want to move mirrors to new locations to optimize distribution or data storage.

Before moving segments, the utility verifies that they are mirrors, and that their corresponding primary segments are up and are in synchronizing or resynchronizing mode.

By default, the utility will prompt you for the file system location(s) where it will move the mirror segment data directories.

You must make sure that the user who runs gpmovemirrors (the gpadmin user) has permissions to write to the data directory locations specified. You may want to create these directories on the segment hosts and chown them to the appropriate user before running gpmovemirrors.

Options

-B parallel_processes

The number of mirror segments to move in parallel. If not specified, the utility will start up to 4 parallel processes depending on how many mirror segment instances it needs to move.

-d master_data_directory

The master data directory. If not specified, the value set for $MASTER_DATA_DIRECTORY will be used.

-i move_config_file

A configuration file containing information about which mirror segments to move, and where to move them.

You must have one mirror segment listed for each primary segment in the system. Each line inside the configuration file has the following format (as per attributes in the gp_segment_configuration, pg_filespace, and pg_filespace_entry catalog tables):

  1. filespaceOrder=[<filespace1_fsname>[:<filespace2_fsname>:...]
  2. <old_address>:<port>:fselocation \
  3. [new_address:<port>:replication_port:fselocation[:<fselocation>:...]]

: Note that you only need to specify a name for filespaceOrder if your system has multiple filespaces configured. If your system does not have additional filespaces configured besides the default pg_system filespace, this file will only have one location (for the default data directory filespace, pg_system). pg_system does not need to be listed in the filespaceOrder line. It will always be the first fselocation listed after replication_port.

-l logfile_directory

The directory to write the log file. Defaults to ~/gpAdminLogs.

-v (verbose)

Sets logging output to verbose.

--version (show utility version)

Displays the version of this utility.

-? (help)

Displays the online help.

Examples

Moves mirrors from an existing Greenplum Database system to a different set of hosts:

  1. $ gpmovemirrors -i move_config_file

Where the move_config_file looks something like this (if you do not have additional filespaces configured besides the default pg_system filespace):

  1. filespaceOrder=filespacea
  2. sdw1-1:61001:/data/mirrors/database/dbfast22/gp1
  3. sdw2-1:61001:43001:/data/mirrors/database/dbfast222/gp1:
  4. /data/mirrors/database/dbfast222fs1