暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

CurveAdm 离线部署 Curve 集群操作指南

OpenCurve 2023-07-12
402

背景

Curve 是云原生计算基金会 (CNCF) Sandbox 项目,是网易主导自研和开源的高性能、易运维、云原生的分布式存储系统。
如果你需要在内网环境下部署 Curve 集群,而服务器网络环境受限,无法联网,那么本文提供了一份离线部署 Curve 集群的操作指南,以帮助遇到网络限制的社区小伙伴。

在开始操作前,你需要准备一台可以联网的 PC 或服务器,并安装了 Docker 环境。同时,你还需要将 CurveAdm 工具和 Curve 镜像文件上传到内网服务器中。

本文将详细介绍如何搭建本地镜像仓库、导出和导入 Curve 镜像、使用 CurveAdm 工具部署 Curve 集群等步骤。

请注意,离线部署 Curve 集群需要一定的技术基础和经验,建议在实际操作前,认真阅读 CurveAdm 的官方 wiki,并进行充分的测试和验证。由于离线部署环境的差异,实际操作步骤可能会有所差异,需要根据实际情况进行调整。

希望本文能够对需要在内网环境下部署 Curve 集群的社区小伙伴提供帮助。


Curve 镜像准备

下载 Curve 官方镜像(如 opencurve/curve/curvefs:v2.4)到本地环境(可访问外网的机器)
    $ sudo docker pull opencurve/curve/curvefs:v2.4

    打包镜像并导出到本地仓库节点
    • 打包镜像
      # 查看下载到的Curve镜像
      $ sudo docker image ls
      harbor.cloud.netease.com/curve/curvefs release2.4-beta2 5717f16d4bec 1 months ago 1.84GB


      # 打包镜像
      $ sudo docker save -o curve_release2.4-beta2.tar 5717f16d4bec
      • 拷贝镜像到本地仓库节点
        $ scp curve_release2.4-beta2.tar  ${desthost}:/path/to/save/image
        • 导出镜像
          $ docker load --input curve_v2.4.tar


          # 查看导出的镜像
          $ sudo docker image ls
          opencurve/curve/curvefs v2.4 5717f16d4bec 1 months ago 1.84GB

          本地镜像仓库搭建
          使用 docker-registry 来进行本地仓库的搭建,搭建完本地仓库后, 把前面步骤中下载的 Curve 镜像上传到本地仓库。主要有以下几步:
          • 运行 docker-registry
            $ docker run -d -p 5000:5000 --restart=always --name registry registry
            • 标记 Curve 镜像
            标记下载到的 Curve 镜像,比如把下载来的镜像(opencurve/curve/curvefs:v2.4
            )标记为 127.0.0.1:5000/curvefs:v2.4_local
            (其中 127.0.0.1
             为本地仓库服务 IP,5000 为本地仓库服务端口号,请根据实际环境修改)
              # 查看下载到的Curve镜像
              $ sudo docker image ls
              opencurve/curve/curvefs v2.4 5717f16d4bec 1 months ago 1.84GB


              # 标记镜像
              $ sudo docker tag opencurve/curve/curvefs:v2.4 127.0.0.1:5000/curvefs:v2.4_local


              # 查看标记完的镜像
              $ sudo docker image ls
              127.0.0.1:5000/curvefs v2.4_local 5717f16d4bec 13 months ago 1.84GB
              • 上传镜像
                $ docker push 127.0.0.1:5000/curvefs:v2.4_local
                更多详情可参考私有仓库搭建
                私有仓库搭建:https://yeasy.gitbook.io/docker_practice/repository/registry

                修改镜像地址
                修改客户端部署配置文件 client.yaml
                 以及服务端集群部署配置文件 topology.yaml
                 中的镜像地址配置项(container_image
                )为本地仓库镜像地址(如:
                127.0.0.1:5000/curvefs:v2.4_local

                部署
                安装CurveAdm

                CurveAdm 是 Curve 部署工具,有外网的机器可以一键安装,具体安装参见CurveAdm安装

                CurveAdm 安装:

                https://github.com/opencurve/curveadm/wiki/install-curveadm#%E5%AE%89%E8%A3%85-curveadm

                但由于本文是介绍内网环境的部署,所以需按如下步骤操作:

                • 下载 CurveAdm 到本地可访问外网机器,下载地址(最新版本可咨询Curve社区成员): CurveAdm

                  CurveAdm 下载地址: 
                  https://curveadm.nos-eastchina1.126.net/release/curveadm-v0.2.0.tar.gz
                • 把 CurveAdm 拷贝到内网安装需部署 Curve 集群的主控机

                • 解压 CurveAdm

                • 拷贝执行程序并设置环境变量

                  $ mv curveadm ~/.curveadm


                  # 可考虑更新到~/.bash_profile进行持久化
                  $ export PATH=~/.curveadm/bin:$PATH
                  主机配置

                  配置Curve集群要使用的服务器列表,提交列表给 CurveAdm 管理。主机配置过程比较简单,在 hosts.yaml
                   中添加实际主机名和 ip,然后提交就可以了。

                  具体配置参考文档:主机管理

                  主机管理:https://github.com/opencurve/curveadm/wiki/hosts#%E4%B8%BB%E6%9C%BA%E9%85%8D%E7%BD%AE
                  Curve 服务端部署
                  需修改 topology.yaml
                   中的镜像为本地镜像地址,示例如下:
                    kind: curvefs
                    global:
                    container_image: 127.0.0.1:5000/curvefs:v2.4_local ## 修改为本地镜像
                    其他的配置项请参考文档 CurveFS 集群部署 或 CurveBS 集群部署
                    CurveFS 集群部署:https://github.com/opencurve/curveadm/wiki/curvefs-cluster-deployment
                    CurveBS 集群部署:https://github.com/opencurve/curveadm/wiki/curvebs-cluster-deployment
                    client 端部署
                    需修改 client.yaml
                     中的镜像为本地镜像地址,示例如下:
                      kind: curvefs
                      global:
                      container_image: 127.0.0.1:5000/curvefs:v2.4_local ## 修改为本地镜像
                      其他的配置项请参考文档 部署 CurveFS 客户端 或 部署 CurveBS 客户端
                      CurveFS 客户端:https://github.com/opencurve/curveadm/wiki/curvefs-client-deployment
                      CurveBS 客户端:https://github.com/opencurve/curveadm/wiki/curvebs-client-deployment

                      ------ END. ------
                      🔥 推荐用户案例:
                      Curve 文件存储在 Elasticsearch 冷热数据存储中的应用实践
                      扬州万方:基于申威平台的 Curve 块存储在高性能和超融合场景下的实践
                      创云融达:基于 Curve 块存储的超融合场景实践 
                      🔥 推荐硬核技术解析:

                      使用 Curve 云上部署 Hadoop,轻松节约 50% 存储成本

                      Curve 混闪之 bcache 与 open-cas 对比 
                      Curve 基于 SPDK target 的 iSCSI 性能优化实践



                      关于 Curve 

                      Curve 是一款高性能、易运维、云原生的开源分布式存储系统。可应用于主流的云原生基础设施平台:对接 OpenStack 平台为云主机提供高性能块存储服务;对接 Kubernetes 为其提供 RWO、RWX 等类型的持久化存储卷;对接 PolarFS 作为云原生数据库的高性能存储底座,完美支持云原生数据库的存算分离架构。

                      Curve 亦可作为云存储中间件使用 S3 兼容的对象存储作为数据存储引擎,为公有云用户提供高性价比的共享文件存储。

                      - GitHub:https://github.com/opencurve/curve
                      - 官网https://opencurve.io/
                      - 用户论坛:https://ask.opencurve.io/
                      - 微信群:搜索群助手微信号 OpenCurve_bot


                      文章转载自OpenCurve,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                      评论