备份和恢复 AEN (AEN 4.2.1)

文档用途

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

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

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

重要说明

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

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

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

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

服务器组件步骤

备份

蒙戈数据库

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

注意:这些命令必须由$AEN_SRVC_ACCT.

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

AEN服务器配置文件(包括License文件)

创建所有配置文件的 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) 的副本,包括密钥文件,以及网关的 certfile 副本,如果使用自签名或私有 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服务器配置文件(包括License文件)

解压所有配置文件的 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 运行。

服务 wakari-服务器重启

网关组件步骤

备份

配置文件

创建所有配置文件的 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 网关

设置变量和更改权限

注意:这些命令必须由$AEN_SRVC_ACCT.

跑步:

export  AEN_SERVER = <FQDN HOSTNAME OR IP ADDRESS> # 使用真实的 FQDN 
export  AEN_GATEWAY_PORT = 8089 
export  AEN_GATEWAY = <FQDN HOSTNAME OR IP ADDRESS>   # 很快就会
用到 chmod a+x aen-*.sh                 # 设置安装程序为可执行

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

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

运行 AEN 网关安装程序

跑步:

须藤 -E ./aen-gateway-4.2.1-Linux-x86_64.sh -w $AEN_SERVER
<许可文本>
...
...

前缀= /opt/wakari/wakari-gateway
登录到 /tmp/wakari_gateway.log
...
...
检查服务器名称
运行以下命令后请重启网关
将此网关连接到 AEN 服务器
...

配置文件

解压配置文件。

注意:此命令必须由$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 运行。

服务 wakari-gateway 重启

计算组件步骤

备份

配置文件

创建所有配置文件的 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> # 使用真实的 FQDN 
chmod a+x aen-*.sh                 # 设置安装程序为可执行

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

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

运行 AEN 计算安装程序

跑步:

须藤 -E ./aen-compute-4.2.1-Linux-x86_64.sh -w $AEN_SERVER
...
...
前缀= /opt/wakari/wakari-compute
登录到 /tmp/wakari_compute.log
检查服务器名称
...
...
根环境的初始克隆...
启动 Wakari 守护进程...
安装完成。
您是否希望安装程序预先添加 wakari-compute 安装位置
到 /root/.bashrc 中的 PATH ?[| ] 
[] >>> 是

配置文件

解压配置文件。

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

项目文件

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

注意:默认情况下,此目录为/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

重启计算节点

重新启动计算启动器应用程序。

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

服务 wakari-计算重启