备份和恢复AEN#
文档目的#
本文档概述了为灾难恢复备份和恢复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_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.3.2-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.3.2-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