1. 本文档主要演示GreenPlum数据库非Mirror模式为Segment节点增加Mirror
2. 查看当前segment的状态:
selectdbid,content,role,port,hostname,address from gp_segment_configuration order bydbid;

如上所示,当前数据库有30个Segment节点,下面为每个Segment节点增加一个Mirror,也Segment增加Mirror也分两种情况,一种是在现有的服务器上添加,一种是在新增的机器添加。
3. GreenPlum数据库提供了gpaddmirrors脚本来添加Mirror,非常方便。下面在所有Segment主机上创建Mirror的数据存放目录和文件空间所需的目录。
mkdir home/data/mpp-data/mirror
chown –R ypf home/data/mpp-data/mirror
然后使用gpaddmirrors –o参数生成添加Mirror的参数文件。
gpaddmirrors -o/home/ypf/sample_mirror_config
需要输入每个primary segment对应的mirror的目录,然后提示:
[INFO]:-Configurationfile output to add_mirror successfully.
文件创建成功。
这样就生成了添加Mirror时使用的参数文件,Mirror是Segment节点的镜像,主要用来防止Segment节点故障,Mirror可以直接接替Segment,在4.3版本这个过程对用户来说是透明的,不会影响数据库的正常使用,在4.3版本之前,一旦Segment发生故障,数据库就会变成只读模式。那么如果Mirror和Segment放在同一台服务器上,如果Segment所在的主机出现故障,Segment和Mirror就会同时出现故障,那么数据库就不能正常工作,所以Mirror和Segment尽量不要放在同一台服务器上gpaddmirrors脚本生成的参数文件就自动处理了这个问题,下面看下刚才生成的参数文件内容。

然后使用命令:
gpaddmirrors -i
/home/ypf/sample_mirror_config
正式添加mirror,中间输入Y确认那添加mirror。
在添加完之后使用gpstate–m查看mirror节点状态





