升级 Ops Manager
本教程介绍如何升级现有的 Ops Manager 安装。
升级路径
警告
将托管数据库升级到MongoDB 4.4或更高版本
现有 Ops Manager 安装的版本决定了升级到 Ops Manager 4.4 或更高版本必须采取的升级路径。
重要
如果您安装了MongoDB Ops Manager 4.2 或更高版本,并且有多个MongoDB Ops Manager主机指向同一应用程序数据库,则可以升级MongoDB Ops Manager ,而不会导致监控停机。 在此升级过程中, MongoDB Ops Manager进入称为升级模式的状态。 有关更多信息,请参阅升级模式。
为确保升级成功,必须按照现有版本的升级路径执行必要的数据库迁移。
为了保护您的数据,Ops Manager 会拒绝启动从 1.8.x 和 2.0.x 版本直接升级到 3.4 或更高版本。
Ops Manager 不支持降级路径。
注意
MongoDB Ops Manager版本 6.0.x 及更高版本的所有升级都使用相同的过程。 要升级到更高版本,必须首先使用此过程升级到初始版本的最新可用补丁,然后再次使用此过程升级到下一个版本。 如果下表包含与给定版本的升级过程相关的其他信息,请首先查看。
重要
对于通过 Ops Manager 管理或监控的源部署,实时迁移(推送)已弃用或不受支持
对于运行任何 MongoDB 6.0 及更高版本的源部署,通过 Ops Manager 管理或监控其中的部署时,实时迁移(推送)不受支持。
对于运行任何 MongoDB 5.0 及更早版本的源部署,通过 Ops Manager 管理或监控其中的部署时,实时迁移(推送)已弃用。
对于运行 MongoDB 6.0 及更高版本的源部署,通过 Cloud Manager 监控其中的部署时,支持实时迁移(推送)。要了解详情,请参阅将通过 Cloud Manager 监控的 MongoDB 集群实时迁移到 Atlas。
下表列出了所有版本的升级路径:
现有版本 | 升级路径 |
---|---|
8.0 .x | 使用MongoDB Ops Manager8.0 8.0此过程 从 .x 升级到 的最新可用补丁版本。 要学习;了解更多信息,请参阅MongoDB Ops Manager 8.0发布说明。 |
7.0 .x | 从MongoDB Ops Manager 7.0.x 升级到 7.0 的最新可用补丁版本。 然后升级到最新可用版本的8.0 。 对这两次升级都使用此过程。 要学习;了解更多信息,请参阅MongoDB Ops Manager 7.0发布说明。 |
6.0 .x | 从MongoDB Ops Manager 6.0.x 升级到 6.0 的最新可用补丁版本。 然后升级到最新可用版本的7.0 。 对这两次升级都使用此过程。 要学习;了解更多信息,请参阅MongoDB Ops Manager 6.0发布说明。 |
5.0 .x | 从MongoDB Ops Manager 5.0.x 升级到 5.0 的最新可用补丁版本。 然后升级到最新可用版本的6.0 。 对这两个进程使用此过程。 要学习;了解更多信息,请参阅MongoDB Ops Manager 5.0发布说明。 |
4.4.x | 从MongoDB Ops Manager 4.4.x 升级到 4.4 的最新可用补丁版本。 然后升级到最新可用版本的5.0 。 对这两个进程使用此过程。 重要提示: MongoDB Ops Manager 4.4.13 版本 修复了一个错误,该错误会在升级期间重新启用MongoDB Ops Manager实例以进行 API写入。 要了解详情,请参阅: |
4.2.x | 从MongoDB Ops Manager 4.2.x 升级到 4.2 的最新可用补丁版本。 然后升级到最新可用版本的4.4 。 对这两个进程使用此过程。 升级到 4.2.24 之前的版本时,会无意中暂时禁用 TLS。先升级到 4.2.24 或更高版本可避免此问题。 要了解详情,请参阅: |
4.0.x | |
3.6.x | 使用v4.0 升级教程从MongoDB Ops Manager 3.6.x 升级到版本 4.0.x。 |
3.4.x | 使用v3.6 升级教程从MongoDB Ops Manager 3.4.x 升级到版本 3.6.x。 |
2.x 或更早版本 | 使用v3.4 升级教程从MongoDB Ops Manager 2.x 或更早版本升级。 |
警告
要保持现有设置和可用性,请在当前 Ops Manager 实例中备份以下内容:
conf-mms.properties
和gen.key
文件复制到安全位置。conf-mms.properties
存储MongoDB Ops Manager实例的设置。 gen.key提供了用于加密和解密 Ops Manager 后端后端数据库和用户凭证的详细信息。 在升级进程, MongoDB Ops Manager可能会删除这些文件。
作为额外的预防措施,您可以使用mongodump
创建应用程序数据库的二进制导出。 应用程序数据库不存在正式支持的备份方法。 如果升级失败,请联系MongoDB支持部门,帮助修复MongoDB Ops Manager版本的问题。
Considerations
在MongoDB Ops Manager从 7.0 升级到 8.0 之前,请查看以下注意事项:
后端数据库
MongoDB Ops Manager 8.0.0 后端数据库至少需要MongoDB6.0.0 MongoDB Ops Manager。
注意
Ops Manager 后端数据库的 MongoDB 版本不能高于 Ops Manager 版本。
兼容的 MongoDB 工具
如果 Ops Manager 托管 MongoDB 工具,则在升级 Ops Manager 时,工具版本也会升级。
MongoDB Ops Manager8.0MongoDB如果在versions
本地模式 运行.x,则必须 下载兼容版本的 Tools TGZ包并将其安装 到 目录。
要访问旧版本的 MongoDB 工具,请在下载页面上单击“存档版本”。
Ops Manager 平台支持
删除对 RedHat Enterprise Linux 7 的 Ops Manager 支持。
删除 Ops Manager 对 SUSE Linux Enterprise Server 12 的支持。
删除对 Ubuntu 20.04LTS 操作管理器的支持。
重要
放弃 Ops Manager 对 Amazon Linux v2 LTS 的支持。
放弃 Ops Manager 对 Debian 11 的支持。
自动化支持更改
删除支持MongoDB 4.2及更早版本的自动化、监控和备份的支持。 MongoDB Ops Manager只能管理运行MongoDB 4.4 或更高版本的数据库。
重要
弃用支持MongoDB 5.0及更早版本的自动化、监控和备份的支持。
注意
先决条件
硬件和软件要求
您的服务器必须满足 Ops Manager 系统要求。
警告
可能出现生产故障
如果您未能配置以下内容,您的 Ops Manager 实例可能会在生产中故障:
Ops Manager 主机符合 Ops Manager 系统要求。
MongoDB 根据 MongoDB 手册中的生产说明进行托管。Ops Manager 中的 MongoDB 实例包括:
Ops Manager 应用程序数据库,
每个块存储。
在开始升级进程之前,确保所有承载数据的节点都在运行。 要确定副本集的状态,请运行replSetGetStatus
。
如果后端数据库运行 MMAPv1 storage engine ,则升级过程将失败。 MongoDB Ops Manager会提示您将这些后端数据库的storage engine升级到WiredTiger 。
管理员特权
您必须对执行升级的服务器具有管理员权限。
从 MongoDB 下载软件
要下载该软件,请单击客户下载页面上提供的下载链接。MongoDB 会向其客户提供该页面的 URL。
下载软件以在本地模式下运行
如果计划以本地模式运行 Ops Manager,请将 MongoDB 软件下载到您的版本库目录中。所需软件包括:
要安装的所有版本的 MongoDB Community或Enterprise
MongoDB 工具。MongoDB Tools 的版本必须与 Ops Manager 发布说明中列出的与您的 Ops Manager 版本兼容的版本相匹配。
平台兼容性
在升级 Ops Manager 之前,确保:
为 Ops Manager 提供服务的主机的平台与 5.0 兼容。
托管 MongoDB 部署的 MongoDB 助手与 Ops Manager 5.0 兼容。
为 Ops Manager 助手提供服务的主机平台与助手兼容。
如果您使用BI Connector ,请将MongoDB升级到4.4或更高版本。
如果您升级了 MongoDB 助手主机的平台,则在升级 Ops Manager 之前升级 MongoDB 助手。
步骤
注意
高可用应用程序的升级模式
如果安装了 Ops Manager 4.2 或更高版本,且有多个 Ops Manager 主机指向同一应用程序数据库,则可以升级 Ops Manager,而不会导致监控停机。在此升级过程中,Ops Manager 进入名为升级模式的状态。该模式可在整个升级过程中获得以下优势:
警报和监控运行
Ops Manager 实例会保持活动状态
Ops Manager 应用程序可以以只读模式访问
写入或删除数据的 Ops Manager API 已禁用
Ops Manager 实例会保持为升级模式,直到所有 Ops Manager 主机均已升级并重启。
您不应一次升级多于一台 Ops Manager 主机。
当 Ops Manager 进入升级模式时,备份守护程序会尝试自行停止。如果守护程序正在进行长时间备份作业,则此过程可能会失败。在这种情况下,执行以下操作之一:
备份守护程序完成此作业后,立即重新启动第一个 Ops Manager 实例。
手动停止备份守护程序。
手动停止备份守护程序:
登录第一个服务备份守护程序的主机。
发出以下命令:
sudo service mongodb-mms-backup-daemon stop 确认已关闭备份守护程序:
ps -ef | grep mongodb-mms-backup-daemon 如果备份守护程序继续运行,请发出此命令:
sudo /etc/init.d/mongodb-mms-backup-daemon stop 对所有其他备份守护进程主机重复步骤 2 到 3。
登录第一个服务备份守护程序的主机。
发出以下命令:
sudo service mongodb-mms-backup-daemon stop 确认已关闭备份守护程序:
ps -ef | grep mongodb-mms-backup-daemon 如果备份守护程序继续运行,请发出此命令:
sudo /etc/init.d/mongodb-mms-backup-daemon stop 对所有其他备份守护进程主机重复步骤 2 到 3。
登录第一个服务备份守护程序的主机。
发出以下命令:
<install_dir>/bin/mongodb-mms-backup-daemon stop 确认已关闭备份守护程序:
ps -ef | grep mongodb-mms-backup-daemon 如果备份守护程序继续运行,请发出此命令:
sudo /etc/init.d/mongodb-mms-backup-daemon stop 对所有其他备份守护进程主机重复步骤 2 到 3。
如果在高可用性配置中运行 Ops Manager 应用程序,则一次在一台 Ops Manager 主机上完成此过程。
使用此过程可在使用 deb
软件包安装的主机上升级 Ops Manager 应用程序:
下载最新版本的 Ops Manager 软件包。
打开您首选的浏览器,访问MongoDB.com上的 MongoDB Download Center 。
如果您从 MongoDB.com 开始,请单击 Products Ops Manager Try it now。
从 Platforms(程序包)下拉菜单中,单击 Ubuntu 22.04。
从 Packages 下拉菜单中,单击 DEB(对于 x86_64 架构)。
单击 Download(连接)。
下载的软件包名为
mongodb-mms-<version>.x86_64.deb
,其中<version>
是版本号。
在要升级的主机上安装 Ops Manager 软件包。
注意
高可用 Ops Manager 应用程序的升级模式
如果您安装的 Ops Manager 4.4 有一个以上的 Ops Manager 主机指向同一个应用程序数据库,则此 Ops Manager 部署会以高可用性方式运行。升级高可用 Ops Manager 部署的一台 Ops Manager 主机后,该部署将进入升级模式。
在每个 Ops Manager 应用程序和备份守护程序主机上安装
.deb
包。发出以下命令,其中<version>
是.deb
包的版本:sudo dpkg -i mongodb-mms_<version>_x86_64.deb 当提示是否覆盖当前安装的
mms.conf
版本时,应输入Y
,替换现有文件。如果您修改了 Ops Manager 使用的端口或 JVM 设置,则需要在升级 Ops Manager 后将这些更改重新应用到
mms.conf
文件。警告
不要向
mms.conf
文件中的Java虚拟机(JVM)参数添加密码或密钥。 MongoDB Ops Manager将它们以纯文本形式显示在诊断存档中。升级到 Ops Manager 4.1 和 4.2 后,从
JAVA_MMS_UI_OPTS
参数中删除了-d64
标志。升级到 Ops Manager 4.4.11 时,Ops Manager 会提示您选择应使用哪个版本的
/opt/mongodb/mms/conf/conf-mms.properties
文件。为避免手动重新配置 Ops Manager,请选择当前文件。更多信息,请参阅 4.4.11 发布说明。
在升级后的主机上启动 Ops Manager。
sudo service mongodb-mms start
注意
在 Ops Manager 的高可用性实例中,备份守护程序会等待所有节点升级后再启动。
重启后登录到已升级的 Ops Manager 主机。如果登录成功,则升级成功。
使用此过程可在使用 rpm
软件包安装的主机上升级 Ops Manager 应用程序:
停止第一个正在运行的 Ops Manager 实例。
在使用 systemd 的 RHEL、CentOS 、 主机上SUSE12 ,发出以下命令以停止MongoDB Ops Manager 应用程序:
sudo service mongodb-mms stop
对于使用SysVInit
的平台,请发出以下命令:
sudo /etc/init.d/mongodb-mms stop
下载最新版本的 Ops Manager 软件包。
打开首选浏览器,访问 MongoDB.com 上的 MongoDB Download Center。
如果您从 MongoDB.com 开始,请单击 Products Ops Manager Try it now。
从 Platforms 下拉菜单中,单击以下选项之一:
Red Hat + CentOS 7, 8, 9 / SUSE 12 + 15 / Amazon Linux 2, Amazon Linux 2023
在 Packages 下拉菜单中,点击 RPM。
单击 Download(连接)。
下载的软件包名为
mongodb-mms-<version>.x86_64.rpm
,其中<version>
是版本号。
在要升级的MongoDB Ops Manager托管上安装MongoDB Ops Manager包。
注意
高可用 Ops Manager 应用程序的升级模式
如果您安装的 Ops Manager 4.4 有一个以上的 Ops Manager 主机指向同一个应用程序数据库,则此 Ops Manager 部署会以高可用性方式运行。升级高可用 Ops Manager 部署的一台 Ops Manager 主机后,该部署将进入升级模式。
要在升级的MongoDB Ops Manager托管上安装 .rpm
包,请发出以下命令,其中 <version>
是MongoDB Ops Manager版本:
sudo rpm -Uvh mongodb-mms-<version>.x86_64.rpm
警告
rpm
Ops Manager 版本 6.0.0、6.0.1 和 6.0.2 的升级软件包包含不正确的版本信息,可能导致标准升级失败。如果从这些版本中的任何一个升级到版本 6.0.3 或更高版本,请使用--force
标志升级软件包:
sudo rpm -Uvh --force mongodb-mms-<version>.x86_64.rpm
升级到MongoDB Ops Manager 5.0.x 时, MongoDB Ops Manager保留当前的 /opt/mongodb/mms/conf/conf-mms.properties
文件。 MongoDB Ops Manager会将随此版本安装的 conf-mms.properties
保存为 /opt/mongodb/mms/conf/conf-mms.properties.rpmnew
。
警告
不要向mms.conf
文件中的Java虚拟机(JVM)参数添加密码或密钥。 MongoDB Ops Manager将它们以纯文本形式显示在诊断存档中。
用符号链接替换init
文件
以下现有文件区块使用 RPM 升级MongoDB Ops Manager 4.2 安装:
/etc/init.d/mongodb-mms
/etc/init.d/mongodb-mms-backup-daemon
要完成升级:
发出以下命令移动旧的
init
文件:sudo mv /etc/init.d/mongodb-mms /etc/init.d/mongodb-mms-5.0 sudo mv /etc/init.d/mongodb-mms-backup-daemon /etc/init.d/ mongodb-mms-backup-daemon-5.0 sudo mv /etc/init.d/mongodb-mms /etc/init.d/mongodb-mms-6.0 sudo mv /etc/init.d/mongodb-mms-backup-daemon /etc/init.d/ mongodb-mms-backup-daemon-6.0 发出以下命令,以将MongoDB Ops Manager文件符号链接到其
init
文件:sudo ln -s /opt/mongodb/mms/bin/mongodb-mms /etc/init.d/mongodb-mms sudo ln -s /opt/mongodb/mms/bin/mongodb-mms-backup-daemon /etc/init.d/mongodb-mms-backup-daemon
在升级后的主机上启动 Ops Manager。
在使用 systemd 的 RHEL、 CentOS、 SUSE12 主机上 ,发出以下命令:
sudo service mongodb-mms start
对于使用SysVInit
的平台,请发出以下命令:
sudo /etc/init.d/mongodb-mms start
注意
当MongoDB Ops Manager将其所有服务器升级到相同版本时, MongoDB Ops Manager在启动期间生成的日志可能会在 Starting pre-flight checks
暂时暂停。
使用此过程升级不使用deb
或rpm
软件包的Linux系统。
备份MongoDB Ops Manager托管上的配置文件。
在要升级的MongoDB Ops Manager托管上,将现有配置文件和日志备份到安装目录以外的目录。
重要
您需要备份的<install_dir>/conf/conf-mms.properties
文件,以便稍后执行此过程。
例子
以下命令将配置文件和日志备份到主目录:
cp -a <install_dir>/conf ~/mms_conf.backup cp -a <install_dir>/logs ~/mms_logs.backup
如果Versions Directory
位于<install_dir>
中,则将其备份。
cp -a <install_dir>/mongodb-releases ~/mms_versions.backup
您还必须备份MongoDB Ops Manager用于加密和解密MongoDB Ops Manager的后端后端数据库和用户凭证的 gen.key
文件。 MongoDB Ops Manager要求在属于高可用性MongoDB Ops Manager部署的每台服务器上都有相同的 gen.key
文件。
下载最新版本的 Ops Manager 软件包。
打开首选浏览器,访问 MongoDB.com 上的 MongoDB Download Center。
如果您从 MongoDB.com 开始,请单击 Products Ops Manager Try it now。
从Version下拉菜单中,单击提供的稳定版本之一。
从 Platform 下拉菜单中,单击以下选项之一:
Red Hat + CentOS 7, 8, 9 / SUSE 12 + 15 / Amazon Linux 2, Amazon Linux 2023
Debian 9, 10, 11 / Ubuntu 18.04
在 Package 下拉菜单中,点击 tar.gz。
单击 Download(连接)。
下载的软件包名为
mongodb-mms-<version>.x86_64.tar.gz
,其中<version>
是版本号。
在要升级的每台托管上安装MongoDB Ops Manager包。
注意
高可用 Ops Manager 应用程序的升级模式
如果您安装的 Ops Manager 4.4 有一个以上的 Ops Manager 主机指向同一个应用程序数据库,则此 Ops Manager 部署会以高可用性方式运行。升级高可用 Ops Manager 部署的一台 Ops Manager 主机后,该部署将进入升级模式。
导航到要安装MongoDB Ops Manager的目录。 将存档提取到该目录:
tar -zxf mongodb-mms-<version>.x86_64.tar.gz
重要
要将新版本安装在与旧版本相同的目录中,请按照以下步骤操作:
重命名当前安装目录。
mv <install_dir> <install_dir_old> 使用旧目录。
mkdir <install_dir>
这样可以避免安装目录为空和代码库冲突。
在每个MongoDB Ops Manager托管上,恢复备份的日志和配置文件恢复到MongoDB Ops Manager安装目录中。
应恢复所有日志文件。 应恢复大多数(但不是全部)配置文件。 恢复:
例子
这些命令从主目录恢复配置文件和日志:
cp -a ~/mms_logs.backup <install_dir>/logs cp -a ~/mms_conf.backup/conf-mms.properties <install_dir>/conf/conf-mms.properties cp -a ~/mms_conf.backup/gen.key <install_dir>/conf/gen.key
如果您之前备份了Versions Directory
,请将其恢复到<install_dir
>。
cp -a ~/mms_versions.backup <install_dir>/mongodb-releases.
注意
在 Ops Manager 的高可用性实例中,备份守护程序会等待所有节点升级后再启动。
可选。在每个MongoDBMongoDB Ops Manager Ops Manager服务器,将任何需要的更改合并到备份中的mms.conf
文件中。
mms.conf
文件很少进行自定义,因为它包含端口和Java虚拟机(JVM)配置设置。 如果修改了 使用 的端口 或 Java虚拟机(JVM) MongoDB Ops Manager设置,则在升级 后,您需要将备份副本中的这些更改重新应用到mms.conf
MongoDB Ops Manager文件。
警告
不要向mms.conf
文件中的Java虚拟机(JVM)参数添加密码或密钥。 MongoDB Ops Manager将它们以纯文本形式显示在诊断存档中。
升级到 Ops Manager 4.1 和 4.2 后,从 JAVA_MMS_UI_OPTS
参数中删除了 -d64
标志。
故障排除
无法识别的 VM 选项
动态检查输出或启动日志应包含类似 Unrecognized VM option 'UseParNewGC'
的错误。如果已编辑以下任何文件,则可能出现此错误:
/etc/rc.d/init.d/mongodb-mms
mms.conf
conf-mms.properties
从配置文件中删除 -XX:+UseParNewGC
以解决此问题。
配置设置更改
根据 Linux 发行版和本地配置,Ops Manager 可能会替换您在升级时对配置文件所做的任何更改。在 Ops Manager 5.0 及更高版本中,如果您使用 RPM 包,则 Ops Manager 在升级时不再更新配置文件。如果新的 OPS Manager 版本需要配置文件的新属性,则必须在升级时将这些属性添加到文件。
升级时,更新 mongo.mongoUri
值以包括 MongoDB Java 驱动程序引入的新参数。默认情况下,此驱动程序启用可重试读取和可重试写入。 如果您设置自定义逻辑来重试读取和写入,则尝试可能需要很长时间。要禁用这些默认值,请在连接字符串中添加以下内容:
例子
mongodb://SERVER:PORT/?maxPoolSize=150&retryWrites=false&retryReads=false
无法识别的 VM 选项
动态检查输出或启动日志应包含类似 Unrecognized VM option 'UseParNewGC'
的错误。如果已编辑以下任何文件,则可能出现此错误:
/etc/rc.d/init.d/mongodb-mms
mms.conf
conf-mms.properties
从配置文件中删除 -XX:+UseParNewGC
以解决此问题。
配置设置更改
根据 Linux 发行版和本地配置,Ops Manager 可能会替换您在升级时对配置文件所做的任何更改。在 Ops Manager 5.0 及更高版本中,如果您使用 RPM 包,则 Ops Manager 在升级时不再更新配置文件。如果新的 OPS Manager 版本需要配置文件的新属性,则必须在升级时将这些属性添加到文件。
无法识别的 VM 选项
动态检查输出或启动日志应包含类似 Unrecognized VM option 'UseParNewGC'
的错误。如果已编辑以下任何文件,则可能出现此错误:
/etc/rc.d/init.d/mongodb-mms
mms.conf
conf-mms.properties
从配置文件中删除 -XX:+UseParNewGC
以解决此问题。
配置设置更改
根据 Linux 发行版和本地配置,Ops Manager 可能会替换您在升级时对配置文件所做的任何更改。在 Ops Manager 5.0 及更高版本中,如果您使用 RPM 包,则 Ops Manager 在升级时不再更新配置文件。如果新的 OPS Manager 版本需要配置文件的新属性,则必须在升级时将这些属性添加到文件。
升级时,更新 mongo.mongoUri
值以包括 MongoDB Java 驱动程序引入的新参数。默认情况下,此驱动程序启用可重试读取和可重试写入。 如果您设置自定义逻辑来重试读取和写入,则尝试可能需要很长时间。要禁用这些默认值,请在连接字符串中添加以下内容:
例子
mongodb://SERVER:PORT/?maxPoolSize=150&retryWrites=false&retryReads=false
非法反射访问
此警告基于 Ops Manager 使用的 Guice 库显示。您可以放心地忽略此警告。