删除资产后,Nexus Repository Manager 不会释放存储

删除资产后,Nexus Repository Manager 不会释放存储

我有一个用于 Docker 注册表的 Nexus(版本 3.30.0):

由于这里随着时间的推移积累了大量 TB 数据,因此我编写了一个脚本,以相对复杂的方式分析哪些图像不再需要,然后通过 API 将其删除[DELETE] /v1/assets/{id}

图片也删除得很完美,但存储空间保持不变。我也运行了 Admin Task Compact Blob Store,但没有成功。图片被删除已经好几天了。

我还需要做其他事情来释放存储空间吗?例如,删除未使用的 blob 或类似内容?有人知道这方面的信息吗?

已经谢谢了

答案1

如果 Nexus Repository Manager 在删除资产后未释放存储空间,则可能是删除过程未正确从存储库的元数据中删除对该资产的所有引用。这可能导致资产仍被视为存储库存储的一部分,即使它在技术上已被删除。

要解决此问题,您可以尝试执行存储库重建,这将重建存储库的元数据并删除对已删除资产的任何引用。为此,请按照以下步骤操作:

以管理员身份登录 Nexus Repository Manager。导航到相关存储库。单击“任务”选项卡。单击“创建任务”按钮。从任务列表中选择“重建存储库搜索”。配置任务以在相关存储库上运行,并为您的用例选择任何其他适当的设置。单击“创建”按钮创建任务。等待任务完成。任务完成后,应重建存储库的元数据,并删除对已删除资产的任何引用。这应该释放以前被已删除资产占用的任何存储空间。

请注意,重建存储库的元数据可能是一项资源密集型任务,并且可能需要一些时间才能完成,具体取决于存储库的大小。还建议在执行任何维护任务之前对存储库进行备份。 诺斯艾德

相关内容