#作者:闫乾苓
文章目录
- 目的
- 前期准备
- 查看file类型Blob Stores数据目录位置
- aws cli客户端连接工具
- OrientDB cli客户端连接工具
- 在minio中新建 bucket
目的
增强nexus构件数据的高可用性和扩展性
前期准备
查看并记录需要迁移的Blob Store及repository
查看file类型Blob Stores数据目录位置
本例nexus使用k8s容器化部署,其数据存储在nfs storageClass 动态绑定的pv中。
下面是如何查看其存储目录位置的步骤。如果nexus容器化部署使用hostpath作为数据持久化存储,或者nexus使用裸金属部署,请自行查看其数据存储目录路径。
首先查看nexus服务所在namespace(本例为:nexus-2)中pv的名称,
# kubectl get pv |grep nexus-2
再通过pv的名字查看其详细信息中nfs server目录路径:
# kubectl describe pv pvc-8583da75-34f3-4710-be9c-c3532a3c9764 -n nexus-2
/home/nfsdata/nexus-2-nexus-pvc-pvc-8583da75-34f3-4710-be9c-c3532a3c9764 目录即为nexus的数据目录
file类型的blob store目录中的数据
aws cli客户端连接工具
用于在linux命令行中,将file类型Blob Stores的中已有的二进制构件数据复制到s3(minio) 中指定的bucket中
# pip3 install awscli
验证是否安装成功
# aws --version
OrientDB cli客户端连接工具
OrientDB是nexus内部使用的数据库,用于保存nexus服务器的配置信息。
我们需要使用OrientDB cli连接到OrientDB server端进行数据库内相关数据的修改操作。
在nexus3 web管理页面查看OrientDB的客户端版本,下载的cli客户端连接工具须与其保持一致
下载地址:
https://repo1.maven.org/maven2/com/orientechnologies/orientdb-community/2.2.37/orientdb-community-2.2.37.tar.gz
下载完成并上传到存储nexus持续化数据所在的服务器,比如本例的nexus服务使用nfs pvc绑定pv作为持久化存储,就需要把刚下载的orientdb安装包上传到nfs server服务器,以便用此工具进行连接到存储在nfs server中nexus orientdb的数据库进行相关的操作。
解压上传到服务器上的orientdb软件包:
# tar xf orientdb-community-2.2.37.tar.gz
解压完成后自动生成orientdb-community-2.2.37目录
我们后续会使用orientdb-community-2.2.37/bin 下的console.sh连接nexus 的OrientDB数据库进行相关修改数据操作。
在minio中新建 bucket
新创建的bucket用于存储从file类型的Blob Store中迁移过来的二进制构件文件,及迁移完成后,存储后续新增的二进制构件文件。
比如本例新创建的bucket名为:nexus-default
另外在minio中需要准备好对此bucket有读写权限的minio账号的accessKeyId、secretAccessKey
最后还需要准备好minio的API的URL。(在修改OrientDB中Blob store的属性时需要用到,API URL对应endpoint)。
本例minio服务使用k8s deployment部署,其svc使用NodePort对外映射开放API服务端口29000:44127, web服务端口29001:58213。
所以minio的API的URL,在k8s集群内部使用:http:// 169.169.174.183: 29000