From 32ffb44bdbb28d7d84ae834b3de463ca0e3c1d35 Mon Sep 17 00:00:00 2001 From: Lance Leonard Date: Tue, 12 Oct 2021 17:41:25 -0700 Subject: [PATCH 1/2] Initial draft --- .../import-export/exporting-data.md | 235 ++++++++++++++++-- static/images/rs/admin-console-menu.png | Bin 0 -> 21051 bytes .../database-configuration-export-button.png | Bin 0 -> 2141 bytes .../database-export-details-export-button.png | Bin 0 -> 2312 bytes static/images/rs/database-export-details.png | Bin 0 -> 23287 bytes .../images/rs/database-tabs-configuration.png | Bin 0 -> 7661 bytes 6 files changed, 215 insertions(+), 20 deletions(-) create mode 100755 static/images/rs/admin-console-menu.png create mode 100755 static/images/rs/database-configuration-export-button.png create mode 100755 static/images/rs/database-export-details-export-button.png create mode 100755 static/images/rs/database-export-details.png create mode 100755 static/images/rs/database-tabs-configuration.png diff --git a/content/rs/administering/import-export/exporting-data.md b/content/rs/administering/import-export/exporting-data.md index 0ba7e04e15c..071336b2e15 100644 --- a/content/rs/administering/import-export/exporting-data.md +++ b/content/rs/administering/import-export/exporting-data.md @@ -7,11 +7,8 @@ categories: ["RS"] aliases: /rs/administering/import-export/exporting-data/ /rs/administering/database-operations/exporting-data/ --- -You can [schedule backups]({{< relref "/rs/administering/import-export/exporting-data.md" >}}) -of a specific Redis Enterprise Software database to make sure you always have valid backups. -You can also export the data from a specific database at any time. -You can export a database to these locations: +You can export the data from a specific database at any time. The following destinations are supported: - FTP server - SFTP server @@ -20,25 +17,223 @@ You can export a database to these locations: - Azure Blob Storage - Google Cloud Storage -{{}}The backup process creates compressed (.gz) RDB files that you can [import into a database]({{< relref "/rs/administering/import-export/importing-data.md" >}}). -If you backup a database configured for database clustering, -RS copies a backup file for each shard to the specified backup location. +If you export a database configured for database clustering, export files are created for each shard. -{{< note >}} -Make sure that you have enough space available in your storage location. -If there is not enough space in the backup location, the backup fails. -{{< /note >}} -{{}} +## Storage space requirements -## Export data from a database +Before exporting data, verify that you have enough space available in the storage destination and on the local storage associated with the node hosting the database. + +Export is a two-step process: a temporary copy of the data is saved to the local storage of the node and then copied to the storage destination. (The temporary file is removed after the copy operation.) + +Export fails when there isn't enough space for either step. + +## Export database data To export data from a database: -1. In **databases**, click on the database that you want to export data from. -1. In **configuration**, at the bottom of the page click **Export**. -1. Select the location type to export the data to and enter the connection details. -1. Select **Receive email notification on success/failure**, if you want to receive - email notifications about the import process. -1. Click **Export**. +1. Sign into the admin console. +1. Select the **Databases** command from the console menu. + + {{Choose the **Databases** command from the admin console menu.}}{{< /image >}} + + The admin console commands vary according to your level of access. Here, you see commands available to users with full access. + +1. Select the database from the database list. + +1. Select the **Configuration** tab. + + {{Select the **Configuration** tab to export data.}}{{< /image >}} + +1. Select the **Export** button. + + {{Select the **Export** button tab to export data.}}{{< /image >}} + + If the **Export** button is disabled, you do not have permission to export data. + +1. Enter the export details. + + {{Enter export details and then select the Export button to begin exporting data.}}{{< /image >}} + + The **Choose storage type** list defines the destination storage container for the exported data; select the appropriate value and then enter the requested details. Details vary for each storage type. For help, see [Supported storage locations](#supported-storage-locations). + +1. Select the **Export** button to begin the export process. + + {{Select the **Export** button to export data.}}{{< /image >}} + +## Supported storage locations {#supported-storage-locations} + +Data can be exported to a local mount point, transferred to [a URI](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier) using FTP/SFTP, or stored on cloud provider storage. + +When saved to a local mount point or a cloud provider, export locations need to be available to [the group and user]({{< relref "/rs/installing-upgrading/customize-user-and-group.md" >}}) running Redis Enterprise Software, `redislabs:redislabs` by default. + +Redis Enterprise Software needs the ability to view permissions and update objects in the storage location. Implementation details vary according to the provider and your configuration. To learn more, consult the provider's documentation. + +The following sections provide general guidelines. Because provider features change frequently, use your provider's documentation for the latest info. + +### FTP server + +Before exporting data to an FTP server, verify that: + +- Your Redis Enterprise cluster can connect and authenticate to the FTP server. +- The user specified in the FTP server location has read and write privileges. + +To export data to an FTP server, set **Path** using the following syntax: + +`ftp://[username]:[password]@[host]:[port]/[path]/` + +Where: + +- *protocol*: the server's protocol, can be either `ftp` or `ftps`. +- *username*: your username, if needed. +- *password*: your password, if needed. +- *hostname*: the hostname or IP address of the server. +- *port*: the port number of the server, if needed. +- *path*: the export destination path, if needed. + +Example: `ftp://username:password@10.1.1.1/home/exports/` + +The user account needs permission to write files to the server. + +### SFTP server + +Before exporting data to an SFTP server, make sure that: + +- Your Redis Enterprise cluster can connect and authenticate to the SFTP server. +- The user specified in the SFTP server location has read and write privileges. +- The SSH private keys are specified correctly. You can use the key generated by the cluster or specify a custom key. + + When using the cluster auto generated key, copy the **Cluster SSH Public Key** to the appropriate location on the SFTP server. This is available from the **General** tab of the **Settings** menu in the admin console. + + Use the server documentation to determine the appropriate location for the SSH Public Key. + +To export data to an SFTP server, enter the SFTP server location in the format: + +```sh +sftp://user:password@host<:custom_port>/path/ +``` + +For example: `sftp://username:password@10.1.1.1/home/exports/` + +### Local mount point + +Before exporting data to a local mount point, verify that: + +- The node can connect to the destination server, the one hosting the mount point. +- The `redislabs:redislabs` user has read and write privileges on the local mount point +and on the destination server. +- The export location has enough disk space for your exported data. + +To export to a local mount point: + +1. On each node in the cluster, create the mount point: + 1. Connect to a shell running on Redis Enterprise Software server hosting the node. + 1. Mount the remote storage to a local mount point. + + For example: + + ```sh + sudo mount -t nfs 192.168.10.204:/DataVolume/Public /mnt/Public + ``` + +1. In the path for the export location, enter the mount point. + + For example: `/mnt/Public` + +1. Verify that the user running Redis Enterprise Software has permissions to access and update files in the mount location. + +### AWS Simple Storage Service + +To export data to an Amazon Web Services (AWS) Simple Storage Service (S3) [bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html): + +1. Sign in to the [AWS Management Console](https://console.aws.amazon.com/). + +1. Use the **Services** menu to locate and select **Storage** > **S3**. This takes you to the Amazon S3 admin panel. + +1. If you do not already have a bucket for exports, select the **Create Bucket** button in the upper, right corner of the **Buckets** panel. + + 1. When the **Create bucket** screen appears, enter a name for your bucket. + + 1. Set **AWS Region** to an appropriate region. + + 1. Set other properties according to your company standards. + + 1. When finished, select the **Create bucket** button near the bottom of the screen. + +1. Use the Buckets list to locate and select your bucket. When the settings appear, select the **Permissions** tab, locate the **Access control list (ACL)** section, and then select the **Edit** button. + +1. When the **Edit access control list (ACL)** screen appears, locate the **Access for other AWS accounts** section and then select the **Add grantee** button. + + 1. In the **Grantee** field, enter the AWS account ID: + + ``` + fd1b05415aa5ea3a310265ddb13b156c7c76260dbc87e037a8fc290c3c86b614 + ``` + + 1. In the **Objects** list, enable **Write**. + 1. In the **Bucket ACL** list, enable **Read** and **Write**. + 1. When finished, select the **Save changes** button. + +Once the bucket is available and the permissions are set, use the name of your bucket as the **Backup destination** for your database **Remote backup settings**. + +Use the S3 protocol scheme (`s3://`) to set *bucket-name* to the name of your export bucket. If, for example, your bucket is named *exports-bucket*, set **Path** to `s3://exports-bucket`. + +### GCP Storage + +For [Google Cloud Platform (GCP) +console](https://developers.google.com/console/) subscriptions, store your exports in a Google Cloud Storage bucket: + +1. Sign in to Google Cloud Platform console. + +1. In the admin console menu, locate the _Storage_ section then select **Cloud Storage > Browser**. + +1. Create or select a bucket. + +1. Select the [overflow menu](https://material.io/components/app-bars-top#anatomy) (three dots, stacked) and then select the **Edit Bucket Permissions** command. + +1. Select the **Add members** button and then add: + + `service@redislabs-prod-clusters.iam.gserviceaccount.com` + +1. Set **Role** to **Storage Legacy** | **Storage Legacy Bucket Writer**. + +1. Save your changes. + +1. Verify that your bucket does _not_ have a set retention policy. + + To do so: + + 1. View the details of your bucket. + + 1. Select the **Retention** tab. + + 1. Verify that there is no retention policy. + + If a policy is defined and you cannot delete it, you need to use a different bucket. + +Use the bucket details **Configuration** tab to locate the **gsutil URI**. This is the value you'll assign to your resource's path. + +### Azure Blob Storage + +To export to Microsoft Azure Blob Storage, sign in to the Azure portal and then: + +1. [Create an Azure Storage account](https://docs.microsoft.com/en-us/azure/storage/common/storage-account-create) if you do not already have one + +1. [Create a container](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal#create-a-container) if you do not already have one + +1. [Manage storage account access keys](https://docs.microsoft.com/en-us/azure/storage/common/storage-account-keys-manage) + +Set your resource's **Path** to the path of your storage account. + +The syntax for creating the export destination varies according to your authorization mechanism. For example: + +`abs://storage_account_access_key@storage_account_name/container_name/[path/]` + +Where: + +- *storage_account_access_key:* the primary access key to the + storage account +- *storage_account_name:* the storage account name +- *container_name:* the name of the container, if needed. +- *path*: the backups path, if needed. -{{< embed-md "backup-locations.md" >}} +To learn more, see [Authorizing access to data in Azure Storage](https://docs.microsoft.com/en-us/azure/storage/common/storage-auth). diff --git a/static/images/rs/admin-console-menu.png b/static/images/rs/admin-console-menu.png new file mode 100755 index 0000000000000000000000000000000000000000..55bf84f941fe42cf8e02e5936bf3e9645b8c6a07 GIT binary patch literal 21051 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

