7.10. 使用命令行界面升级 Ceph iSCSI 网关

可以通过一次升级一个裸机 iSCSI 网关,以滚动方式升级 Red Hat Ceph Storage iSCSI 网关。

警告

在升级和重启 Ceph OSD 时,不要升级 iSCSI 网关。等待 OSD 升级完成并且存储集群处于 active+clean 状态。

先决条件

  • 正在运行的 Ceph iSCSI 网关。
  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 对 iSCSI 网关节点具有 root 访问权限.

流程

  1. 更新 iSCSI 网关软件包:

    [root@iscsigw ~]# yum update ceph-iscsi
  2. 停止 iSCSI 网关守护进程:

    [root@iscsigw ~]# systemctl stop rbd-target-api
    [root@iscsigw ~]# systemctl stop rbd-target-gw
  3. 验证 iSCSI 网关守护进程是否已完全停止:

    [root@iscsigw ~]# systemctl status rbd-target-gw
    1. 如果 rbd-target-gw 服务成功停止,则跳转到第 4 步。
    2. 如果 rbd-target-gw 服务无法停止,请执行以下步骤:

      1. 如果 targetcli 软件包没有安装,请安装 targetcli 软件包:

        [root@iscsigw ~]# yum install targetcli
      2. 检查现有的目标对象:

        [root@iscsigw ~]# targetcli ls

        示例

        o- / ............................................................. [...]
        o- backstores .................................................... [...]
        | o- user:rbd ..................................... [Storage Objects: 0]
        o- iscsi .................................................. [Targets: 0]

        如果 backstoresStorage Objects 为空,则 iSCSI 目标已完全关闭,您可以跳过到第 4 步。

      3. 如果您仍然有目标对象,请使用以下命令强制删除所有目标对象:

        [root@iscsigw ~]# targetcli clearconfig confirm=True
        警告

        如果多个服务正在使用 iSCSI 目标,请在交互模式中使用 targetcli 来删除这些特定对象。

  4. 更新 tcmu-runner 软件包:

    [root@iscsigw ~]# yum update tcmu-runner
  5. 停止 tcmu-runner 服务:

    [root@iscsigw ~]# systemctl stop tcmu-runner
  6. 按照以下顺序重启 iSCSI 网关服务:

    [root@iscsigw ~]# systemctl start tcmu-runner
    [root@iscsigw ~]# systemctl start rbd-target-gw
    [root@iscsigw ~]# systemctl start rbd-target-api