mmchfirmware command

Changes the firmware levels on one or more storage components.

Synopsis

mmchfirmware --type {storage-enclosure | drive | host-adapter}
             [ --update-id PREVIOUS]
             [ --serial-number SerialNumber ]
             [ -N { Node[,Node...] | NodeFile | NodeClass } ]
             [--stop-on-error { yes | no } ]
             [ --fast-offline ]
             [ --dry-run ]
             [ -v {yes | no} 

Availability

Available with the Elastic Storage Server.

Description

Use the mmchfirmware command to update the firmware level on one or more storage components.

A particular component is updated only if it satisfies the --update-id, --type, --serial-number, and -N options when they are specified.

Consequently, when you update drives on a cluster that has the IBM Storage Scale daemons active, you need to use the -N option to include both servers of the ESS building blocks that might be affected.

Note: The firmware on each of the two sides of an enclosure can be upgraded independently. During a serial update procedure, the two sides of an enclosure typically operate with mismatched firmware levels for a short period (a few minutes), during which time the enclosure presents a warning because of the firmware mismatch.

Parameters

--type {storage-enclosure | drive | host-adapter}
Specifies the type of component for which firmware is to be updated.
--update-id PREVIOUS
Only the keyword PREVIOUS is supported. The default is to install the newest available firmware.

The keyword PREVIOUS assumes that you already loaded the latest firmware available and now want to back off to the previous level.

--serial-number SerialNumber
Specifies the serial number of a particular component to be updated.
-N {Node[,Node...] | NodeFile | NodeClass}
Specifies the nodes to be included in the update. This command supports all defined node classes. Only components directly accessible from one of the specified nodes are included in the component selection list. The default is to run on the invoking node.

For general information about how to specify node names, see the following IBM Storage Scale RAID: Administration topic: Specifying nodes as input to IBM Storage Scale RAID commands.

--stop-on-error {yes | no}
Specifies whether the command is to stop when a firmware update fails. The default value is yes.
--fast-offline
This option is deprecated. It was intended to increase parallelism when updating drive firmware if IBM Storage Scale was shut down on all the nodes in the cluster. Parallelism automatically happens for the following cases:
  • host-adapter: Runs in parallel on all of the nodes that are specified unless debugging is enabled.
    Note: IBM Storage Scale must be shut down on all of the specified nodes.
  • drive: Parallelism automatically happens if IBM Storage Scale is shut down on all of the potentially affected nodes.
    Note: Potentially affected nodes include the input nodes and any other nodes that have access to the same storage enclosures and drives.
  • storage-enclosure: Parallelism automatically happens if IBM Storage Scale is shut down on all of the potentially affected nodes.
    Note: Potentially affected nodes include the input nodes and any other nodes that have access to the same storage enclosures and drives.
--dry-run
Specifies that the command is to be run without updating any firmware.
-v {yes | no}
Specifies whether the command is to verify that the firmware version is newer than the current version. A value of yes specifies that the firmware is to be updated only if it is a newer version than the firmware already installed on the device. A value of no specifies that the firmware is to be updated in all cases, even if its version number indicates that it is an earlier level or the same level as the firmware already installed on the device. The default value is yes.

Exit status

0
Successful completion.
nonzero
A failure occurred.

Security

You must have root authority to run the mmchfirmware command.

The node on which the command is issued must be able to execute remote shell commands on any other node in the cluster without the use of a password and without producing any extraneous messages. For more information, see the following IBM Storage Scale RAID: Administration topic: Requirements for administering IBM Storage Scale RAID.

Examples

  1. To update an enclosure (in this case, enclosure SV13306129) to the latest firmware that was supplied, issue the following command:
    mmchfirmware --type storage-enclosure --serial-number SV13306129
    The system displays output similar to this:
    Mon Dec  3 08:19:12 EST 2012: mmchfirmware: Processing node c45f01n01-ib0.gpfs.net
    c45f01n01-ib0: update-directory /usr/lpp/mmfs/updates/latest/firmware/enclosure/ProductId
    c45f01n01-ib0: Found storage-enclosure DCS3700 SV13306129, update-id esm0375.esm. 
    c45f01n01-ib0: Updating enclosure firmware ESM_A. c45f01n01-ib0: Updating enclosure firmware ESM_B.
  2. To update the drive firmware, issue the following command:
    mmchfirmware --type drive
    The system displays output similar to this:
    
    Mon Dec  3 09:10:47 EST 2012: mmchfirmware: Processing node c45f02n01-ib0.gpfs.net
    c45f02n01-ib0: update-directory /usr/lpp/mmfs/updates/latest/firmware/drive.
    c45f02n01-ib0: Found drive firmware update-id ibm_fw_hdd_sas-9.99_linux_32-64_gn
    r.zip.
    c45f02n01-ib0: Updating firmware for drives in recovery group rg.
    c45f02n01-ib0: Updating firmware for drives sg46,sg179,sg183.
    c45f02n01-ib0: Updating firmware for drives sg48,sg158,sg171.
    c45f02n01-ib0: Updating firmware for drives sg45,sg131,sg352.
    c45f02n01-ib0: Updating firmware for drives sg304,sg123.
    c45f02n01-ib0: Updating firmware for drives sg193,sg180.
    ...
    c45f02n01-ib0: Updating firmware for drives not contained in a recovery group.
    c45f02n01-ib0: Updating firmware for drives sg201,sg29,sg250,sg297,sg36.
    c45f02n01-ib0: Updating firmware for drives sg345,sg97,sg200,sg249,sg199.
    c45f02n01-ib0: Updating firmware for drives sg69,sg28,sg298,sg346.
  3. To update the drive firmware for a specific drive, you first must determine the serial number of the drive. You can discover the drive serial number by using one of two options, as follows:
    1. Issue the following command:
      
      mmlspdisk RecoveryGroupName --pdisk  
      
      The system displays output similar to this:
      
      >mmlspdisk BB1RGL --pdisk e4d5s04
      pdisk:
         replacementPriority = 1000
         name = "e4d5s04"
         device = "/dev/sdbf,/dev/sdhy"
         recoveryGroup = "BB1RGL"
         declusteredArray = "DA2"
         .
         .
         .
         hardware = "IBM-ESXS ST2000NM0001 BC4A Z1P4K3VF00009320N6RS"
      
      The drive serial number is the last part of the hardware value: Z1P4K3VF00009320N6RS in this example.
    2. Issue the following command:
      
      mmgetpdisktopology > OutputFile 
      
      Edit your output file (out1, for example) and search for the pdisk name or device path that you want to update:
      
      cat out1 | grep e4d5s04
      
      The system displays output similar to this:
      
        >cat out1 | grep e4d5s04
         sdbf,sdhy:0:/dev/sdbf,/dev/sdhy:C0A82D0B5384A13C|e4d5s04|BB1RGL|C0A82D0B53849EE7|DA2||1:
      naa.5000C50055D5F0E7:0000%3a11%3a00.0/7.0.51.0,0000%3a8b%3a00.0/8.0.51.0:[7.0.51.0],
      [8.0.51.0]:/dev/sg59,/dev/sg237:IBM-ESXS:ST2000NM0001:BC4A:Z1P4K3VF00009320N6RS:46W6911:
      2000398934016:naa.500062B200422340,naa.500062B200422280:50080e5245ded03f.50080e5245dec03f:
      SV13306129:0/1:5-4:5000c50055d5f0e5.5000c50055d5f0e6:sg8,sg186:
      
      The drive serial number is field 12 of the colon-delimited fields. Again, you see that the drive serial number is Z1P4K3VF00009320N6RS in this example.
    Now issue the following command:
    
    mmchfirmware --type drive --serial-number Z1P4K3VF00009320N6RS
    
  4. This example shows you how to update the drive firmware when the IBM Storage Scale RAID cluster is shut down. Updating the firmware during a maintenance shutdown is much faster than updating the firmware while IBM Storage Scale is active. With IBM Storage Scale active, the parallelism is reduced, pdisks must be suspended and resumed, and declustered arrays must be rebalanced between each update iteration.
    With IBM Storage Scale shut down in the cluster, run this command:
    
    mmchfirmware --type drive --fast-offline
    
    Progress messages are suppressed during this concurrent update because they are interspersed from different nodes. To display progress messages, run this command:
    
    DEBUGmmchfirmware=1 mmchfirmware --type drive --fast-offline
    
  5. To update the host adapter firmware, run this command:
    
    mmchfirmware --type host-adapter 
    
    Note: The node must be down where the host adapter firmware is being updated.

See also

See also the following IBM Storage Scale RAID: Administration topics:

Location

/usr/lpp/mmfs/bin