备份和恢复 AEN (AEN 4.2.1)#

文档目的

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

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

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

重要说明

查看Concepts页面,以熟悉不同的组件及其如何协同工作。

某些命令需要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 用户密码并将数据库恢复到备份时的确切状态。请参阅 MongoDB 文档 以获取有关 Mongo 2.6 的 mongorestore 选项的更多信息。

注意: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

注意:将更改为实际的完全限定域名主机名或IP地址。

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

运行AEN网关安装程序

运行:

sudo -E ./aen-gateway-4.2.1-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 访问控制列表 (ACLs) 进行项目共享,因此备份必须保留 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

注意:将更改为实际的完全限定域名主机名或IP地址。

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

运行AEN计算安装程序

运行:

sudo -E ./aen-compute-4.2.1-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

然后使用ACLs解压项目目录。

注意:此命令必须以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