备份和恢复 AEN ¶
文档用途¶
本文档列出了备份和恢复 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 签名证书,则需要该副本进行验证。
恢复¶
恢复 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 证书文件移动到配置文件中指示的位置。
网关组件步骤¶
备份¶
配置文件¶
创建所有配置文件的 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> # 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 证书文件移动到配置文件中指示的位置。
计算组件步骤¶
备份¶
配置文件¶
创建所有配置文件的 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
项目文件¶
在 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