使用hiraidadm升级

以下操作以华为服务器为例。

操作场景

介绍在操作系统中使用命令行工具hiraidadm升级控制卡固件的具体方法。

必备事项

操作步骤

  1. 挂载升级文件。

    • iBMC远程虚拟控制台包含Java远程虚拟控制台和HTML5集成远程控制台,更多信息可参考《iBMC用户指南》。
    • iBMC V5.01.00.00以下版本的HTML5集成远程控制台不支持“本地文件夹”功能。
    • iBMC V5.01.00.00及以上版本的HTML5集成远程控制台支持使用“本地文件夹”功能。
    1. 打开虚拟光驱下属菜单。
      • iBMC V5.01.00.00以下版本在Java远程虚拟控制台的工具栏中单击,如图 虚拟光驱所示。
        图1 虚拟光驱
      • iBMC V5.01.00.00及以上版本在HTML5集成远程控制台的工具栏中单击,如图 通过虚拟光驱挂载镜像文件所示。
        图2 通过虚拟光驱挂载镜像文件
    2. 选择“本地文件夹”并单击“浏览”或

      打开文件夹选择窗口。

    3. 选择控制卡固件升级包解压后得到的文件夹,选择“packet_raid.img”文件,如图3所示。
      图3 “packet_raid.img”文件
      • 如果执行版本升级操作,则此处挂载目标版本的升级包。
      • 如果执行版本回退操作,则此处挂载升级前版本的升级包。
    4. 单击“连接”。

      当工具栏的“连接”变为“断开”时,即表示已经成功挂载。

  2. 拷贝升级文件到服务器。

    1. 执行mount /dev/sr0 /mnt命令,将本地文件夹挂载到“/mnt”路径下。

      可在输入mount /dev/sr后,按Tab键,自动联想出sr后面的值。

    2. 执行mkdir /root/fw命令,在root目录下新建“fw”文件夹。
    3. 执行cp -vr /mnt/* /root/fw/命令将所挂载的文件拷贝到“fw”目录下。
    4. 执行cd /root/fw/命令进入“fw”目录。
    5. 执行cp -vr tools/* /root/fw/命令将命令行工具拷贝到“fw”目录下。

  3. 执行./hiraidadm show allctrl命令,查看所有适用于Hiraidadm命令行工具的控制卡的Controller_ID

    以服务器下存在一张SP686C为例。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    [root@localhost fw]# ./hiraidadm show allctrl
    ========================================== Hiraidadm   Information ===========================================
        Name: hiraidadm
        Version :1.2.0.1
        Build Time:Jun 14 2022 22:33:41
    ==============================================================================================================
    ==============================================================================================================
        Status Code = 0
        Status = Success
        Description = None
    ==============================================================================================================
    Controllers Number = 1
    -------------------------------------------------------
    Controller Id           | 0
    Device Name             | /dev/bsg/hiraid0
    Pcie Bus Domain         | 0000
    Bus Number              | 04
    Device Number           | 00
    Function Number         | 00
    PCI Address             | 0000:04:00.0
    

  4. 执行./hiraidadm cController_Id update fw file=<xxx.img>命令,进行升级。

    以升级SP686C控制卡固件为例。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    [root@localhost fw]# ./hiraidadm c0 update fw file=packet_raid.img
    =========================================== Hiraidadm Information ============================================
        Name: hiraidadm
        Version :1.2.0.1
        Build Time:Jun 14 2022 22:33:41
    ==============================================================================================================
    update controller firmware done,duration: 2min42s
    ==============================================================================================================
        Status Code = 0
        Status = Success
        Description = None
    ==============================================================================================================
    
    • “Controller_Id”3所查询到的“Controller Id”对应的值。
    • “xxx.img”即解压得到的img固件文件。
    • 当回显中“Status = Success”时,表示命令执行成功。

  5. 执行升级命令后,可通过以下两种激活方式使固件生效。

    • 执行./hiraidadm cController_Id active fw type=hot命令。表示采用热激活方式,无需重启服务器即可完成升级。

      当采用热激活方式使固件生效时,存在如下限制:

      • 版本号按照x.y.n.z形式定义,只有x.y.n字段相同的版本间升级支持热激活。例如从固件版本1.0.17.1升级到1.0.17.2支持热激活,从固件版本1.0.17.1升级到1.0.18.1不支持热激活。
      • SP686C在当前系统中不存在pinned cache(即LUN失效时,cache中存在的无法下发的脏数据)。如果存在,需要先删除pinned cache,或者恢复故障RAID组。
      • 系统中没有重构、预拷贝、回拷、初始化、扩容等任务在执行。如果有,需要等待执行完成或者停止。可通过“hiraidadm cController_Id show bgtask”命令查看控制卡当前后台任务。
      • 系统中没有sanitize擦除硬盘和erase擦除硬盘任务在执行。如果有,需要等待执行完成或者停止。可通过“hiraidadm cController_Id:eenclosure_id:sslot_id show sanitize”和“hiraidadm cController_Id:eenclosure_id:sslot_id show erase”命令查看硬盘擦除状态。

        其中Controller_Id为控制卡IDenclosure_id为硬盘所在框位的ID,slot_id为硬盘所在槽位的ID。

      • SP686C激活过程中,如果系统中cache数据和已下发的I/O数据在指定时间内无法完成,为了避免系统I/O异常,激活会终止并返回失败,需要稍后重试。
      当“Status”显示为“Success”时,表示命令执行成功。
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      [root@localhost fw]# ./hiraidadm c0 active fw type=hot
      =========================================== Hiraidadm Information ============================================
          Name: hiraidadm
          Version :1.2.0.1
          Build Time:Jun 14 2022 22:33:41
      ==============================================================================================================
      ==============================================================================================================
          Status Code = 0
          Status = Success
          Description = None
      ==============================================================================================================
      
    • 重启服务器,表示采用冷激活方式,使固件生效。
      • 服务器启动约需要5~10分钟,请耐心等待。
      • 升级后,不下发激活命令直接重启服务器默认为冷激活方式。

  6. 检查升级后固件版本是否为目标版本,查询控制卡固件版本的方法请参见查询固件详细版本

    升级过程没有异常提示,并且升级后查询版本号已升到目标版本,即表示升级成功。

  7. (可选)升级控制卡驱动至固件配套版本,驱动的获取和升级方法请参考安装驱动软件升级