On- and Off-site Data Protection: Difference between revisions
migrate>Pi-K No edit summary |
migrate>Pi-K No edit summary |
||
| Line 1: | Line 1: | ||
<p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;text-align: center;"><span id="docs-internal-guid-667d3bc6- | <p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;text-align: center;"></p> | ||
<span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); font-weight: 700; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">ODPS description:</span></span> | |||
<ol style="margin-top:0pt;margin-bottom:0pt;"> | <ol style="margin-top:0pt;margin-bottom:0pt;"> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Rotational auto-snapshots of a dataset or zvol according to created retention-interval plan</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Asynchronous replication of auto-snapshots delta to local or remote destinations.</span></span> | ||
</li> | </li> | ||
</ol> | </ol> | ||
<p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;text-align: center;"></p> | |||
<span style="color: rgb(0, 0, 0); font- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); font-weight: 700; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Working modes:</span></span> | ||
<ol style="margin-top:0pt;margin-bottom:0pt;"> | <ol style="margin-top:0pt;margin-bottom:0pt;"> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Rotational auto-snapshots of a dataset or zvol on local server only. The task definition omits destination node in the create task command.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Asynchronous replication of auto-snapshots delta to local or remote destinations, where destination is:</span></span> | ||
<ol style="margin-top:0pt;margin-bottom:0pt;"> | <ol style="margin-top:0pt;margin-bottom:0pt;"> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">another dataset or zvol within the same ZFS pool,</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">dataset or zvol on different ZFS pool,</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">dataset or zvol on a remote node.</span></span> | ||
</li> | </li> | ||
</ol></li> | </ol></li> | ||
</ol> | </ol> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">NOTE: Rotational auto-snapshots on both source and destination are created according to retention plans. It is possible to have different retention plans for source and destination pool.</span></span> | ||
<p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;text-align: center;"></p> | |||
<span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); font-weight: 700; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Options</span><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">:</span> | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); font-weight: 700; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Options</span><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">:</span></span> | ||
<ol style="margin-top:0pt;margin-bottom:0pt;"> | <ol style="margin-top:0pt;margin-bottom:0pt;"> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">It is possible to attach, list and detach backup nodes (remote nodes used to asynchronous replication)</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">It is possible to create backup task in following modes:</span></span> | ||
<ol style="margin-top:0pt;margin-bottom:0pt;"> | <ol style="margin-top:0pt;margin-bottom:0pt;"> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">only source node details provided -> snapshots created locally, no replication</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">source and destination node details provided -> snapshots created locally and replicated to destination. Un-Kh source and destination keep rotational auto-snapshots.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">optionally it is possible to use mbuffer (with parameter </span><span style="font-size: 14.6666666666667px; font-style: italic; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">mbuffer size</span><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">) as a tool for buffering data streams</span></span> | ||
</li> | </li> | ||
</ol></li> | </ol></li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">It is possible to get details of all backup tasks.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">It is possible to delete backup task.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">It is possible to get status of the odps service:</span></span> | ||
<ol style="margin-top:0pt;margin-bottom:0pt;"> | <ol style="margin-top:0pt;margin-bottom:0pt;"> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">service status</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">last entries from logs</span></span> | ||
</li> | </li> | ||
</ol></li> | </ol></li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">It is possible to debug backup task - run it in dry mode in order to check what’s wrong.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">It is possible to restart all tasks so configuration of tasks will be reset.</span></span> | ||
</li> | </li> | ||
</ol> | </ol> | ||
<p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;text-align: center;"></p> | |||
<span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); font-weight: 700; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Important notes</span><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">:</span> | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); font-weight: 700; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Important notes</span><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">:</span></span> | ||
<ol style="margin-top:0pt;margin-bottom:0pt;"> | <ol style="margin-top:0pt;margin-bottom:0pt;"> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Only Genesis NX2 can be used as a destination node.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Replication will not be done as long as destination dataset or zvol does not exist. User needs to create destination dataset/zvol manually.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Replication will not be done if dataset or zvol on destination is used e.g. by iSCSI Target with active session. Data from particular snapshot can be accessed only via a clone created from the snapshot.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">User snapshots created on destination dataset or zvol will be deleted by odps service during rotation round.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">User snapshots created on source dataset or zvol are not deleted by odps service during rotation round.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Snapshots on both source and destination that are cloned are not deleted by odps service during rotation round.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">When replication round fails because it is not possible to replicate snapshot to destination e.g. caused by:</span></span> | ||
<ol style="margin-top:0pt;margin-bottom:0pt;"> | <ol style="margin-top:0pt;margin-bottom:0pt;"> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">lack of communication between nodes</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">busy dataset on destination (used e.g. by iSCSI Target)</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">existence of user’s own snapshot with clone on destination,</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">existence of user’s own snapshot on destination created before first replication</span></span> | ||
</li> | </li> | ||
</ol></li> | </ol></li> | ||
</ol> | </ol> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">then source snapshots are not rotated. At the next round of replication when conditions to replication are passed then rotation of snapshots on both source and destination is performed.</span></span> | ||
<ol start="8" style="margin-top:0pt;margin-bottom:0pt;"> | <ol start="8" style="margin-top:0pt;margin-bottom:0pt;"> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">When nodes have different sets of snapshots (no common snapshot between source and destination) then snapshots on destination are deleted and re-replicated from source.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Odps service is activated when at least one backup task exist in the system (at pool import and system start)</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Odps service is deactivated when there’s no backup tasks in the system (at pool export).</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Replication to remote destination is encrypted (SSH).</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Odps replication processes are killed at pool export/destroy.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Ongoing replication process is not killed when odps task is deleted. After finishing this process there’s no more replications.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">When backup plan is created like this: 1min_every_10min backup task won't start. Retention time must be always bigger than interval: 10min_every_1min.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">(to confirm) Source snapshot that is being replicated (replication of older snapshot is still in progress) blocks rotation of snapshots on source. New snapshots however are created according to schedule plan.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">(to confirm) When many destinations used only one replication is performed at given time.</span></span> | ||
</li> | |||
<li> | |||
<span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">It is not recommended to create own snapshots on destination nodes. This may break synchronization process. If you want to access data on destination please use snapshots created by ODPS.</span></span> | |||
</li> | |||
<li> | |||
<span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Save settings mechanism does not support ODPS tasks (this does not apply for attached nodes). All information connected with ODPS tasks are stored as dataset properties. If dataset does not exist then ODPS task is not restored.</span></span> | |||
</li> | </li> | ||
</ol> | </ol> | ||
<p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;text-align: center;"></p> | |||
<span style="color: rgb(0, 0, 0); font- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); font-weight: 700; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Important notes (clustered environment):</span></span> | ||
<ol style="margin-top:0pt;margin-bottom:0pt;"> | <ol style="margin-top:0pt;margin-bottom:0pt;"> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">It is possible to use odps in clustered environment when both source and destination are clusters (two pairs of clusters). Each source node must then attach each destination node using its physical IP address and tasks must be created with IP of destination cluster (VIP).</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">In following configuration: source (cluster) -> destination (single node) when destination node is inaccessible over network then it does not break failover on source (cluster).</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Ongoing replication processes are killed when automatic failover is performed or manual move is performed. It applies only for moved pools. replication processes connected with different pools remains continued.</span></span> | ||
</li> | </li> | ||
</ol> | </ol> | ||
<p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;text-align: center;"></p> | |||
<span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); font-weight: 700; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Retention plans</span><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">:</span></span> | |||
<span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); font-style: italic; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">The ODPS plan consists of a series of retention periods to interval associations: "retention_every_interval,retention_every_interval,retention_every_interval,...".</span><br/><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); font-style: italic; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Un-Kh intervals and retention periods use standard units of time or multiples of them, with full names or a shortcut according to the following list: second|sec|s, minute|min, hour|h, day|d, week|w, month|mon|m, year|y</span></span> | |||
<p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;text-align: center;"></p> | |||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; font-family: Arial; color: rgb(0, 0, 0); font-weight: 700; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Known issues:</span></span> | ||
<span style="color: rgb(0, 0, 0) | |||
<ul style="margin-top:0pt;margin-bottom:0pt;"> | <ul style="margin-top:0pt;margin-bottom:0pt;"> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">ODPS can cause temporary inconsistency of internal cache (used by API in Python) with zfs resources. This temporary inconsistency can lead to errors displayed on GUI that inform about missing zfs resources (usually missing snapshots). This issue happens because ODPS refreshes cache using hook script, cache is refreshed before and after any snapshot is removed by ODPS. But using hook script (only possible way of cache refresh when using external software) leaves small window when cache is inconsistent. If GUI requests information about snapshots in time between snapshot removal and cache refresh than cache is inconsistent and GUI gets information about not existing items which may lead to errors. Most common place of this error is volume edition - snapshots are checked in this window in order to lock edition of name if volume has any snapshots. After fixes this issue is only temporary, cache is refreshed soon and most probably when window is closed and reopened then error doesn’t pop up because cache is consistent again.</span></span> | ||
</li> | </li> | ||
<li> | <li> | ||
<span id="docs-internal-guid-667d3bc6- | <span id="docs-internal-guid-667d3bc6-cbd6-5c34-d10e-a58a7c16cf7f"><span style="font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;">Source and destination should be of the same type (zvol-zvol, dataset-dataset). It is possible to create task with source for example zvol and destination - dataset but when started it shows error.</span></span> | ||
</li> | </li> | ||
</ul> | </ul> | ||
<p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;text-align: center;"><br/></p> | |||
< | |||
Revision as of 08:42, 31 March 2016
ODPS description:
- Rotational auto-snapshots of a dataset or zvol according to created retention-interval plan
- Asynchronous replication of auto-snapshots delta to local or remote destinations.
Working modes:
- Rotational auto-snapshots of a dataset or zvol on local server only. The task definition omits destination node in the create task command.
-
Asynchronous replication of auto-snapshots delta to local or remote destinations, where destination is:
- another dataset or zvol within the same ZFS pool,
- dataset or zvol on different ZFS pool,
- dataset or zvol on a remote node.
NOTE: Rotational auto-snapshots on both source and destination are created according to retention plans. It is possible to have different retention plans for source and destination pool.
Options:
- It is possible to attach, list and detach backup nodes (remote nodes used to asynchronous replication)
-
It is possible to create backup task in following modes:
- only source node details provided -> snapshots created locally, no replication
- source and destination node details provided -> snapshots created locally and replicated to destination. Un-Kh source and destination keep rotational auto-snapshots.
- optionally it is possible to use mbuffer (with parameter mbuffer size) as a tool for buffering data streams
- It is possible to get details of all backup tasks.
- It is possible to delete backup task.
-
It is possible to get status of the odps service:
- service status
- last entries from logs
- It is possible to debug backup task - run it in dry mode in order to check what’s wrong.
- It is possible to restart all tasks so configuration of tasks will be reset.
Important notes:
- Only Genesis NX2 can be used as a destination node.
- Replication will not be done as long as destination dataset or zvol does not exist. User needs to create destination dataset/zvol manually.
- Replication will not be done if dataset or zvol on destination is used e.g. by iSCSI Target with active session. Data from particular snapshot can be accessed only via a clone created from the snapshot.
- User snapshots created on destination dataset or zvol will be deleted by odps service during rotation round.
- User snapshots created on source dataset or zvol are not deleted by odps service during rotation round.
- Snapshots on both source and destination that are cloned are not deleted by odps service during rotation round.
-
When replication round fails because it is not possible to replicate snapshot to destination e.g. caused by:
- lack of communication between nodes
- busy dataset on destination (used e.g. by iSCSI Target)
- existence of user’s own snapshot with clone on destination,
- existence of user’s own snapshot on destination created before first replication
then source snapshots are not rotated. At the next round of replication when conditions to replication are passed then rotation of snapshots on both source and destination is performed.
- When nodes have different sets of snapshots (no common snapshot between source and destination) then snapshots on destination are deleted and re-replicated from source.
- Odps service is activated when at least one backup task exist in the system (at pool import and system start)
- Odps service is deactivated when there’s no backup tasks in the system (at pool export).
- Replication to remote destination is encrypted (SSH).
- Odps replication processes are killed at pool export/destroy.
- Ongoing replication process is not killed when odps task is deleted. After finishing this process there’s no more replications.
- When backup plan is created like this: 1min_every_10min backup task won't start. Retention time must be always bigger than interval: 10min_every_1min.
- (to confirm) Source snapshot that is being replicated (replication of older snapshot is still in progress) blocks rotation of snapshots on source. New snapshots however are created according to schedule plan.
- (to confirm) When many destinations used only one replication is performed at given time.
- It is not recommended to create own snapshots on destination nodes. This may break synchronization process. If you want to access data on destination please use snapshots created by ODPS.
- Save settings mechanism does not support ODPS tasks (this does not apply for attached nodes). All information connected with ODPS tasks are stored as dataset properties. If dataset does not exist then ODPS task is not restored.
Important notes (clustered environment):
- It is possible to use odps in clustered environment when both source and destination are clusters (two pairs of clusters). Each source node must then attach each destination node using its physical IP address and tasks must be created with IP of destination cluster (VIP).
- In following configuration: source (cluster) -> destination (single node) when destination node is inaccessible over network then it does not break failover on source (cluster).
- Ongoing replication processes are killed when automatic failover is performed or manual move is performed. It applies only for moved pools. replication processes connected with different pools remains continued.
Retention plans:
The ODPS plan consists of a series of retention periods to interval associations: "retention_every_interval,retention_every_interval,retention_every_interval,...".
Un-Kh intervals and retention periods use standard units of time or multiples of them, with full names or a shortcut according to the following list: second|sec|s, minute|min, hour|h, day|d, week|w, month|mon|m, year|y
Known issues:
- ODPS can cause temporary inconsistency of internal cache (used by API in Python) with zfs resources. This temporary inconsistency can lead to errors displayed on GUI that inform about missing zfs resources (usually missing snapshots). This issue happens because ODPS refreshes cache using hook script, cache is refreshed before and after any snapshot is removed by ODPS. But using hook script (only possible way of cache refresh when using external software) leaves small window when cache is inconsistent. If GUI requests information about snapshots in time between snapshot removal and cache refresh than cache is inconsistent and GUI gets information about not existing items which may lead to errors. Most common place of this error is volume edition - snapshots are checked in this window in order to lock edition of name if volume has any snapshots. After fixes this issue is only temporary, cache is refreshed soon and most probably when window is closed and reopened then error doesn’t pop up because cache is consistent again.
- Source and destination should be of the same type (zvol-zvol, dataset-dataset). It is possible to create task with source for example zvol and destination - dataset but when started it shows error.