搜索

8.7. 手动升级 Ceph 文件系统元数据服务器节点及其操作系统

download PDF

您可以手动将 Red Hat Ceph Storage 集群中的 Ceph 文件系统 (CephFS) 元数据服务器 (MDS) 软件同时升级到新的主版本。

重要

在升级存储集群前,请将活跃 MDS 的数量减少为每个文件系统一个。这消除了多个 MDS 之间可能存在的版本冲突。另外,在升级前关闭所有待机节点。

这是因为 MDS 集群没有内置的版本或文件系统标志。如果没有这些功能,多个 MDS 可能会使用不同版本的 MDS 软件进行通信,并可能导致断言或其他故障发生。

先决条件

  • 正在运行的 Red Hat Ceph Storage 集群。
  • 节点正在运行 Red Hat Enterprise Linux 7.9。
  • 节点使用 Red Hat Ceph Storage 版本 3.3z6 或 4.1。
  • 访问 Red Hat Enterprise Linux 8.3 的安装源。
  • 对存储集群中所有节点的根级别访问权限。
重要

底层 XFS 文件系统必须格式化为支持 ftype=1d_type。运行 xfs_info /var 命令以确保 ftype 设置为 1。如果 ftype 的值不是 1,请附加新磁盘或创建卷。在此新设备之上,创建新的 XFS 文件系统并将其挂载到 /var/lib/containers

从 Red Hat Enterprise Linux 8 开始,mkfs.xfs 默认启用 ftype=1

流程

  1. 将活跃 MDS 的数量减少到 1:

    语法

    ceph fs set FILE_SYSTEM_NAME max_mds 1

    示例

    [root@mds ~]# ceph fs set fs1 max_mds 1

  2. 等待集群停止所有 MDS 等级。当所有 MDS 停止后,仅排名 0 才处于活动状态。剩余的操作应处于待机模式。检查文件系统的状态:

    [root@mds ~]# ceph status
  3. 使用 systemctl 关闭所有备用 MDS:

    [root@mds ~]# systemctl stop ceph-mds.target
  4. 确认只有一个 MDS 是在线的,并且它已在文件系统中排名为 0:

    [root@mds ~]# ceph status
  5. 为操作系统版本禁用工具存储库:

    1. 如果您要从 RHEL 7 上的 Red Hat Ceph Storage 3 升级,请禁用 Red Hat Ceph Storage 3 工具存储库:

      [root@mds ~]# subscription-manager repos --disable=rhel-7-server-rhceph-3-tools-rpms
    2. 如果您使用 Red Hat Ceph Storage 4,请禁用 Red Hat Ceph Storage 4 工具存储库:

      [root@mds ~]# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
  6. 安装 leapp 实用程序。有关 leapp 的详情,请参考从 Red Hat Enterprise Linux 7 升级到 Red Hat Enterprise Linux 8
  7. 通过 leapp 预升级检查运行。如需更多信息,请参阅从命令行评估可升级性
  8. 编辑 /etc/ssh/sshd_config,并将 PermitRootLogin 设置为 yes
  9. 重启 OpenSSH SSH 守护进程:

    [root@mds ~]# systemctl restart sshd.service
  10. 从 Linux 内核中删除 iSCSI 模块:

    [root@mds ~]# modprobe -r iscsi
  11. 执行升级。请参阅执行从 RHEL 7 升级到 RHEL 8
  12. 重新引导 MDS 节点。
  13. 为 Red Hat Enterprise Linux 8 启用 Red Hat Ceph Storage 4 的工具仓库:

    [root@mds ~]# subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms
  14. 安装 ceph-mds 软件包:

    [root@mds ~]# dnf install ceph-mds -y
  15. 可选:安装在此节点上并置的任何 Ceph 服务的软件包。如果需要,启用额外的 Ceph 存储库。
  16. 可选:安装其他 Ceph 服务需要的 leveldb 软件包:

    [root@mds ~]# dnf install leveldb
  17. 从尚未升级的节点或已经恢复这些文件的节点恢复 ceph-client-admin.keyring 和 ceph.conf 文件。
  18. 将任何现有的 CRUSH bucket 切换到最新的 bucket 类型 straw2

    # ceph osd getcrushmap -o backup-crushmap
    # ceph osd crush set-all-straw-buckets-to-straw2
  19. 启动 MDS 服务:

    [root@mds ~]# systemctl restart ceph-mds.target
  20. 验证守护进程是否活跃:

    [root@mds ~]# ceph -s
  21. 为待机守护进程跟踪相同的进程。
  22. 当您完成重启所有待机 MDS 后,请恢复集群中的 max_mds 的值:

    语法

    ceph fs set FILE_SYSTEM_NAME max_mds ORIGINAL_VALUE

    示例

    [root@mds ~]# ceph fs set fs1 max_mds 5

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.