Update Firmware Underground Storwize
Update Firmware Underground Storwize
GENERAR TEST
svcupgradetest -f -d
svcupgradetest -v 7.4.0.11
___________________________________________________________________________________
____________________________________
We need to perform this procedure using the command line as there is no way to do
this procedure from the GUI (yet).
Upload the Software Upgrade Test Utility to determine which drives need
updating.
Upload the drive microcode package.
Apply the drive software.
Confirm all drives are updated.
You will need the upgrade test utility which you can get from here.
You will need the Putty utility PSCP which you can get from here (although most
of you should already have it).
You will need to have created a public/private key pair and assigned it to a
user. In all the examples the user name I use is anthonyv. You need to use your
own user-id, although you could also use admin. The process to create and
associate the key pair is described here. Place the PPK file into the putty folder
along with the upgrade test utility.
From the Putty folder we need to upload the test utility. You will need to change
the key file name, userid and IP address (all highlighted in red) to suit your
installation.
NOTE: The following command is being run in a Windows command prompt. You need to
be in the C:\Program Files\Putty or C:\Program Files (x86)\Putty folder.
Having uploaded the file, now start PuTTY and SSH to your Storwize V7000. Logon
and issue the following two commands. You are using SSH commands now, not the
Windows Command Prompt:
If you get a warning window like the one shown below, indicating we have down-level
drives, we need to proceed to the next step (note that the enclosure and slot
numbers are not the same as drive IDs).
Download the drive update package from here. Put it into the PuTTY folder.
From a Windows command prompt we need to upload the package using the following
command. You will need to change the key file name, userid and IP address (all
highlighted in red) to suit your installation. Note yet again that you are
running this in a Windows command prompt from the PuTTY folder (not from inside an
SSH session):
I have written some scripts to help you list the drive IDs that need to be updated
and perform the updates. You can upgrade the drives one at a time, or in bulk,
depending on how you want to do this. All the remaining commands are all run in a
PuTTY session.
Firstly run this script to list all the drive IDs and current firmware levels. We
need the drive IDs if we want to update individual drives.
svcinfo lsdrive -nohdr |while read did error use;do svcinfo lsdrive $did |while
read id value;do if [[ $id == "firmware_level" ]];then echo $did"
"$value;fi;done;done
The output will look something like this, showing the drive ID and that drive’s
current firmware level. From step 1 we know what the latest firmware level is, so
we can compare to the current firmware level:
0 291E
1 291E
2 B546
3 B546
4 B546
5 B546
6 B546
7 B546
8 B546
9 B546
10 B546
11 B546
12 B546
13 B546
14 B546
15 B546
16 B546
17 B546
18 B546
19 B546
20 B546
21 B546
22 B546
23 B546
Now we can update individual drives with this command, which will update drive ID
23. Just keep changing the drive IDs, using the list of down-level drives, until
every drive has been updated:
However you may have a lot of drives and want to upgrade them in bulk. So you could
use this command, which updates drive ID 19 and 20 (highlighted in red). You could
change and also add extra drives to the list as required:
If we just wanted to upgrade every single drive in the machine (regardless of their
level), we could run this command:
svcinfo lsdrive -nohdr |while read did name IO_group_id;do echo "Updating drive
"$did;svctask applydrivesoftware -file IBM2076_DRIVE_20110928 -type firmware -drive
$did;sleep 10s;done
When updating multiple drives, I have inserted a 10 second sleep between updates,
just to ensure the process runs smoothly. This means each drive takes about 13-15
seconds.
You have two ways to confirm this. Firstly run the following command to list the
firmware level of each drive. Is each drive reflecting the levels reported in Step
1?
svcinfo lsdrive -nohdr |while read did error use;do svcinfo lsdrive $did |while
read id value;do if [[ $id == "firmware_level" ]];then echo $did"
"$value;fi;done;done
svcupgradetest -f -d
Provided you receive no warnings about drives not being at the recommended levels,
you are now finished with the drive updates. Of course you could now proceed to
install 6.2.0.4 firmware, but you can do that from the GUI.
Share this: