• +86 400-9955-698
  • support@vinchin.com
logo
关于我们

技术分享

技术分享 Nexus数据的备份与恢复

Nexus数据的备份与恢复

2020-03-05

Nexus可以用作二进制私库,也可以用作镜像私库,这篇文章整理一下Nexus使用中的数据备份与恢复的相关知识。

Nexus数据与备份

Nexus中普通数据信息和元数据是分开存储的,前者保存在blob中,而后者保存在数据库中。而在备份的时候二者必须同时进行备份,在备份策略中必须要同时包含两者才能保证数据的完整性。而关于Nexus数据也可以分成如下两类进行备份:

  • blob数据
    普通数据信息在Nexus中是保存在blob中的,所以此部分数据必须进行备份,blob的典型配置中,此目录对应着Nexus的数据目录的blobs子目录。

  • 元数据
    元数据在Nexus中是在数据库中进行保存的,为了保证数据的完整性,Nexus需要同时将数据库中的数据进行导出和备份

数据备份步骤

Nexus中一般可按照如下步骤进行数据备份:

  • 步骤1:  使用管理员用户创建数据库meta数据的执行任务
    使用管理员用户可创建如下任务
    云祺Nexus数据的备份与恢复
    可根据需要设定任务执行的方式,比如此处设定为每日0点执行,将数据导出至/nexus-data/metabackup中,可以看到任务的状态为waiting
    云祺Nexus数据的备份与恢复

  • 步骤2: 运行创建的执行任务导出数据到事前配置的目录中
    但是也可以手动执行,进入Task详细页面,点击Run按钮即可实时执行备份操作
    云祺Nexus数据的备份与恢复
    执行之后可以看到执行的结果的详细信息如下所示
    云祺Nexus数据的备份与恢复
    进入到容器内部可以看到生成的/nexus-data/metabackup目录和其下文件如下所示
    云祺Nexus数据的备份与恢复
    注:此处时间不一致因为虚拟机的时间的问题,实际环境中应没有此类问题

  • 步骤3: 备份安装时的配置信息以及数据目录

  • 步骤4: 备份所有的blob数据信息

  • 步骤5: 将所有的备份信息进行统一的存储和管理

注意事项:对于数据库的写权限会临时的挂起直至备份结束才会恢复,因此备份的任务的执行应该在非业务时间进行。

便捷备份方式

更为便捷的备份方式为直接备份整个/nexus-data目录即可,建议将此卷挂载出来,作为备份对象,详细的各目录的说明信息如下所示:

目录名称说明清理策略
blobsNexus的数据被保存在被称为blob的块中根据需要进行定期清理,尤其是此目录中如果包含构建所产生的二进制制品的情况下,此目录的磁盘使用率会越来越大
cache保存当前Karaf bundles所使用的信息内部使用信息,无需进行定期清理
dbmeta数据存储的数据库信息备份建议通过使用Nexus创建相应的任务来进行数据的导出
elasticsearchelasticsearch当前的配置状态不会大幅度增加磁盘的使用需求,无需进行定期清理
etc主要的配置和运行态的设定无需进行定期清理
health-checkNexus相关的健康检查的相关信息不会大幅度增加磁盘的使用需求,无需进行定期清理
tmp临时使用的目录Nexus内部使用的临时目录,无需进行定期清理
log日志信息包含nexus.log、jvm.log、karaf.log和request.log等日志信息,虽然不会产生大量磁盘使用状况,但是根据日志备份策略会生成很多文件,建议保存一定日期的log.gz文件,超过一定时间比如2W以上的可进行删除

日志

Nexus日志保存在/nexus-data/log目录中,主要分为如下几种

  • jvm.log
    JVM标准输出、错误和线程导出的信息记录在此日志文件之中

  • nexus.log
    应用日志,日志信息包含标准日志输出字段比如时间/日志级别/相关线程/类与消息详细信息等。

  • request.log
    用于通过http方式的访问请求进行记录的日志信息,包含客户机信息、用户和HTTP请求属性(状态码与user-agent等header)等

  • karaf.log
    Apache Karaf容器日志文件信息

恢复

如果将整个数据卷进行备份的情况,恢复在Nexus服务停止的状况下,直接替换,然后重启服务即可恢复Nexus服务


  • 标签:
  • 技术分享

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载