跳到主要内容

XClarity Administrator 作为容器从 v4.0 更新到 v4.1

Lenovo XClarity Administrator 作为 Docker 容器运行时,请按照此更新过程将最新软件安装为新容器,并将原始容器的卷绑定到新容器。

开始之前

XClarity Administrator 作为容器从 v4.0 更新到 v4.1 时,需要使用特殊的更新脚本来使特定的非持久性文件持久化。

更新完成后,日志级别会恢复为默认值。

确保主机系统上存在非根 Linux 用户,并且该非根用户可以运行 Docker 命令。如果没有,请通过运行以下命令将用户添加到 Docker 组:
bash
sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker
docker ps

关于本任务

XClarity Administrator不是 作为特权容器运行。

过程

要更新 XClarity Administrator 容器,请完成以下步骤。

  1. 切换到 Docker 组中的非根用户。
  2. XClarity Administrator 容器镜像文件(do-container-update.shdocker-compose.envdocker-compose.ymllnvgy_sw_lxca_ *.tar.gz)从 XClarity Administrator 下载 Web 页面下载到本地系统中的新目录下。登录到该网站,然后使用提供给您的访问密钥下载该映像。
  3. 通过运行以下命令将 XClarity Administrator 容器镜像导入 Docker 主机。
    docker load -i <CONTAINER-IMAGE-FILENAME>
    例如:
    docker load -i lnvgy_sw_lxca_110-4.1.0_anyos_noarch
  4. 编辑docker-compose.env 文件,更新以下环境变量以匹配 docker-compose.env 文件中的值。

    以下是一个示例环境文件。

    CONTAINER_NAME="LXCA-400"
    ADDRESS="192.0.2.0"
    BACKUP_MOUNT="/mnt/backup_share"
    FIRMWARE_MOUNT="/mnt/fw_share"
  5. 编辑docker-compose.yml 文件。将文件顶部的镜像属性更新为新 Docker 镜像的文件名,并更新网络配置设置(子网、网关和 DNS),以匹配 docker-compose.yml 文件中的值。

    以下是示例 yml 文件。

    version: '3.8'

    services:

    lxca:
    image: lenovo/lxca:4.1.0-124
    container_name: ${CONTAINER_NAME}
    tty: true
    stop_grace_period: 60s
    volumes:
    #bind mount example
    - /home/<HOST_MOUNT_POINT_FOR_BACKUP>:${BACKUP_MOUNT}
    - /home/<HOST_MOUNT_POINT_FOR_FW_SHARE>:${FIRMWARE_MOUNT}
    #docker volume mount
    - data:/opt/lenovo/lxca/data
    - postgresql:/var/lib/postgresql
    - log:/var/log
    - confluent-etc:/etc/confluent
    - confluent-log:/var/log/confluent
    - confluent:/var/lib/confluent
    - propconf:/opt/lenovo/lxca/bin/conf
    - ssh:/etc/ssh
    - xcat:/etc/xcat
    networks:
    lan:
    ipv4_address: ${ADDRESS}
    dns: 192.0.30.10
    192.0.30.11
    deploy:
    resources:
    limits:
    cpus: "2.0"
    memory: "8g"

    volumes:
    data:
    name: ${CONTAINER_NAME}-data
    postgresql:
    name: ${CONTAINER_NAME}-postgresql
    log:
    name: ${CONTAINER_NAME}-log
    confluent-etc:
    name: ${CONTAINER_NAME}-confluent-etc
    confluent-log:
    name: ${CONTAINER_NAME}-confluent-log
    confluent:
    name: ${CONTAINER_NAME}-confluent
    propconf:
    name: ${CONTAINER_NAME}-propconf
    ssh:
    name: ${CONTAINER_NAME}-ssh
    xcat:
    name: ${CONTAINER_NAME}-xcat
    networks:
    lan:
    name: lan
    driver: macvlan
    driver_opts:
    parent: eth0
    ipam:
    config:
    - subnet: 192.0.0.0/19
    gateway: 192.0.30.1
  6. 通过运行以下命令升级 Docker 中的容器镜像,其中 <ORIGINAL-CONTAINER-IMAGE-PATH> 是原容器文件所在的位置,<NEW-CONTAINER-IMAGE-PATH> 是在步骤 2 中下载的新容器镜像文件所在的位置:
    bash do-container-update.sh <ORIGINAL-CONTAINER-IMAGE-PATH> <NEW-CONTAINER-IMAGE-PATH>
    例如:
    bash do-container-update.sh /home/$USER/lxca-400 /home/$USER/lxca-410
    升级过程中会提示输入 sudo 命令的密码。必须输入密码才能继续。