Sonatype Nexus-我可以手动压缩Blob存储区吗?

时间:2018-08-07 13:03:09

标签: centos7 nexus blobstore sonatype nexus3

我的CENTOS7盒子上的磁盘已满。没有任何删除操作可以安全地释放一些空间而不会损坏某些内容。

由于磁盘已满,OrientDB已切换为只读模式,因此我无法创建Compact Blob存储任务来清理磁盘空间。我需要手动执行此操作。

  • 不,我无法添加额外的磁盘空间。

能否找到“紧凑的Blob存储”任务的源并手动/外部运行它?

Nexus版本为3.12.1-01

非常感谢!

2 个答案:

答案 0 :(得分:1)

在不运行NXRM的情况下无法执行任务。

但是,紧凑型Blob存储任务的作用是将已被软删除的项目从Blob存储中删除。如果您被阻止,我想可以编写一个脚本来查找并删除它们(甚至手动进行)。

请参阅以下示例属性文件(deleted = true):

  

2018-09-11 18:55:59,354-0400

     

2018年9月11日星期二18:55:59

     

deleted = true   @ BlobStore.created-by =管理员   creationTime = 1536617858040   @ BlobStore.created-by-ip = 127.0.0.1   @ BlobStore.content-type =文本/纯文本   sha1 = 05f4f83e8cc91e39e0d697c264ce7c732ac98849   @ BlobStore.blob-name = ticketlist.txt   deleteReason =正在删除资产AttachedEntityId {asset->#49:1}   @ Bucket.repo-name = rawhosted1   大小= 1772

答案 1 :(得分:1)

有关NXRM的更多信息,您可以在https://github.com/sonatype/nexus-public/blob/cf2626d4a0deb2181ce4f1c8ea1f434231ba962e/components/nexus-blobstore-file/src/main/java/org/sonatype/nexus/blobstore/file/FileBlobStore.java#L553

处查看FileBlobStore#compact的源代码。

您会发现它利用已删除的文件索引来防止您遍历整个商店。