跳到主要内容

离线 Driver 加载

当 CloudDM 所在环境无法访问公网或 Maven 仓库时,可以提前下载离线 Driver 包,并将其加载到 CloudDM 的数据目录中。

CloudDM 默认从各运行组件的 data/drivers 目录加载 Driver:

  • 单机模式(Alone)中的 Console 和 Sidecar 运行在同一个进程中,只需加载一份 Driver。
  • 集群模式中的 Console 和 Sidecar 独立运行,需要在 Console 和目标集群内的每个 Sidecar 上加载相同的 Driver。

下载离线 Driver 包

CloudDM 离线 Driver 包 下载地址:https://open-cdm.oss-cn-hangzhou.aliyuncs.com/open-cdm-resources/drivers/drivers.tar.gz

下载完成后,将 drivers.tar.gz 传输到 CloudDM 所在服务器。压缩包的顶层目录为 drivers/,解压后请确保目录结构为:

<CloudDM 数据目录>/
└── drivers/
├── <Driver 名称>/
│ └── <版本>/
└── ...

单机模式

单机模式只需将离线 Driver 包加载到 Alone 的数据目录。下面假设:

  • CloudDM 安装目录为 /opt/cgdm/alone
  • 离线 Driver 包位于 /tmp/drivers.tar.gz

TGZ 示例

停止 Alone,将压缩包解压到 data 目录,然后重新启动:

cd /opt/cgdm/alone
./bin/shutdown.sh

tar -xzf /tmp/drivers.tar.gz -C data

./bin/startup.sh

Docker 示例

下面假设容器名称为 cgdm-alone。先将压缩包复制到容器中,再解压到 Alone 的持久化数据目录:

docker cp drivers.tar.gz cgdm-alone:/tmp/drivers.tar.gz

docker exec cgdm-alone \
tar -xzf /tmp/drivers.tar.gz -C /root/cgdm/alone/data

docker exec cgdm-alone rm -f /tmp/drivers.tar.gz
docker restart cgdm-alone

集群模式

集群模式会同时检查 Console 和目标集群内所有已连接 Sidecar 的 Driver 状态。任一节点缺少目标 Driver 时,该 Driver 都不会被标记为可用。因此,需要将同一个离线 Driver 包加载到:

  • Console 的 data/drivers 目录。
  • 目标集群内每个 Sidecar 的 data/drivers 目录。

TGZ 示例

下面以一台 Console 和两台 Sidecar 为例:

节点主机名安装目录
Consoleconsole-01/opt/cgdm/console
Sidecar 1sidecar-01/opt/cgdm/sidecar
Sidecar 2sidecar-02/opt/cgdm/sidecar

先将离线 Driver 包分发到所有节点:

scp drivers.tar.gz console-01:/tmp/drivers.tar.gz
scp drivers.tar.gz sidecar-01:/tmp/drivers.tar.gz
scp drivers.tar.gz sidecar-02:/tmp/drivers.tar.gz

在 Console 节点停止服务并加载 Driver:

cd /opt/cgdm/console
./bin/shutdown.sh
tar -xzf /tmp/drivers.tar.gz -C data

在每台 Sidecar 节点执行相同操作:

cd /opt/cgdm/sidecar
./bin/shutdown.sh
tar -xzf /tmp/drivers.tar.gz -C data

所有节点完成解压后,先启动 Console,再依次启动每台 Sidecar:

# 在 console-01 上执行
cd /opt/cgdm/console
./bin/startup.sh

# 在 sidecar-01 和 sidecar-02 上分别执行
cd /opt/cgdm/sidecar
./bin/startup.sh

Docker 示例

下面假设集群包含 cgdm-consolecgdm-sidecar 两个容器。分别加载 Driver 后,先重启 Console,再重启 Sidecar:

docker cp drivers.tar.gz cgdm-console:/tmp/drivers.tar.gz
docker exec cgdm-console \
tar -xzf /tmp/drivers.tar.gz -C /root/cgdm/console/data
docker exec cgdm-console rm -f /tmp/drivers.tar.gz

docker cp drivers.tar.gz cgdm-sidecar:/tmp/drivers.tar.gz
docker exec cgdm-sidecar \
tar -xzf /tmp/drivers.tar.gz -C /root/cgdm/sidecar/data
docker exec cgdm-sidecar rm -f /tmp/drivers.tar.gz

docker restart cgdm-console
docker restart cgdm-sidecar
注意

如果集群中有多个 Sidecar,请对每个 Sidecar 容器重复复制、解压和重启操作。

联系我们
微信二维码

扫码添加微信,获取技术支持