nexus3备份与恢复【翻译】

原文:https://help.sonatype.com/repomanager3/backup-and-restore/prepare-a-backup

开始备份

NXRM将数据存储在blob存储中。元数据和配置信息在数据库中分开存储。必须同时备份blob存储和元数据数据库,否则在恢复时可能导致错误。您的备份策略应该包括将数据库和blob存储一起备份到一个新位置,以保持数据的完整性。

Blob存储备份

包含blob的文件存储或对象存储必须在NXRM外部进行备份。

  • 对于文件存储,blobs的存储目录必须要备份。默认配置是$data-dir/blobs
  • 对于S3 blob存储,可以使用桶版本控制作为备份的替代方案,或者可以将桶镜像到另一个S3存储桶。

Node ID备份

每一个nexus repo实例都包含一个与他相关的唯一性ID。这个id需要进行备份以便在恢复时让nexus埋点,以及nexus防火墙报告功能可以正常使用。需要备份的node Id 位于:

$data-dir/keystores/node/​

Database备份

导出的数据库里包含多个repositories的components以及assets对于blob存储的指针。如果不一起备份它们,component metadata可能指向不存在的blob存储,或当你试图恢复备份时发生一些错误。所以为了数据的正确性,你的备份策略必须包含database以及blob存储,并将他们报错到一个新的地址。

下面是custom configurations以及database一起备份的一个事例:

  • 配置Admin - Export databases for backup以导出databases。
  • 运行定时任务以导出databases
  • 在运行导出databases任务的同时,备份你在安装目录以及数据目录下的configurations文件。
  • 备份所有blob存储。
  • 将上面所有的数据统一存储在一起以用作备份。

在备份期间,对于database的访问将被挂起。建议在非工作时间安排备份任务。


原文:https://help.sonatype.com/repomanager3/backup-and-restore/configure-and-run-the-backup-task

配置以及运行备份任务

为了配置和运行一个新的database备份任务,需要回顾 Configuring and Executing Tasks章节的内容。back任务的表单里包含一个额外的字段叫Backup location,这个字段用来指定你备份需要保存的目录,如下图

image.png

当任务运行时,备份产物将输出到Backup location字段所指定的目录。目录下将包含许多.bak文件,这些文件对应以下database:
Component
在repository manager中组成components的所有相关数据。
Configuration
通用配置,例如 scheduled tasks, email server configuration
** Security**
所有用户和访问权限管理内容

根据任务启动的时间,所有备份文件都以时间戳格式显示。


原文:https://help.sonatype.com/repomanager3/backup-and-restore/restore-exported-databases

恢复备份文件

你可以用备份文件将你的databases文件恢复到你执行备份任务时的状态,要求你这么做:

  • 进入Backup location field from the Admin - Export databases for backup配置中指定的导出目录
  • 删除所有的databases目录以便将他们恢复到之前的状态。

恢复应该包括备份过程中导出的所有数据库,不应该单独的恢复某次备份的某个文件,而是应该整体恢复(即具有相同时间戳的文件)。

恢复database遵循以下步骤:

  • 关闭Nexus Repository Manager
  • 删除$data-dir/db目录下的以下文件夹
    component
    config
    security
  • 进入你存放备份文件的目录
  • 将相关的.bak文件拷贝到$data-dir/restore-from-backup用于恢复(注意:对于3.10.0或更早的版本,使用$data-dir/backup作为恢复位置)
  • 恢复database相关联的blob存储的备份
  • 重启 Nexus Repository Manager
  • 确认NXRM运作正常
  • restore-from-backup目录中删除.bak文件。

你可以通过查看前一次完全恢复的database文件从$data-dir/nexus3/db中删除来确定本次恢复已经完成。

如上所述,在恢复component数据库时,还必须恢复包含组件的相应blob存储。不这样做将导致blob和数据库之间的同步问题。

如果blob存储和数据库备份不是在完全相同的时间进行的,那么它们可能在恢复之后导致数据不同步。可以通过以下方式解决这个问题:Repair - Reconcile component database from blob store task under System → Tasks in the Adminitration UI.

你可能感兴趣的:(nexus3备份与恢复【翻译】)