在 Linux 上重新部署 IBM Db2 Warehouse
如果您已在 Linux 系统上设置 Db2® Warehouse,但需要进行重新部署,那么必须先执行一些步骤来保留数据和配置。
开始之前
有关如何获取容器访问权的信息,请参阅适用于您所用平台的先决条件主题的“产品映像”一节。
关于此任务
要执行本任务,您在主机操作系统上必须具有 root 用户权限。
过程
- 清空浏览器高速缓存。
-
如果要使用来自 Docker Store 的容器,请在每台节点主机上发出以下命令:
docker login -u=docker_id -p='password' -
如果要使用来自 IBM® Marketplace Web 站点的容器,请发出以下命令:
docker load -i db2wh_v3.9.0_devc.tar.gz -
(仅限 MPP)将 /mnt/clusterfs/nodes 节点配置文件备份到其他位置,以便可以将其复用于新部署:
cp /mnt/clusterfs/nodes directory -
通过使用下列其中一种方法,停止服务和容器:
- 如果您已使用标准部署,请执行下列子步骤:
- 在导引节点主机(对于 MPP)或单节点主机(对于 SMP)上,停止服务。通过发出
docker exec -it Db2wh status 命令,并在输出的
IBM Db2 Warehouse Cluster Status 部分中查找主机,可以确定
MPP 部署中的导引节点主机。要停止服务,请发出以下命令:
docker exec -it Db2wh stop - 停止所有节点主机上的容器:
docker stop Db2wh
- 在导引节点主机(对于 MPP)或单节点主机(对于 SMP)上,停止服务。通过发出
docker exec -it Db2wh status 命令,并在输出的
IBM Db2 Warehouse Cluster Status 部分中查找主机,可以确定
MPP 部署中的导引节点主机。要停止服务,请发出以下命令:
-
如果您已使用 Db2 Warehouse Orchestrator 来部署集群,请运行 db2wh_orchestrator.sh 脚本,如下所示:
path_on_host/db2wh_orchestrator.sh --file /mnt/clusterfs/nodes --stop
- 如果您已使用标准部署,请执行下列子步骤:
- 可选: 如果在集群文件系统中有任何要在新部署中保留的数据(包括用户帐户),请将该数据保存在安全的位置。您可以使用您偏好的任何方法,例如,创建 tar 文件或创建快照。有关使用快照来创建备份的指示信息,请参阅建立 IBM Db2 Warehouse 数据库的联机快照。
-
在每台节点主机上,重命名 Db2 Warehouse 容器:
docker rename Db2wh different_container_name -
通过发出以下命令,移除 /mnt/clusterfs 集群文件系统目录的内容。
要点: 发出以下命令会导致数据丢失,因此,请确保已备份所有要保留的数据,如步骤 4 所述。
rm -rf /mnt/clusterfs/* -
(仅限 MPP)复原在步骤 2 中备份的节点文件:
cp directory/nodes /mnt/clusterfs/ - 可选: 如果要从快照备份进行复原,请将其复原到 /mnt/clusterfs 目录。请参阅从 IBM Db2 Warehouse 数据库快照复原。
-
为了避免重新部署期间端口可用性检查失败,请以 root 用户身份执行下列步骤。可能会发生此故障的原因是,Docker 引擎偶尔会仅释放其部分资源,例如不释放 UNIX 套接字。
- 通过发出以下命令,停止 Docker 引擎:
systemctl stop docker - 通过发出以下命令,重新启动网络:
systemctl restart network - 通过发出以下命令,启动 Docker 引擎:
systemctl start docker
- 通过发出以下命令,停止 Docker 引擎:
-
重新创建容器:
- 如果您已执行标准部署,请执行下列子步骤:
- 在所有节点主机(对于 MPP)或单节点主机(对于 SMP)上,通过发出
docker run 命令,拉取、创建并初始化
Db2 Warehouse 容器。注:基本 docker run 命令为:
- 如有必要,请在部署期间使用一个或多个 -e
标志来设置配置选项。例如,如果您计划在完成 SMP 重新部署后设置 HADR,请在
docker run 命令中包括以下选项设置:
有关更多信息,请参阅配置 IBM Db2 Warehouse。-e HADR_ENABLED='YES' - 如有必要,请将 docker run 命令中的容器版本替换为所要部署的容器版本。容器版本在 IBM Db2 Warehouse 容器中描述。
- 除非另有指定,否则以下命令不适用于 Db2 Warehouse Developer Edition。
其中,tag 表示下列其中一个值:docker run -d -it --privileged=true --net=host --name=Db2wh -v /mnt/clusterfs:/mnt/bludata0 -v /mnt/clusterfs:/mnt/blumeta0 tag- 对于适用于 POWER® LE 硬件的容器:
store/ibmcorp/db2wh_ee:v3.9.0-db2wh-ppcle - 对于适用于 z Systems® 硬件的容器:
store/ibmcorp/db2wh_ee:v3.9.0-db2wh-s390x - 对于适用于 x86 硬件的容器:
store/ibmcorp/db2wh_ee:v3.9.0-db2wh-linux - 对于适用于 x86 硬件的 Db2 Warehouse Developer
Edition 容器:
store/ibmcorp/db2wh_ce:v3.9.0-db2wh_devc-linux
- 如有必要,请在部署期间使用一个或多个 -e
标志来设置配置选项。例如,如果您计划在完成 SMP 重新部署后设置 HADR,请在
docker run 命令中包括以下选项设置:
- 通过发出以下命令,检查重新部署是在顺利进行还是已完成。对于 MPP 部署,请在导引节点上发出此命令。
部署完成后,您应该会看到一条消息,指出已成功部署 Db2 Warehouse,并提供控制台 URL 和登录信息。docker logs --follow Db2wh - 按 Ctrl+C,退出 Docker 日志。
- 如果端口可用性检查失败(即使您已执行步骤 11),请执行下列步骤:
- 通过发出以下命令,移除容器:
docker rm -f Db2wh - 通过发出以下命令,移除 /mnt/clusterfs 集群文件系统目录的内容:
rm -rf /mnt/clusterfs/* - 重新引导主机。
- 从头开始重新执行步骤 12。
- 通过发出以下命令,移除容器:
- 在所有节点主机(对于 MPP)或单节点主机(对于 SMP)上,通过发出
docker run 命令,拉取、创建并初始化
Db2 Warehouse 容器。
- 如果您已使用 Db2 Warehouse Orchestrator 工具来部署集群,请执行使用 Db2 Warehouse Orchestrator 在 Linux 上部署 IBM Db2 Warehouse MPP 中的步骤。
- 如果您已执行标准部署,请执行下列子步骤:
- 在导引节点主机上,使用成功完成消息后提供的 Web 控制台 URL 登录 Web 控制台。该 URL 为 https://head_node_IPaddress:8443。
- 移除在本过程的步骤 7 中重命名的旧容器。