applydrivesoftware
Use the applydrivesoftware command to update drives.
Syntax
>>- applydrivesoftware -- -file --name--------------------------> >--+-----------------------+--+- -drive --drive_id-+------------> | .-firmware-. | '- -all -------------' '- -type --+-fpga-----+-' >--+----------+--+-------------------+--+-------------------+-->< '- -force -' '- -allowreinstall -' '- -allowdowngrade -'
>>- applydrivesoftware -- -cancel -----------------------------><
Parameters
- -file name
- (Required) Specifies the firmware update file name that must be copied to the /home/admin/update/ directory on the configuration node.
- -type fpga | firmware
- (Optional) Specifies the type of drive firmware to update. Drive firmware updates can be performed online, concurrently with I/O. However, fpga updates require the drive to be taken offline, which means target drives must be made candidate before issuing the applydrivesoftware command. The default value is firmware. See the chdrive command for more details.
- -all
- (Optional) Specifies that the drive firmware should be applied
to every drive in the system, as long as that drive is online and
has use member, use spare, or use
candidate.This does not apply to:
- Drives that have dependent volumes
- Drives that are members of non-redundant arrays
If you specify -all you must specify the -type as firmware.Remember: The -all parameter differs from the -drive parameter because unsuitable drives are not added to the list of drives scheduled for update when you use -all. - -drive drive_id
- (Optional) Specifies one drive ID or a list of drive IDs (separated by a colon,
[:]) to be updated. The maximum
number of IDs is 128. If you have more than 128, use -all or multiple
applydrivesoftware invocations to complete the update.Remember: The -drive parameter differs from the -all parameter because if you specify an unsuitable drive using the -drive parameter, the applydrivesoftware command fails. Additionally, if you specify all three drives as hosting quorum, the command fails. If you use the -drive option to specify a single drive, and that drive has use=unused, it is updated.
- -force
- (Optional) Bypasses the dependent volume check.
By default applydrivesoftware cannot run if any
volumes dependent on the drive. Specifying -force bypasses
this check, allowing the drive software update to proceed. Drive-dependent
volumes generally result from non-redundant or degraded RAID arrays.
Note: Restore redundancy to the system (where possible) instead of using the -force parameter.Important: Using the -force parameter might result in a data loss. Use it only under the direction of your product support information, or if you are willing to accept the risk of data loss in the array or pool to which the drive belongs.
- -allowreinstall
- (Optional) Specifies to make the system install the current level
(again) onto drives that contain a file in the package.Remember: Using this parameter is not recommended.
- -allowdowngrade
- (Optional) Specifies to allow the system to downgrade the firmware
on a drive (that contains a file in the package).Remember: Use this parameter only under the direction of your product support information.
- -cancel
- (Optional) Specifies that the command be stopped.
Description
Use this command to update the firmware of drives that are managed by the system.
There
are two types of drive software that can be updated using this command:
- firmware
- fpga
Drive firmware updates can be performed online
while the drive is in use. When used on an array member drive applydrivesoftware checks
for volumes that are dependent on the drive and refuses to run if
any are found. Drive dependent volumes are usually caused by non-redundant
or degraded RAID arrays. Where possible you should restore redundancy
to the system by replacing any failed drives before using the applydrivesoftware command.
When this is not
possible, for example on drives that are members of a RAID-0 array,
you can either add redundancy to the volume by adding a second copy
in another pool, or use the -force parameter
to bypass the dependant volume check.
Remember: Only
use -force if you are willing to accept the risk
of data loss on dependent volumes (if the drive fails during the firmware
update).
Drive firmware updates occur asynchronously, and conclude after the applydrivesoftware command completes. To see the status of the updates, use the lsdriveupgradeprogress command.
Drive fpga updates
might require the drive to be taken offline for several minutes.
Drives must be changed to the candidate state before applydrivesoftware can
be used to update fpga software. The fpga updates
occur asynchronously, continuing in the background after the applydrivesoftware command
has returned. You
must check the FPGA_level field in lsdrive N,
where N is the drive_id, to
see whether or not the update completed successfully.
Remember: Interrupting an fpga update by removing
power from the drive or enclosure might make the drive unusable.
Only one drive's fpga can be updated per applydrivesoftware invocation.
Make sure that the update is
complete before unseating the drive or removing power from the enclosure.
An invocation example
applydrivesoftware -file DRIVE_XXXXXXXX -type firmware -drive 4The resulting output:
No feedbackAn invocation example
An example that fails because of drive-dependent volumes:
applydrivesoftware -file DRIVE_XXXXXXXX -type firmware -drive 6The resulting output:
CMMVC6953E The action cannot be completed because vdisks are dependent on the specified mdisk. Force is required.An invocation example
applydrivesoftware -file drivemicrocodepackagev5 -type firmware -allThe resulting output:
No feedbackAn invocation example
applydrivesoftware -file drivemicrocodepackagev1 -type firmware -all -allowreinstallThe resulting output:
No feedbackAn invocation example
applydrivesoftware -file drivemicrocodepackagev1 -type firmware -all -allowdowngradeThe resulting output:
No feedbackAn invocation example
applydrivesoftware -file drivemicrocodepackagev1 -type firmware -all -allowdowngrade -allowreinstallThe resulting output:
No feedbackAn invocation example
applydrivesoftware -cancelThe resulting output:
No feedback