备份和恢复 AEN#

文档目的#

本文档阐述了为灾难恢复备份和恢复 Anaconda Enterprise Notebooks (AEN) 的步骤。它不旨在提供高可用性。每个组件(服务器、网关和计算)都有其自己的说明,并且可以根据需要单独完成。这些步骤主要包括创建重要配置文件和数据的 tar 文件。

本文档是为熟悉基本 Linux 命令行导航和用法的系统管理员编写的。

要迁移到新集群,请使用这些备份和恢复说明从旧集群备份系统并将其恢复到新集群。

重要提示#

查看概念页面,以熟悉不同的组件以及它们如何协同工作。

某些命令需要 root 或 sudo 访问权限。

注意: 所有命令都必须由 $AEN_SRVC_ACCT(用于运行 AEN 的帐户)运行,除非明确指示以 root 或 sudo 身份运行的命令。如果命令不是由正确的用户运行,则安装将无法工作,并且需要完全卸载和重新安装!

这些说明假设任何组件节点的完全限定域名 (FQDN) 都没有更改。如果任何 FQDN 不同,则需要额外的步骤。

服务器组件步骤#

备份#

Mongo 数据库#

这将创建一个名为 aen_mongo_backup.tar 的单个 tar 文件,其中仅包含 AEN 使用的名为“wakari”的数据库。它还会生成数据库备份的日志。

注意:这些命令必须由 $AEN_SRVC_ACCT 运行。

mongodump -db wakari -o aen_main >> mongo_backup.log
tar -cvf aen_mongo_backup.tar aen_main

AEN 服务器配置文件(包括许可证文件)#

创建所有配置文件的 tar 文件,包括任何许可证文件。

注意:此命令必须由 $AEN_SRVC_ACCT 运行。

tar -cvf aen_server_config.tar -C /opt/wakari/ wakari-server/etc/wakari/

Nginx 配置(如果需要)#

如果 nginx 配置文件已自定义,请制作其副本。AEN 服务器的默认配置是一个符号链接。

注意:此命令必须由 $AEN_SRVC_ACCT 运行。

/etc/nginx/conf.d/www.enterprise.conf -> /opt/wakari/wakari-server/etc/nginx/conf.d/www.enterprise.conf

SSL 证书(如果需要)#

制作服务器的 SSL 证书文件 (certfiles) 的副本,包括密钥文件,以及网关的证书文件副本,如果使用自签名或私有 CA 签名证书进行验证,则需要该副本。

恢复#

重新安装 AEN-Server#

请参阅有关安装当前版本 AEN-Server 的说明

无需上传许可证,因为它将与配置文件一起恢复。

注意:新安装将为本地 $AEN_SRVC_ACCT 帐户生成新密码。

恢复 Mongo 数据库#

这假定 mongo 已作为服务器组件重新安装的一部分重新安装。解压缩 mongo 数据库并恢复它。

注意:这些命令必须由 $AEN_SRVC_ACCT 运行。

tar -xvf aen_mongo_backup.tar
mongorestore --drop aen_main

注意:--drop 选项重置 $AEN_SRVC_ACCT 用户密码并将数据库恢复到备份时的确切状态。有关 Mongo 2.6 的 mongorestore 选项的更多信息,请参阅 MongoDB 文档

注意:AEN 默认使用 Mongo 2.6。如果您使用的是其他版本,请查阅您版本的文档。

AEN 服务器配置文件(包括许可证文件)#

解压缩所有配置文件的 tar 文件,包括任何许可证文件。

注意:此命令必须由 $AEN_SRVC_ACCT 运行。

tar -xvf aen_server_config.tar -C /opt/wakari/

确保文件位于 /opt/wakari/wakari-server/etc/wakari/ 中,并且归 $AEN_SRVC_ACCT 所有。

Nginx 配置(如果需要)#

确保对 nginx 配置的任何修改都位于 /etc/nginx/conf.d/opt/wakari/wakari-server/etc/nginx/conf.d/ 中,并具有正确的符号链接。

注意:此命令必须由 $AEN_SRVC_ACCT 运行。

/etc/nginx/conf.d/www.enterprise.conf -> /opt/wakari/wakari-server/etc/nginx/conf.d/www.enterprise.conf

