gpmovemirrors

移动镜像实例到新位置

概要

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

描述

gpmovemirrors工具将镜像实例移动到新位置。客户可能会想移动镜像到新位置以优化分布 和数据存储

在移动Segment之前,该工具会验证Mirror是否存在,他们对应的主节点是否在线和目前同步状态在同步还是 异步模式。

默认情况下,工具会提示您输入所有镜像要移动到的文件系统路径。

客户必须保证运行gpmovemirrors的用户(gpadmin用户) 拥有该位置的访问权限。所以最好在运行gpmovemirrors工具之前在各个Segment主机 上创建好对应的路径,并使用chown命令付给指定用户相应的权限。

选项

-B parallel_processes

要并行移动的镜像Segment数量。如果不指定,工具默认启动4个并行进程,具体数量与 要移动多少镜像实例数量有关。

-d master_data_directory

主机数据目录。如果不指定,默认使用$MASTER_DATA_DIRECTORY 的值。

-i move_config_file

包含哪些镜像要被移动,被移动到哪里等信息的配置文件。

每一个主Segment必须有一个对应的镜像Segment列出。配置文件中的每行都用以下格式 (就像gp_segment_configuration元数据表中的信息一样):

  1. contentID:address:port:data_dir new_address:port:data_dir

contentID是Segment实例的content ID, address是Segment主机的主机名或IP地址, port是沟通端口,data_dir是Segment 实例的数据目录。

-l logfile_directory

日志写入路径。默认为~/gpAdminLogs。

-v(详细日志)

设置日志输出为详细级别。

--version(显示工具版本)

显示工具的版本信息。

-?(帮助)

显示在线帮助信息。

示例

将Greenplum数据库系统移动到一个不同的主机集合:

  1. $ gpmovemirrors -i move_config_file

此处move_config_file的配置信息如下:

  1. 1:sdw2:50001:/data2/mirror/gpseg1 sdw3:50001:/data/mirror/gpseg1
  2. 2:sdw2:50001:/data2/mirror/gpseg2 sdw4:50001:/data/mirror/gpseg2
  3. 3:sdw3:50001:/data2/mirror/gpseg3 sdw1:50001:/data/mirror/gpseg3