xYQ;+HBdYZ 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 literal 0 HcmV?d00001 diff --git a/static/images/rs/database-export-details-export-button.png b/static/images/rs/database-export-details-export-button.png new file mode 100755 index 0000000000000000000000000000000000000000..1d4c41fcf0e57430a2eb6fa5d35fbf975614a2d3 GIT binary patch literal 2312 zcmZ`*dpy&7AD?TR%W<8Yj+~jh+Qlul=04ik3=wL17>i+Z+04wP7nw*Wl2fiFi*6^? z6XFz-YYDk@h>+ZMR&t5r@NDYU>GhoF`MqA>-}iHSzki?a`}6(dm*M7mKwf5-3;+O- z$K$Xb!aYa0^nlXBHv;llAl$^59tZ3J6{ta$P+GxnY5*AgGPCybOke7BbMOtN;jy9?oE*IabhZ zVzkf}g%ME5b_pxY3hG02gE&M)Qz7PXGdL0|ghL>h=%8b053JKyxX`nLhOk(XXapiQ zHWnUh3Xg~mMi`?|CF9wZeE&SI1 z3V*?15F$0cQ|F8F+fkwPqA?=A%~9liy9-o?@B%~&CtaMZkpuuplkr$PPmZ6U2t?@f z)@W<6x?E-}Mp6V%7R?5|(cw^`^GMkY7hFFq6r=ajb_N!B4tajAw2Q73!^ls`L|=8# zXZF<^9y^sH=WbgfV|4PVm#x9_tM!IWcYS}i!jO)29Yo^5*4V_B;5}z+K*qKPX<>A? zuAY&|jM5@FX%DpcW0aC{k~1aliq3+WG(iUry!VG62&a1c_41a{Mn=*TG{yGGv=O~F zAG_((QRU@t#On(iIb5<6&o+B}CY18-^ao5N!?hjT%<&^gOQa?gH*(;4+3IS^po{>e ze;Sf)3AuXpjH7x-ESYDeC0n}Yh>!PM-}q>E>I3~3})58|}p zMadU#tL-kILA+;e``tFgMd2Q-m{PHul3zfiEVX;r*Q4W^wKtMt46 z?tdq1<}Dvl)6=xdjM_n>93F)ctcy8^mx{iK0 z-DVqv;2+d@n4swEdE$8`KfT@10ec8k?&sMU>xwGI~c<{sX zKSmvxc%{&;P5GF2QlGg$MR)PTSJ{W}vxWM-sWxTJ)WdIc6u=FdS5^WtFF^gLxMq`7 zm1I;?K)S`E%_)Z##Ck^NeAb=6+O$?RPG!oLKH+Vh)11&msWcvGaA+A%G#FYiwm*)M z=4IJ*Ig)sv7j@AmhcB2;ub)89$*+a=0-;z0;n~`bf~Q9;ZDwGV1Fy91Nvc=BmRN(4 z{Ed4%oL%x|rf6eq-vVb%#^@f>u#~xyQt(krW6$!RZKrxJeR4OY#~Sry7q;97to%w2 zc^mp#RUJzyZ_KV$uwSYYH#-_XTd*s=#PViSi#>&>JtkW@T90oD>JP=!X5#6xg~}d% zFEFY)xB2k-551n`_HJ>xf>eti~iix|WVuBT$* z?AHZ4xZDc2#Cu9pHdmf=4E$r1cfWmf5$J-7HX9TF>f$6M#!jbnKejB@y_aVhW`@=UC*M>yHi_FKK5_24?hQ=k zg_=4pS)>OnXvSKOGze%Ydy8a~(Aa2{bHgZ5B8oTCI8rgLzSw1-8t!7M4?1*)2z+v_ z@2usOv(opV%9Cub8b^ox2l|*}UH1F&ElU%Dm-Ro$1zRmnOr%R)KRNSToB~;8r_X&a z@7_#-CYVSbB9c$#pGeyvqy6%ufN^`&8lRUZ2QNQZ@Kbkr>#cIW&;MfPg_;3=Sm>4R zC4<=RBJ9yWe1W*4GC56&myhf=(pM-da}Bz4xGf$9)P+sUH$_4#rgJKeW1fzTP4p&Y zq&#y6A2eP8Qa)LV&AqocXnbUU9m0ugL@*1P_SkrrL~nxOs&j9a==~U&<=AYu_k8($ zH8DN?1ZXbG@&cAz=6kUCXX>5~w*T{5Kd?DxZuw9w z``MqmLqkJ?`3;wFu`@l|vwq9jNM#MsRbF}dr8Nbq)~uHKIt9GwcLeX~imkBsPx%im C|JQK}+Es`QqG9(qv` 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 Date: Tue, 19 Oct 2021 08:24:37 -0700 Subject: [PATCH 2/2] Editorial feedback. --- content/rs/administering/import-export/exporting-data.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/rs/administering/import-export/exporting-data.md b/content/rs/administering/import-export/exporting-data.md index 071336b2e15..12376331c27 100644 --- a/content/rs/administering/import-export/exporting-data.md +++ b/content/rs/administering/import-export/exporting-data.md @@ -31,7 +31,7 @@ Export fails when there isn't enough space for either step. To export data from a database: -1. Sign into the admin console. +1. Sign in to the admin console. 1. Select the **Databases** command from the console menu. {{Choose the **Databases** command from the admin console menu.}}{{< /image >}} @@ -102,7 +102,7 @@ Before exporting data to an SFTP server, make sure that: - The user specified in the SFTP server location has read and write privileges. - The SSH private keys are specified correctly. You can use the key generated by the cluster or specify a custom key. - When using the cluster auto generated key, copy the **Cluster SSH Public Key** to the appropriate location on the SFTP server. This is available from the **General** tab of the **Settings** menu in the admin console. + When using the cluster key, copy the **Cluster SSH Public Key** to the appropriate location on the SFTP server. This is available from the **General** tab of the **Settings** menu in the admin console. Use the server documentation to determine the appropriate location for the SSH Public Key. @@ -126,7 +126,7 @@ and on the destination server. To export to a local mount point: 1. On each node in the cluster, create the mount point: - 1. Connect to a shell running on Redis Enterprise Software server hosting the node. + 1. Connect to a shell running Redis Enterprise Software server hosting the node. 1. Mount the remote storage to a local mount point. For example: