未验证 提交 709c0d9f 编写于 作者: M Mel Kiyama 提交者: GitHub

docs - add Note about host requirements to segment mirror overview (#9971)

* docs - add Note about host requirements to segment mirror overview

-also edited some related topics and changed some links
-fixed a bad link to the gpcheck utiltiy (removed in GPDB 6)

* docs - minor edit
Co-authored-by: NDavid Yozie <dyozie@pivotal.io>
上级 05d83b31
......@@ -13,15 +13,17 @@
<p>Generally, you should run performance tests when an administrator modifies host networking or
other special conditions in the system. For example, if you will run the expanded system on
two network clusters, run tests on each cluster.</p>
<note>Preparing host systems for use by a Greenplum Database system assumes that the new hosts'
operating system has been properly configured to match the existing hosts, described in <xref
href="../../install_guide/prep_os.xml"/>.</note>
</body>
<topic id="topic18" xml:lang="en">
<title id="no159311">Adding New Hosts to the Trusted Host Environment</title>
<body>
<p>New hosts must exchange SSH keys with the existing hosts to enable Greenplum administrative
utilities to connect to all segments without a password prompt. Perform the key exchange
process twice with the <codeph><xref
href="../../utility_guide/ref/gpssh-exkeys.xml">gpssh-exkeys</xref></codeph>
utility.</p>
process twice with the <codeph><xref href="../../utility_guide/ref/gpssh-exkeys.xml"
>gpssh-exkeys</xref></codeph> utility.</p>
<p>First perform the process as <codeph>root</codeph>, for administration convenience, and
then as the user <codeph>gpadmin</codeph>, for management utilities. Perform the following
tasks in order:</p>
......@@ -84,7 +86,7 @@ sdw3-4</codeblock></li>
<title>To create the <codeph>gpadmin</codeph> user</title>
<ol id="ol_amb_xjr_g4">
<li id="no160603">Use <codeph><xref href="../../utility_guide/ref/gpssh.xml"
>gpssh</xref></codeph> to create the <codeph>gpadmin</codeph> user on all the new
>gpssh</xref></codeph> to create the <codeph>gpadmin</codeph> user on all the new
segment hosts (if it does not exist already). Use the list of new hosts you created for
the key exchange. For
example:<codeblock># gpssh -f <i>new_hosts_file</i> '/usr/sbin/useradd <i>gpadmin</i> -d
......@@ -117,7 +119,7 @@ gpadmin --stdin'</codeblock></li>
<title id="no159219">Validating Disk I/O and Memory Bandwidth</title>
<body>
<p>Use the <codeph><xref href="../../utility_guide/ref/gpcheckperf.xml"
>gpcheckperf</xref></codeph> utility to test disk I/O and memory bandwidth. </p>
>gpcheckperf</xref></codeph> utility to test disk I/O and memory bandwidth. </p>
<section id="no159247">
<title>To run gpcheckperf</title>
<ol>
......
......@@ -127,7 +127,7 @@
<image href="../graphics/green-checkbox.jpg" width="29px" height="28px"
id="image_rcs_t1m_2r"/>
</entry>
<entry>Initialize new segments into the array and create an expansion schema
<entry>Initialize new segments into the system and create an expansion schema
(<codeph>gpexpand -i <varname>input_file</varname></codeph>).</entry>
</row>
<row>
......@@ -208,29 +208,26 @@
configuration in the particular site and environment. </li>
</ul>
<p>After selecting and adding new hardware to your network environment, ensure you perform the
burn-in tasks described in <xref href="expand-nodes.xml#topic18" type="topic" format="dita"
/>.</p>
tasks described in <xref href="expand-nodes.xml" type="topic"/>.</p>
</body>
</topic>
<topic id="topic6" xml:lang="en">
<title>Planning New Segment Initialization</title>
<body>
<p>Expanding Greenplum Database can be performed when the system is up and available. Run
<codeph>gpexpand</codeph> to initialize new segment instances into the array and create an
expansion schema.</p>
<codeph>gpexpand</codeph> to initialize new segment instances into the system and create
an expansion schema.</p>
<p>The time required depends on the number of schema objects in the Greenplum system and other
factors related to hardware performance. In most environments, the initialization of new
segments requires less than thirty minutes offline.</p>
<p>These utilities cannot be run while <codeph>gpexpand</codeph> is performing segment
initialization.
<ul id="ul_c3w_wdp_lgb">
initialization. <ul id="ul_c3w_wdp_lgb">
<li><codeph>gpbackup</codeph></li>
<li><codeph>gpcheckcat</codeph></li>
<li><codeph>gpconfig</codeph></li>
<li><codeph>gppkg</codeph></li>
<li><codeph>gprestore</codeph></li>
</ul></p>
<note type="important">After you begin initializing new segments, you can no longer restore
the system using backup files created for the pre-expansion system. When initialization
successfully completes, the expansion is committed and cannot be rolled back. </note>
......@@ -241,25 +238,27 @@
<p>If your existing system has mirror segments, the new segments must have mirroring
configured. If there are no mirrors configured for existing segments, you cannot add
mirrors to new hosts with the <codeph>gpexpand</codeph> utility. For more information
about segment mirroring, see <xref href="../intro/about_ha.xml#about_ha/segment_mirroring"
about segment mirroring configurations that are available during system initialization,
see <xref
href="../highavail/topics/g-overview-of-segment-mirroring.xml#topic3/mirror_configs"
/>.</p>
<p>For Greenplum Database arrays with mirror segments, ensure you add enough new host
<p>For Greenplum Database systems with mirror segments, ensure you add enough new host
machines to accommodate new mirror segments. The number of new hosts required depends on
your mirroring strategy:</p>
<ul id="ul_dnt_tl5_mr">
<li id="no165384"><b>Spread Mirroring</b> — Add at least one more host to the array than
<li id="no165386"><b>Group Mirroring</b> — Add at least two new hosts so the mirrors for
the first host can reside on the second host, and the mirrors for the second host can
reside on the first. This is the default type of mirroring if you enable segment
mirroring during system initialization.</li>
<li id="no165384"><b>Spread Mirroring</b> — Add at least one more host to the system than
the number of segments per host. The number of separate hosts must be greater than the
number of segment instances per host to ensure even spreading. You can specify this type
of mirroring during system initialization or when you enable segment mirroring for an
existing system.</li>
<li id="no165386"><b>Grouped Mirroring</b> — Add at least two new hosts so the mirrors for
the first host can reside on the second host, and the mirrors for the second host can
reside on the first. This is the default type of mirroring if you enable segment
mirroring during system initialization.</li>
<li><b>Block Mirroring</b> — Adding one or more blocks of host systems. For example add a
block of four or eight hosts. Block mirroring is a custom mirroring configuration. For
more information about block mirroring, see <xref
href="../../best_practices/ha.xml#topic_cnm_vxc_54"/><ph otherprops="op-print"> in the
href="../../best_practices/ha.xml#topic_ngz_qf4_tt"/><ph otherprops="op-print"> in the
<cite>Greenplum Database Best Practices Guide</cite></ph>.</li>
</ul>
</body>
......@@ -367,7 +366,7 @@
<p>If your existing hosts have limited disk space, you may prefer to first redistribute
smaller tables (such as dimension tables) to clear space to store a copy of the largest
table. Available disk space on the original segments increases as each table is
redistributed across the expanded array. When enough free space exists on all segments
redistributed across the expanded system. When enough free space exists on all segments
to store a copy of the largest table, you can redistribute large or critical tables.
Redistribution of large tables requires exclusive locks; schedule this procedure for
off-peak hours.</p>
......
......@@ -12,8 +12,9 @@
unavailable, it changes the role of its mirror segment to primary segment and the role
of the unavailable primary segment to mirror segment. Transactions in progress when the
failure occurred roll back and must be restarted. The administrator must then recover
the mirror segment, allow the mirror to synchronize with the current primary segment, and
then exchange the primary and mirror segments so they are in their preferred roles.</p>
the mirror segment, allow the mirror to synchronize with the current primary segment,
and then exchange the primary and mirror segments so they are in their preferred
roles.</p>
<p>If segment mirroring is not enabled, the Greenplum Database system shuts down if a
segment instance fails. Administrators must manually recover all failed segments before
Greenplum Database operations can resume.</p>
......@@ -48,39 +49,47 @@
<codeph>walsender</codeph> processes that are used for Greenplum Database
master and segment mirroring.</li>
</ul></p>
<section>
<section id="mirror_configs">
<title>About Segment Mirroring Configurations</title>
<p>Mirror segment instances can be placed on hosts in the cluster in different
configurations. As a best practice, a primary segment and the corresponding mirror
are placed on different hosts. Each host must have the same number of primary and
mirror segments. When you create segment mirrors with the Greenplum Database
utilities <codeph><xref
href="../../../utility_guide/ref/gpinitsystem.xml"/></codeph> or
<codeph><xref href="../../../utility_guide/ref/gpaddmirrors.xml"
utilities <codeph><xref href="../../../utility_guide/ref/gpinitsystem.xml"
/></codeph> or <codeph><xref href="../../../utility_guide/ref/gpaddmirrors.xml"
/></codeph> you can specify the segment mirror configuration, group mirroring
(the default) or spread mirroring. With <codeph>gpaddmirrors</codeph>, you can
create custom mirroring configurations with a <codeph>gpaddmirrors</codeph>
configuration file and specify the file on the command line.</p>
<p><i>Group mirroring</i> is the default mirroring configuration. The mirror segments
for each host's primary segments are placed on one other host. If a single host
fails, the number of active primary segments doubles on the host that backs the
failed host. The diagram <xref href="#topic3/fig_rrr_nt2_xt" format="dita"/>
illustrates a group mirroring configuration. </p>
<!--<fig id="ki169754"><image href="../../graphics/mirrorsegs.png" placement="break" width="485px" height="135px"/></fig>-->
<p><i>Group mirroring</i> is the default mirroring configuration when you enable
mirroring during system initialization. The mirror segments for each host's primary
segments are placed on one other host. If a single host fails, the number of active
primary segments doubles on the host that backs the failed host. <xref
href="#topic3/fig_rrr_nt2_xt" format="dita"/> illustrates a group mirroring
configuration. </p>
<fig id="fig_rrr_nt2_xt">
<title>Group Segment Mirroring in Greenplum Database</title>
<image href="../../graphics/group-mirroring.png" id="image_crm_pt2_xt"/>
</fig>
<p><i>Spread mirroring</i> spreads each host's mirrors over multiple hosts so that if
any single host fails, no other host will have more than one mirror promoted to an
active primary segment. Spread mirroring is possible only if there are more hosts
than segments per host. The diagram <xref href="#topic3/fig_ew1_qgg_xt"
format="dita"/> illustrates the placement of mirrors in a spread segment
mirroring configuration.</p>
<p><i>Spread mirroring</i> can be specified during system initialization. This
configuration spreads each host's mirrors over multiple hosts so that if any single
host fails, no other host will have more than one mirror promoted to an active
primary segment. Spread mirroring is possible only if there are more hosts than
segments per host. <xref href="#topic3/fig_ew1_qgg_xt" format="dita"/> illustrates
the placement of mirrors in a spread segment mirroring configuration.</p>
<fig id="fig_ew1_qgg_xt">
<title>Spread Segment Mirroring in Greenplum Database</title>
<image href="../../graphics/spread-mirroring.png" id="image_zjm_wgg_xt"/>
</fig>
<note>You must ensure you have the appropriate number of host systems for your mirroring
configuration when you create a system or when you expand a system. For example, to
create a system that is configured with spread mirroring requires more hosts than
segment instances per host, and a system that is configured with group mirroring
requires at least two new hosts when expanding the system. For information about
segment mirroring configurations, see <xref
href="../../../best_practices/ha.xml#topic_ngz_qf4_tt"/>. For information about
expanding systems with segment mirroring enabled, see <xref
href="../../expand/expand-planning.xml#topic7"/>. </note>
</section>
<p> </p>
</body>
......
......@@ -130,11 +130,11 @@
work, so performance can be degraded until the balance is restored by recovering the
original primary. </p>
<p>Administrators perform the recovery while Greenplum Database is up and running by running
the <codeph>gprecoverseg</codeph> utility. This utility locates the failed segments, verifies
they are valid, and compares the transactional state with the currently active segment to
determine changes made while the segment was offline. <codeph>gprecoverseg</codeph>
synchronizes the changed database files with the active segment and brings the segment back
online.</p>
the <codeph>gprecoverseg</codeph> utility. This utility locates the failed segments,
verifies they are valid, and compares the transactional state with the currently active
segment to determine changes made while the segment was offline.
<codeph>gprecoverseg</codeph> synchronizes the changed database files with the active
segment and brings the segment back online.</p>
<p>It is important to reserve enough memory and CPU resources on segment hosts to allow for
increased activity from mirrors that assume the primary role during a failure. The formulas
provided in <xref href="workloads.xml#topic_hhc_z5w_r4/section_r52_rbl_zt"/> for configuring
......@@ -217,16 +217,16 @@
</li>
<li dir="ltr">
<p dir="ltr">Use the <codeph>gpbackup</codeph> command to specify only the schema and
tables that you want backed up. See the <xref
href="https://gpdb.docs.pivotal.io/latest/utility_guide/ref/gpbackup.html"
format="html" scope="external">gpbackup</xref> reference in the <cite>Greenplum
Database Utility Reference Guide</cite> for more information.</p>
tables that you want backed up. See the <codeph><xref
href="https://gpdb.docs.pivotal.io/latest/utility_guide/ref/gpbackup.html"
format="html" scope="external">gpbackup</xref></codeph> reference for more
information.</p>
</li>
<li dir="ltr">
<p dir="ltr"><codeph>gpbackup</codeph> places SHARED ACCESS locks on the set of tables
to back up. Backups with fewer tables are more efficient for selectively restoring
schemas and tables, since <codeph>gprestore</codeph> does not have to search through
the entire database.</p>
<p dir="ltr"><codeph>gpbackup</codeph> places <codeph>SHARED ACCESS</codeph> locks on
the set of tables to back up. Backups with fewer tables are more efficient for
selectively restoring schemas and tables, since <codeph>gprestore</codeph> does not
have to search through the entire database.</p>
</li>
<li dir="ltr">If backups are saved to local cluster storage, move the files to a safe,
off-cluster location when the backup is complete. Backup files and database files that
......@@ -267,19 +267,22 @@
</section>
<section><title>Additional Information</title><i>Greenplum Database Administrator Guide</i>:
<ul id="ul_wff_k1m_v4">
<li>Monitoring a Greenplum System</li>
<li>Recovering a Failed Segment</li>
<li><xref href="../admin_guide/managing/monitor.xml"/></li>
<li><xref href="../admin_guide/highavail/topics/g-recovering-a-failed-segment.xml"/></li>
</ul><p><i>Greenplum Database Utility Guide</i>:<ul id="ul_fk2_hyl_v4">
<li><codeph>gpstate</codeph>&#8212;view state of the Greenplum system</li>
<li><codeph>gprecoverseg</codeph>&#8212;recover a failed segment</li>
<li><codeph>gpactivatestandby</codeph>&#8212;make the standby master the active
<li><codeph><xref href="../utility_guide/ref/gpstate.xml">gpstate</xref></codeph> - view
state of the Greenplum system</li>
<li><codeph><xref href="../utility_guide/ref/gprecoverseg.xml"
>gprecoverseg</xref></codeph> - recover a failed segment</li>
<li><codeph><xref href="../utility_guide/ref/gpactivatestandby.xml"
>gpactivatestandby</xref></codeph> - make the standby master the active
master</li>
</ul></p><p><xref href="http://tools.ietf.org/html/rfc1697" format="html" scope="external"
>RDBMS MIB Specification</xref></p></section>
</body>
</topic>
<topic id="topic_ngz_qf4_tt">
<title>Segment Mirroring Configuration</title>
<title>Segment Mirroring Configurations</title>
<body>
<p>Segment mirroring allows database queries to fail over to a backup segment if the primary
segment fails or becomes unavailable. Pivotal requires mirroring for supported production
......@@ -309,15 +312,16 @@
mirroring</i>:<ul id="ul_uwr_gkv_tt">
<li><b>Group mirroring</b> — Each host mirrors another host's primary segments. This is
the default for <codeph><xref href="../utility_guide/ref/gpinitsystem.xml"
>gpinitsystem</xref></codeph> and <codeph>gpaddmirrors</codeph>.</li>
>gpinitsystem</xref></codeph> and <codeph><xref
href="../utility_guide/ref/gpaddmirrors.xml">gpaddmirrors</xref></codeph>.</li>
<li><b>Spread mirroring</b> — Mirrors are spread across the available hosts. This requires
that the number of hosts in the cluster is greater than the number of segments per
host.</li>
</ul></p>
<p>You can design a custom mirroring configuration and use the Greenplum <codeph><xref
href="../utility_guide/ref/gpaddmirrors.xml">gpaddmirrors</xref></codeph> or
<xref href="../utility_guide/ref/gpmovemirrors.xml">gpaddmirrors</xref>
utilities to set up the configuration.</p>
<p>You can design a custom mirroring configuration and use the Greenplum
<codeph>gpaddmirrors</codeph> or <codeph><xref
href="../utility_guide/ref/gpmovemirrors.xml">gpmovemirrors</xref></codeph> utilities to
set up the configuration.</p>
<p><i>Block mirroring</i> is a custom mirror configuration that divides hosts in the cluster
into equally sized blocks and distributes mirrors evenly to hosts within the block. If a
primary segment fails, its mirror on another host within the same block becomes the active
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册