如何调整Nexus Repository Manager OSS 3默认Blob存储大小
Nexus Repository Manager OSS 3 File Blob 容量调整与指定容量存储创建方法
增大已有File Blob存储容量
Nexus的File类型Blob存储本身没有内置硬容量限制,实际可用容量由底层文件系统空间和Nexus软配额共同决定,扩容分两种场景处理:
- 场景1:仅软配额限制导致容量告警/无法上传
- 用管理员账号登录Nexus后台,进入
Repository > Blob Stores菜单 - 找到需要调整的目标File Blob,点击进入详情页
- 点击编辑按钮,找到
Soft Quota配置区:- 如果需要继续使用配额告警,直接修改
Quota limit (MB)为你需要的目标容量数值即可 - 如果不需要配额限制,直接取消软配额的启用勾选,此时Blob存储最大可用空间等于底层磁盘的剩余可用空间
- 如果需要继续使用配额告警,直接修改
- 保存配置后立即生效,不需要重启服务
- 用管理员账号登录Nexus后台,进入
- 场景2:底层磁盘空间不足需要扩容
- 先停止Nexus服务,避免运行过程中写入数据导致迁移损坏
- 将Blob对应的本地目录(默认路径为
$NEXUS_HOME/sonatype-work/nexus3/blobs/[你的Blob名称])完整迁移到容量更大的磁盘分区,迁移过程保持目录权限不变(属主必须是Nexus运行用户) - 可以通过两种方式关联新路径:要么修改Nexus配置文件中该Blob的存储路径指向新位置,要么在原路径位置创建指向新目录的软链接
- 启动Nexus服务,验证已有组件可正常下载、新上传功能正常后,再按照场景1的步骤调整软配额数值即可
创建指定容量大小(以200GB为例)的File Blob存储
Nexus本身的软配额仅做告警和写入拦截阈值,不具备硬容量隔离能力,要创建固定容量的Blob存储,必须配合操作系统层面的容量限制实现,步骤如下:
- 第一步:操作系统层面准备200GB的受限存储空间
你可以任选一种符合运维习惯的方式实现目录级硬容量限制:- 单独划分一个200GB的磁盘分区/LVM逻辑卷,格式化后挂载到专属路径,例如
/data/nexus-blobs/200g-store - 在已有大容量文件系统上配置目录配额(ext4/xfs自带的项目配额、用户配额均可),给目标目录分配200GB的最大写入空间
- 创建200GB大小的镜像文件,通过loop设备挂载为专属目录
不管用哪种方式,最终要保证挂载/配置完成后,目标目录的最大可用容量为200GB,且目录属主为Nexus运行用户,有读写权限。
- 单独划分一个200GB的磁盘分区/LVM逻辑卷,格式化后挂载到专属路径,例如
- 第二步:Nexus后台创建对应Blob存储
- 进入
Repository > Blob Stores,点击Create Blob Store,类型选择File - 填写自定义的Blob名称,例如
200g-store Path字段填写你刚才在操作系统层面准备好的受限目录绝对路径- 启用软配额,配额类型选择
Space Used,Quota limit (MB)填写204800(200GB换算为MB的数值,计算方式为200*1024),这个配置会让存储使用量接近200GB时Nexus提前触发告警、拦截新的上传请求,和底层硬限制形成双重保护 - 点击保存即可完成创建
- 进入
注意:不要仅依赖Nexus的软配额作为容量限制手段,软配额是应用层逻辑,极端场景下(比如批量并发写入、配额校验逻辑异常)可能出现写超配额的情况,必须搭配底层块设备/文件系统的硬容量限制,才能真正实现指定容量的存储隔离。
内容的提问来源于stack exchange,提问作者Magi
相关产品推荐
相关产品推荐

