离线 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 为例:
| 节点 | 主机名 | 安装目录 |
|---|---|---|
| Console | console-01 | /opt/cgdm/console |
| Sidecar 1 | sidecar-01 | /opt/cgdm/sidecar |
| Sidecar 2 | sidecar-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-console 和 cgdm-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 容器重复复制、解压和重启操作。
