gpmovemirrors

gpmovemirrors

移动镜像实例到新位置

概要

gpmovemirrors -i move_config_file [-d master_data_directory] 
          [-l logfile_directory] 
          [-B parallel_processes] [-v]

gpmovemirrors -? 

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元数据表中的信息一样):
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数据库系统移动到一个不同的主机集合:

$ gpmovemirrors -i move_config_file

此处move_config_file的配置信息如下:

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