SSL 证书(如果需要)#

将任何 SSL 证书文件移动到配置文件中指示的位置。

重启服务器#

重启服务器应用程序。

注意:此命令必须以 root 身份或使用 sudo 运行。

service wakari-server restart

网关组件步骤#

备份#

配置文件#

创建所有配置文件的 tar 文件。

注意:此命令必须由 $AEN_SRVC_ACCT 运行。

tar -cvf aen_gateway_config.tar -C /opt/wakari/ wakari-gateway/etc/wakari/

自定义 .condarc 文件(如果需要)#

如果 /opt/wakari/miniconda/.condarc 已修改,请制作其副本。

SSL 证书(如果需要)#

制作网关的 SSL 证书文件(包括密钥文件)和服务器的证书文件(如果使用自签名或私有 CA 签名证书进行验证,则需要)的副本。

恢复#

重新安装 AEN-Gateway#

设置变量和更改权限#

注意:这些命令必须由 $AEN_SRVC_ACCT 运行。

运行

export AEN_SERVER=<FQDN HOSTNAME OR IP ADDRESS> # Use the real FQDN
export AEN_GATEWAY_PORT=8089
export AEN_GATEWAY=<FQDN HOSTNAME OR IP ADDRESS>  # will be needed shortly
chmod a+x aen-*.sh                # Set installer to be executable

注意:将 <FQDN HOSTNAME OR IP ADDRESS> 更改为实际的完全限定域名主机名或 IP 地址。

注意:您必须在关闭终端之前执行整个过程,以确保变量导出持久存在。如果在成功安装之前关闭终端,请导出变量以继续安装。

运行 AEN 网关安装程序#

运行

sudo -E ./aen-gateway-4.3.3-Linux-x86_64.sh -w $AEN_SERVER
<license text>
...
...

PREFIX=/opt/wakari/wakari-gateway
Logging to /tmp/wakari_gateway.log
...
...
Checking server name
Please restart the Gateway after running the following command
to connect this Gateway to the AEN Server
...

配置文件#

解压缩配置文件。

注意:此命令必须由 $AEN_SRVC_ACCT 运行。

tar -xvf aen_gateway_config.tar -C /opt/wakari

验证文件是否位于 /opt/wakari/wakari-gateway/etc/wakari/ 中,并且归 $AEN_SRVC_ACCT 所有。

自定义 .condarc 文件(如果需要)#

将自定义 .condarc 文件移动到 /opt/wakari/miniconda/.condarc

SSL 证书(如果需要)#

将任何 SSL 证书文件移动到配置文件中指示的位置。

重启网关#

重启网关应用程序。

注意:此命令必须以 root 身份或使用 sudo 运行。

service wakari-gateway restart

计算组件步骤#

备份#

配置文件#

创建所有配置文件的 tar 文件。

注意:此命令必须由 $AEN_SRVC_ACCT 运行。

tar -cvf aen_compute_config.tar -C /opt/wakari/ wakari-compute/etc/wakari

自定义更改(少见)#

手动备份应用于代码的任何自定义更改。一个更改可能是骨架文件夹中的其他文件

/opt/wakari/wakari-compute/lib/node_modules/wakari-compute-launcher/skeleton

创建用户列表#

AEN 使用 POSIX 访问控制列表 (ACL) 进行项目共享,因此备份必须保留 ACL 信息。这是通过一个脚本完成的,该脚本创建一个名为 users.lst 的文件,其中包含有权访问给定计算节点上的项目的所有用户的列表。下载并运行该脚本。

注意:这些命令必须由 $AEN_SRVC_ACCT 运行。

wget https://s3.amazonaws.com/continuum-airgap/misc/wk-compute-get-acl-users.py
chmod 755 wk-compute-get-acl-users.py
./wk-compute-get-acl-users.py

项目文件#

创建启用 ACL 的项目目录的 tar 文件。默认项目基本位置为 /projects

注意:此命令必须以 root 身份或使用 sudo 运行。

