Files
doc-exports/docs/dcs/umn/dcs-faq-0730047.html
Chen, Junjie 3de6842994 DCS UMN 20240521 version
Reviewed-by: Mützel, Andrea <andrea.muetzel@t-systems.com>
Co-authored-by: Chen, Junjie <chenjunjie@huawei.com>
Co-committed-by: Chen, Junjie <chenjunjie@huawei.com>
2024-07-05 08:59:46 +00:00

113 lines
17 KiB
HTML

<a name="dcs-faq-0730047"></a><a name="dcs-faq-0730047"></a>
<h1 class="topictitle1">Are Services Interrupted During Specification Modification?</h1>
<div id="body1596093494759"><p id="dcs-faq-0730047__p1021363413494">You are advised to change the instance specifications during off-peak hours because specification modification has the following impacts:</p>
<div class="section" id="dcs-faq-0730047__section2133165015164"><h4 class="sectiontitle">Change of the Instance Type</h4><ul id="dcs-faq-0730047__dcs-ug-0326011_ul16361181210580"><li id="dcs-faq-0730047__dcs-ug-0326011_li48052059144516"><strong id="dcs-faq-0730047__dcs-ug-0326011_b38205151252">Supported instance type changes:</strong><ul id="dcs-faq-0730047__dcs-ug-0326011_ul55567244618"><li id="dcs-faq-0730047__dcs-ug-0326011_li436251255815">From single-node to master/standby: Supported by Redis 3.0, and not by Redis 4.0/5.0/6.0.</li><li id="dcs-faq-0730047__dcs-ug-0326011_li33621912115810">From master/standby to Proxy Cluster: Supported by Redis 3.0, and not by Redis 4.0/5.0/6.0.<p id="dcs-faq-0730047__dcs-ug-0326011_p2584101112018"><a name="dcs-faq-0730047__dcs-ug-0326011_li33621912115810"></a><a name="dcs-ug-0326011_li33621912115810"></a>If the data of a master/standby DCS Redis 3.0 instance is stored in multiple databases, or in non-DB0 databases, the instance cannot be changed to the Proxy Cluster type. A master/standby instance can be changed to the Proxy Cluster type only if its data is stored only on DB0.</p>
</li><li id="dcs-faq-0730047__dcs-ug-0326011_li1136291205812">From cluster types to other types: Not supported.</li></ul>
</li><li id="dcs-faq-0730047__dcs-ug-0326011_li138111124614"><strong id="dcs-faq-0730047__dcs-ug-0326011_b17334141519424">Impact of instance type changes:</strong><ul id="dcs-faq-0730047__dcs-ug-0326011_ul201681557194115"><li id="dcs-faq-0730047__dcs-ug-0326011_li1516816570414">From single-node to master/standby for a DCS Redis 3.0 instance:<p id="dcs-faq-0730047__dcs-ug-0326011_p11681757204111"><a name="dcs-faq-0730047__dcs-ug-0326011_li1516816570414"></a><a name="dcs-ug-0326011_li1516816570414"></a>The instance cannot be connected for several seconds and remains read-only for about 1 minute.</p>
</li><li id="dcs-faq-0730047__dcs-ug-0326011_li17168195710413">From master/standby to Proxy Cluster for a DCS Redis 3.0 instance:<p id="dcs-faq-0730047__dcs-ug-0326011_p7168105714120"><a name="dcs-faq-0730047__dcs-ug-0326011_li17168195710413"></a><a name="dcs-ug-0326011_li17168195710413"></a>The instance cannot be connected and remains read-only for 5 to 30 minutes.</p>
</li></ul>
</li></ul>
</div>
<div class="section" id="dcs-faq-0730047__section8871182631810"><h4 class="sectiontitle">Scaling</h4><ul id="dcs-faq-0730047__dcs-ug-0326011_ul850917477447"><li id="dcs-faq-0730047__dcs-ug-0326011_li10511104718443"><strong id="dcs-faq-0730047__dcs-ug-0326011_b883211469381">The following table lists scaling options supported by different DCS instances.</strong>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="dcs-faq-0730047__dcs-ug-0326011_table1050417161268" frame="border" border="1" rules="all"><caption><b>Table 1 </b><span id="dcs-faq-0730047__dcs-ug-0326011_ph106112323818">Scaling</span> options supported by different DCS instances</caption><thead align="left"><tr id="dcs-faq-0730047__dcs-ug-0326011_row1506316132615"><th align="left" class="cellrowborder" valign="top" width="16.35188866799205%" id="mcps1.3.3.2.1.2.2.6.1.1"><p id="dcs-faq-0730047__dcs-ug-0326011_p125077167264">Cache Engine</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="20.9617296222664%" id="mcps1.3.3.2.1.2.2.6.1.2"><p id="dcs-faq-0730047__dcs-ug-0326011_p4507916122615">Single-Node</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="20.07952286282306%" id="mcps1.3.3.2.1.2.2.6.1.3"><p id="dcs-faq-0730047__dcs-ug-0326011_p6507181619263">Master/Standby</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="20.601391650099405%" id="mcps1.3.3.2.1.2.2.6.1.4"><p id="dcs-faq-0730047__dcs-ug-0326011_p2507191614267">Redis Cluster</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="22.005467196819087%" id="mcps1.3.3.2.1.2.2.6.1.5"><p id="dcs-faq-0730047__dcs-ug-0326011_p5219195634917">Proxy Cluster</p>
</th>
</tr>
</thead>
<tbody><tr id="dcs-faq-0730047__dcs-ug-0326011_row85071016132619"><td class="cellrowborder" valign="top" width="16.35188866799205%" headers="mcps1.3.3.2.1.2.2.6.1.1 "><p id="dcs-faq-0730047__dcs-ug-0326011_p108572039192612">Redis 3.0</p>
</td>
<td class="cellrowborder" valign="top" width="20.9617296222664%" headers="mcps1.3.3.2.1.2.2.6.1.2 "><p id="dcs-faq-0730047__dcs-ug-0326011_p1550781612618">Scaling up/down</p>
</td>
<td class="cellrowborder" valign="top" width="20.07952286282306%" headers="mcps1.3.3.2.1.2.2.6.1.3 "><p id="dcs-faq-0730047__dcs-ug-0326011_p6239152915148">Scaling up/down</p>
</td>
<td class="cellrowborder" valign="top" width="20.601391650099405%" headers="mcps1.3.3.2.1.2.2.6.1.4 "><p id="dcs-faq-0730047__dcs-ug-0326011_p036914157280">N/A</p>
</td>
<td class="cellrowborder" valign="top" width="22.005467196819087%" headers="mcps1.3.3.2.1.2.2.6.1.5 "><p id="dcs-faq-0730047__dcs-ug-0326011_p2086071724811">Scaling out</p>
</td>
</tr>
<tr id="dcs-faq-0730047__dcs-ug-0326011_row450711617264"><td class="cellrowborder" valign="top" width="16.35188866799205%" headers="mcps1.3.3.2.1.2.2.6.1.1 "><p id="dcs-faq-0730047__dcs-ug-0326011_p1298418403265">Redis 4.0</p>
</td>
<td class="cellrowborder" valign="top" width="20.9617296222664%" headers="mcps1.3.3.2.1.2.2.6.1.2 "><p id="dcs-faq-0730047__dcs-ug-0326011_p133441318270">Scaling up/down</p>
</td>
<td class="cellrowborder" valign="top" width="20.07952286282306%" headers="mcps1.3.3.2.1.2.2.6.1.3 "><p id="dcs-faq-0730047__dcs-ug-0326011_p625312516520">Scaling up/down</p>
</td>
<td class="cellrowborder" valign="top" width="20.601391650099405%" headers="mcps1.3.3.2.1.2.2.6.1.4 "><p id="dcs-faq-0730047__dcs-ug-0326011_p323215141665">Scaling up/out, down/in, and replica quantity change</p>
</td>
<td class="cellrowborder" valign="top" width="22.005467196819087%" headers="mcps1.3.3.2.1.2.2.6.1.5 "><p id="dcs-faq-0730047__dcs-ug-0326011_p9860017124816">N/A</p>
</td>
</tr>
<tr id="dcs-faq-0730047__dcs-ug-0326011_row185071316172617"><td class="cellrowborder" valign="top" width="16.35188866799205%" headers="mcps1.3.3.2.1.2.2.6.1.1 "><p id="dcs-faq-0730047__dcs-ug-0326011_p786415411262">Redis 5.0</p>
</td>
<td class="cellrowborder" valign="top" width="20.9617296222664%" headers="mcps1.3.3.2.1.2.2.6.1.2 "><p id="dcs-faq-0730047__dcs-ug-0326011_p34521671666">Scaling up/down</p>
</td>
<td class="cellrowborder" valign="top" width="20.07952286282306%" headers="mcps1.3.3.2.1.2.2.6.1.3 "><p id="dcs-faq-0730047__dcs-ug-0326011_p20426532172612">Scaling up/down</p>
</td>
<td class="cellrowborder" valign="top" width="20.601391650099405%" headers="mcps1.3.3.2.1.2.2.6.1.4 "><p id="dcs-faq-0730047__dcs-ug-0326011_p1012581213612">Scaling up/out, down/in, and replica quantity change</p>
</td>
<td class="cellrowborder" valign="top" width="22.005467196819087%" headers="mcps1.3.3.2.1.2.2.6.1.5 "><p id="dcs-faq-0730047__dcs-ug-0326011_p9860111704815">N/A</p>
</td>
</tr>
<tr id="dcs-faq-0730047__dcs-ug-0326011_row143763317316"><td class="cellrowborder" valign="top" width="16.35188866799205%" headers="mcps1.3.3.2.1.2.2.6.1.1 "><p id="dcs-faq-0730047__dcs-ug-0326011_p123771310318">Redis 6.0</p>
</td>
<td class="cellrowborder" valign="top" width="20.9617296222664%" headers="mcps1.3.3.2.1.2.2.6.1.2 "><p id="dcs-faq-0730047__dcs-ug-0326011_p3766141215387">Scaling up/down</p>
</td>
<td class="cellrowborder" valign="top" width="20.07952286282306%" headers="mcps1.3.3.2.1.2.2.6.1.3 "><p id="dcs-faq-0730047__dcs-ug-0326011_p47661912183818">Scaling up/down</p>
</td>
<td class="cellrowborder" valign="top" width="20.601391650099405%" headers="mcps1.3.3.2.1.2.2.6.1.4 "><p id="dcs-faq-0730047__dcs-ug-0326011_p1865551361">Scaling up/down, out/in, and replica quantity change</p>
</td>
<td class="cellrowborder" valign="top" width="22.005467196819087%" headers="mcps1.3.3.2.1.2.2.6.1.5 "><p id="dcs-faq-0730047__dcs-ug-0326011_p1416318453215">N/A</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="note" id="dcs-faq-0730047__dcs-ug-0326011_note190864212618"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="dcs-faq-0730047__dcs-ug-0326011_p590910421664">If the reserved memory of a DCS Redis 3.0 instance is insufficient, the scaling may fail when the memory is used up.</p>
<p id="dcs-faq-0730047__dcs-ug-0326011_p94531191020">Change the replica quantity and capacity separately.</p>
</div></div>
</li><li id="dcs-faq-0730047__dcs-ug-0326011_li14534104261610"><strong id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_b329017146483">Impact of scaling</strong>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_table980672164613" frame="border" border="1" rules="all"><caption><b>Table 2 </b>Impact of scaling</caption><thead align="left"><tr id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_row1880716210467"><th align="left" class="cellrowborder" valign="top" width="15.21%" id="mcps1.3.3.2.2.2.2.4.1.1"><p id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_p128073219467">Instance Type</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="9.74%" id="mcps1.3.3.2.2.2.2.4.1.2"><p id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_p2247141762417">Scaling Type</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="75.05%" id="mcps1.3.3.2.2.2.2.4.1.3"><p id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_p68071023463">Impact</p>
</th>
</tr>
</thead>
<tbody><tr id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_row1680710219465"><td class="cellrowborder" valign="top" width="15.21%" headers="mcps1.3.3.2.2.2.2.4.1.1 "><p id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_p1807823468">Single-node and master/standby</p>
</td>
<td class="cellrowborder" valign="top" width="9.74%" headers="mcps1.3.3.2.2.2.2.4.1.2 "><p id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_p1024771715243">Scaling up/down</p>
</td>
<td class="cellrowborder" valign="top" width="75.05%" headers="mcps1.3.3.2.2.2.2.4.1.3 "><ul id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_ul1933717473"><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li9431817124">During scaling up, a DCS Redis 4.0/5.0/6.0 instance will be disconnected for several seconds and remain read-only for about 1 minute. During scaling down, connections will not be interrupted.</li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li4125105042516">A DCS Redis 3.0 instance will be disconnected for several seconds and remain read-only for 5 to 30 minutes.</li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li11331811478">For scaling up, only the memory of the instance is expanded. The CPU processing capability is not improved.</li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li1331816476">Single-node DCS instances do not support data persistence. Scaling may compromise data reliability. After scaling, check whether the data is complete and import data if required. If there is important data, use a migration tool to migrate the data to other instances for backup.</li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li3210125604720">For master/standby instances, backup records created before scale-down cannot be used after scale-down. If necessary, download the backup file in advance or back up the data again after scale-down.</li></ul>
</td>
</tr>
<tr id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_row1480714224619"><td class="cellrowborder" valign="top" width="15.21%" headers="mcps1.3.3.2.2.2.2.4.1.1 "><p id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_p1380722154619">Proxy Cluster and Redis Cluster</p>
</td>
<td class="cellrowborder" valign="top" width="9.74%" headers="mcps1.3.3.2.2.2.2.4.1.2 "><p id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_p92470174249">Scaling up/down</p>
</td>
<td class="cellrowborder" valign="top" width="75.05%" headers="mcps1.3.3.2.2.2.2.4.1.3 "><ul id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_ul1281913125483"><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li11484102417176">Scaling out by adding shards:<ul id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_ul88981830191719"><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li16859133811164"><strong id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_b121541946677">Scaling out does not interrupt connections but will occupy CPU resources, decreasing performance by up to 20%.</strong></li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li7961033131710">If the shard quantity increases, new Redis Server nodes are added, and data is automatically balanced to the new nodes, increasing the access latency.</li></ul>
</li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li1711535631712">Scaling in by reducing shards:<ul id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_ul134731518184"><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li11545733184">If the shard quantity decreases, nodes will be deleted. <strong id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_b223590111019">Before scaling in a Redis Cluster instance, ensure that the deleted nodes are not directly referenced in your application, to prevent service access exceptions.</strong></li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li487112891214"><strong id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_b186931138201016">Nodes will be deleted</strong>, and connections will be interrupted. If your application cannot reconnect to Redis or handle exceptions, you may need to restart the application after scaling.</li></ul>
</li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li1658032032015">Scaling up by shard size without changing the shard quantity:<ul id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_ul13694182210209"><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li92951562613"><strong id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_b9403132918214">Insufficient memory of the node's VM will cause the node to migrate. Service connections may stutter and the instance may become read-only during the migration.</strong></li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li1087211811129">Increasing the node capacity when the VM memory is sufficient does not affect services.</li></ul>
</li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li13872383125">Scaling down by reducing the shard size without changing the shard quantity has no impact.</li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li29513165210">To scale down an instance, ensure that the used memory of each node is less than 70% of the maximum memory per node of the new flavor.</li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li154652314568"><strong id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_b1689418561840">The flavor changing operation may involve data migration, and the latency may increase. For a Redis Cluster instance, ensure that the client can process the MOVED and ASK commands. Otherwise, the request will fail.</strong></li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li444214412256">If the memory becomes full during scaling due to a large amount of data being written, scaling will fail.</li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li1984564016210">Before scaling, <strong id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_b9534162994019">check for big keys through Cache Analysis</strong>. Redis has a limit on key migration. If the instance has any single key greater than 512 MB, scaling will fail when big key migration between nodes times out. The bigger the key, the more likely the migration will fail.</li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li17922142192412"><strong id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_b1886415378415">Before scaling a Redis Cluster instance, ensure that automated cluster topology refresh is enabled.</strong> If it is disabled, you will need to restart the client after scaling. For details about how to enable automated refresh if you use Lettuce, see <a href="dcs-ug-211105002.html">an example of using Lettuce to connect to a Redis Cluster instance</a>.</li><li id="dcs-faq-0730047__dcs-ug-0326011_en-us_topic_0148195253_li1692618428213">Backup records created before scaling cannot be used. If necessary, download the backup file in advance or back up the data again after scaling.</li></ul>
</td>
</tr>
</tbody>
</table>
</div>
</li></ul>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dcs-faq-0326022.html">Instance Scaling and Upgrade</a></div>
</div>
</div>