#作者:閆乾苓
文章目錄
- 目的
- 前期準備
- 查看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