tar --acls -cpvf projects.tar -C <projects base location>/*

完整 Anaconda(选项 1)#

如果对默认 Anaconda 安装进行了任何更改(安装了其他软件包或删除了软件包),则需要备份整个 Anaconda 安装。

注意:此命令必须由 $AEN_SRVC_ACCT 运行。

tar -cvf aen_anaconda.tar -C /opt/wakari/anaconda/*

如果未对 Anaconda 的默认安装进行任何更改,您可能只需备份 .condarc 文件和任何自定义环境。

部分 Anaconda(选项 2)#

自定义 .condarc 文件#

制作 /opt/wakari/anaconda/.condarc 的副本。

自定义环境(如果需要)#

创建任何自定义共享环境的 tar 文件。

注意:此命令必须由 $AEN_SRVC_ACCT 运行。

tar -cvf aen_compute_envs.tar -C /opt/wakari/ anaconda/envs

注意:如果未创建自定义共享环境,则 envs 文件夹将不存在。

恢复#

重新安装 AEN-Compute#

设置变量和更改权限#

注意:这些命令必须由 $AEN_SRVC_ACCT 运行。

运行

export AEN_SERVER=<FQDN HOSTNAME OR IP ADDRESS> # Use the real FQDN
chmod a+x aen-*.sh                # Set installer to be executable

注意:将 <FQDN HOSTNAME OR IP ADDRESS> 更改为实际的完全限定域名主机名或 IP 地址。

注意:您必须在关闭终端之前执行整个过程,以确保变量导出持久存在。

运行 AEN 计算安装程序#

运行

sudo -E ./aen-compute-4.3.3-Linux-x86_64.sh -w $AEN_SERVER
...
...
PREFIX=/opt/wakari/wakari-compute
Logging to /tmp/wakari_compute.log
Checking server name
...
...
Initial clone of root environment...
Starting Wakari daemons...
installation finished.
Do you wish the installer to prepend the wakari-compute install location
to PATH in your /root/.bashrc ? [yes|no]
[no] >>> yes

配置文件#

解压缩配置文件。

注意:此命令必须由 $AEN_SRVC_ACCT 运行。

tar -xvf aen_compute_config.tar -C /opt/wakari

注意:验证它们是否位于 /opt/wakari/wakari-compute/etc/wakari 中,并且归 $AEN_SRVC_ACCT 所有。

自定义更改(少见)#

手动恢复您在备份部分中保存的任何自定义更改。如果骨架目录中有更改,则这些文件必须是全局可读的,否则项目将拒绝启动。

创建用户#

注意:仅当您的 Linux 机器未绑定到 LDAP 时,才使用这些说明创建用户。

为了在恢复时正确设置 ACL,所有有权访问文件的用户都必须在机器上可用。向您的系统管理员询问适合您系统的方法,例如使用“useradd”工具。备份过程中创建了名为 users.lst 的文件,其中列出了所需的用户。

类似于以下 useradd 示例的过程将适用于大多数 Linux 系统。

注意:此命令必须由 $AEN_SRVC_ACCT 运行。

xargs -0 -n 1 useradd --user-group < users.lst

项目文件#

wk-compute-launcher-config.json 中的 projectRoot 中指定的位置创建项目目录。

注意:默认情况下,此目录为 /projects

然后解压缩带有 ACL 的项目目录。

注意:此命令必须以 root 身份或使用 sudo 运行

tar --acls -xpvf projects.tar -C <projects base location>

完整 Anaconda(选项 1)#

如果您对完整 Anaconda 安装进行了完整备份,请将此文件解压缩到 /opt/wakari/anaconda

注意:此命令必须由 $AEN_SRVC_ACCT 运行。

tar -xvf aen_anaconda.tar -C /opt/wakari

部分 Anaconda(选项 2)#

恢复自定义 .condarc 文件。

如果您对 Anaconda 安装进行了部分备份,请将 .condarc 文件的副本移动到 /opt/wakari/anaconda/.condarc

自定义环境(如果需要)#

将创建的任何自定义环境解压缩到 /opt/wakari/anaconda/envs

注意:此命令必须由 $AEN_SRVC_ACCT 运行。

tar -xvf aen_compute_envs.tar -C /opt/wakari

重启计算节点#

重启 compute-launcher 应用程序。

注意:此命令必须以 root 身份或使用 sudo 运行。

service wakari-compute restart