Anda di halaman 1dari 6

30/1/2015 Updating Storwize V7000 drive code (Anthony's Blog: Using System Storage ­ An Aussie Storage Blog)

IBM English Sign in (or register)

Technical topics Evaluation software Community Events Search developerWorks

My home   Forums   Blogs   Communities   Profiles   Podcasts   Wikis   Activities   IBM Champion program

This Blog Search
My Blogs Public Blogs My Updates

Log in

to participate

Trending topics

Updating Storwize V7000 drive code
v7000
anthonyv  |   Nov 8 2011  |   Comments (16)  |   Visits (32775)  2

svc
**************************************************************************
Update 17/12/2011:   A flash reporting a possible issue that could occur if a drive fails storwize
during drive firmware update can be found here.
ds8000

Until the flash is updated showing how to avoid this issue, only update drive linux
firmware when installing a new machine or if all hosts are offline.

About this blog
**************************************************************************  Anthony Vandewerdt is an Australian IT

IBM recently released new drive firmware for the Storwize V7000, so I thought I Professional who blogs about Storage
related topics
would share the process of how I update that firmware.  You can download it
from here.      The details for this new package can be found here.   I recommend you
perform the drive update before you next update your Storwize V7000 microcode.

Related posts
I want to be clear that one of the central goals of the Storwize V7000 is to ensure that
performing drive firmware updates can be done online without host disruption.   New SVC / Storwize /...
UpdatedJan 22   0   0
 This is possible because each drive can be updated in less than around 4 seconds.  
The scripts I share below leave a 10 second delay between drives just to be safe.  I Success Story: Upper...
UpdatedJan 21   0   0
would still prefer that you did the update during a quiet period.
BVQ V3.3.2 with SVC/...
UpdatedJan 15   0   0
We need to perform this procedure using the command line as there is no way to do
The BVQ story ... st...
this procedure from the GUI (yet).
UpdatedDec 22 2014   0   0

How to run the offli...
There are four steps: UpdatedDec 11 2014   0   0

1.  Upload the Software Upgrade Test Utility to determine which drives need Tags


updating. Find a Tag
2.  Upload the drive microcode package.
aix  blog  brocade  cache  channel  cisco
3.  Apply the drive software. drive  ds3500  ds5000  ds5100  ds5300  ds6000
4.  Confirm all drives are updated. ds8000  ds8700  ds8800  esxi  fibre  firmware

gen3  gui  hak  hit  ibm  iops  ipad  iphone


iscsi  ldap  mpio  password  performanc​
e  power
Step 1:  Upload and run the upgrade utility putty   san  sas   ssd  ssic   storage

storwize  support  svc  switch  system


 
the  v7000  vaai  vcenter   visio  vmware
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 xiv

https://www.ibm.com/developerworks/community/blogs/anthonyv/entry/updating_storwize_v7000_drive_code1?lang=en 1/6
30/1/2015 Updating Storwize V7000 drive code (Anthony's Blog: Using System Storage ­ An Aussie Storage Blog)
most of you should already have it). Cloud   List

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 Recent tweets
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 >> Follow @aussiestorblog on Twitter
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.

pscp ‐i anthonyv.ppk IBM2076_INSTALL_upgradetest_6.15 anthonyv@9.1
91.0.78:/home/admin/upgrade

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:

svcservicetask applysoftware ‐file IBM2076_INSTALL_upgradetest_6.15
svcupgradetest ‐f ‐d

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).  If you have a lot of drives, you can drop the ­d from
the svcupgradetest command to get a summary list.

******************* Warning found *******************
+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+
| Model                | Latest FW | Current FW | Drive Info                               
|
+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+
| HK230041S            | 2920      | 291E       | Drive in slot 24 
in enclosure  1         |
|                      |           |            | Drive in slot 23 
in enclosure  1         |
| ST9450404SS          | B548      | B546       | Drive in slot 22 
in enclosure  1         |
|                      |           |            | Drive in slot 21 
in enclosure  1         |
|                      |           |            | Drive in slot 20 
in enclosure  1         |
|                      |           |            | Drive in slot 19 
in enclosure  1         |
|                      |           |            | Drive in slot 18 
in enclosure  1         |
|                      |           |            | Drive in slot 17 
in enclosure  1         |
|                      |           |            | Drive in slot 16 
in enclosure  1         |
|                      |           |            | Drive in slot 15 
in enclosure  1         |
|                      |           |            | Drive in slot 14 
in enclosure  1         |
|                      |           |            | Drive in slot 13 
in enclosure  1         |
|                      |           |            | Drive in slot 12 
in enclosure  1         |
|                      |           |            | Drive in slot 11 
in enclosure  1         |
|                      |           |            | Drive in slot 10 
in enclosure  1         |
|                      |           |            | Drive in slot  9 
in enclosure  1         |

https://www.ibm.com/developerworks/community/blogs/anthonyv/entry/updating_storwize_v7000_drive_code1?lang=en 2/6
30/1/2015 Updating Storwize V7000 drive code (Anthony's Blog: Using System Storage ­ An Aussie Storage Blog)
|                      |           |            | Drive in slot  8 
in enclosure  1         |
|                      |           |            | Drive in slot  5 
in enclosure  1         |
|                      |           |            | Drive in slot  6 
in enclosure  1         |
+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+

Step 2:  Upload the drive microcode package
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):

pscp ‐i anthonyv.ppk IBM2076_DRIVE_20110928 anthonyv@9.191.0.78:/home/
admin/upgrade

Step 3:  Apply the drive software
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

https://www.ibm.com/developerworks/community/blogs/anthonyv/entry/updating_storwize_v7000_drive_code1?lang=en 3/6
30/1/2015 Updating Storwize V7000 drive code (Anthony's Blog: Using System Storage ­ An Aussie Storage Blog)
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:

svctask applydrivesoftware ‐file IBM2076_DRIVE_20110928 ‐type 
firmware ‐drive 23

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:

for did in 19 20;do echo "Updating drive "$did;svctask 
applydrivesoftware ‐file IBM2076_DRIVE_20110928 ‐type firmware ‐
drive $did;sleep 10s;done

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_DRIV
E_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.

Once we have upgraded every drive, it is time for a final check.

Step 4: Confirm all drives are updated
0

Tweet 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?
2

Me gusta 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
2

Now run the software upgrade test utility again:

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.

Tags:  drive storwize v7000 microcode firmware

Me gusta A 2 personas les gusta esto.
Regístrate para ver qué les gusta
a tus amigos.

DISCOVER RELATED RESOURCES TAGGED [drive storwize v7000 microcode firmware]

This Blog All Blogs Reddit Del.icio.us Twitter


drive drive drive drive drive
storwize storwize storwize storwize storwize
v7000 v7000 v7000 v7000 v7000
microcode microcode microcode microcode microcode

https://www.ibm.com/developerworks/community/blogs/anthonyv/entry/updating_storwize_v7000_drive_code1?lang=en 4/6
30/1/2015 Updating Storwize V7000 drive code (Anthony's Blog: Using System Storage ­ An Aussie Storage Blog)
firmware firmware firmware firmware firmware

Add a Comment  More Actions 

Comments (16) Add a Comment   More Actions 

1  Khue  commented Nov 8 2011 Permalink

I actually upgraded the v7000 before doing the drive firmware update. I am actually trying to do the
drive update now and I am getting an error message. http://i.imgur.com/R9aHd.png May just want
to add a quick note to do the drives prior to doing the upgrade to 6.2.0.4 or simply just place your
note at the end of the blog, to the beginning. =)

2  anthonyv  commented Nov 8 2011 Permalink

Duh! Thanks for pointing this out. <br /> I have updated the blog entry to reflect this. <br />

3  Khue  commented Nov 8 2011 Permalink

I got some results from just running the following: svcupgradetest ­f ­d. It didn't return any info, and I
am assuming that means all of my hard drives are up to date. According to your script all 23 of my
ST9300603SS are at firmware level B35C. Here is a quick screen print:
http://i.imgur.com/Qwkpa.png. Appears like all my hard drives are running the most recent code
correct? <br />

4  anthonyv  commented Nov 8 2011 Permalink

you are correct. In fact the ­f flag is the way to go and avoids the issue you saw with being on
6.2.0.4 <br /> Thanks for the comments,

5  djole_k  commented Nov 15 2011 Permalink

Can anyone explain me why it is NOT possible to put explanations like this in the official
documentation. When I read the things about drive firmware upgrade in the Information Center its
just a poor part of information you need. And it is not helpfull to recommend a "­force" option as a
solution if the upgrade is not successful. <div>&nbsp;</div> But at least one question: Is this kind of
upgrade really concurrent? I compare the V7000 with the a DS3000 or DS5000. OK, V7000 is
better from every kind of view. But the LSI Systems do not support a cuncurrent update for the
drives. And it's a official statement. What is the official statement for the V7000? <div>&nbsp;</div>
Thanks!

6  anthonyv  commented Nov 15 2011 Permalink

So the good news is that an official tool is going to be released soon that will make my blog post
redundant. Until then, I agree that the documentation is not the best.... but it gives me something to
blog about. <div>&nbsp;</div> As to why or how it is concurrent... the SAS drives can update
firmware much much quicker than the old FC disks due to newer tech. There are some FC drives
that can a thing called QnR (quick and releable) update, but not all of them.

7  Woody@GCPS  commented Nov 20 2011 Permalink

In the section to upgrade every single drive in the machine (regardless of their level), you need to
add svctask command before applydrivesoftware: <div>&nbsp;</div> 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

8  anthonyv  commented Nov 20 2011 Permalink

Thanks Woody. You are absolutely right. <br /> The command will work fine if your on 6.2 code, but
not on 6.1 code. <br /> I strangely added the svcinfo headers but not svctask. <br /> I have
corrected every instance to add svctask. <div>&nbsp;</div> Really appreciate you letting me know.

9  sands68  commented Aug 27 2012 Permalink

Any sign of the drive firmware upgrade tool? <br /> Not being an linux guru this command line
upgrade process is painfull!

10  CNBJ_Roman_Shatalov  commented Aug 29 2012 Permalink

Hi Anthony. <div>&nbsp;</div> Thanks for very interesting and useful article. <div>&nbsp;</div>
Please, tell me where to download the guide to scripts's writing, I have a manual command line
only, <div>&nbsp;</div> And how i can to remove the Upgrade Test Utility and microcode package
from Storwize? <div>&nbsp;</div> Thanks.

11  avandewerdt  commented Aug 30 2012 Permalink

Hi Guys, the update tool is sadly not yet available. Best direct this question to your local IBM Sales

https://www.ibm.com/developerworks/community/blogs/anthonyv/entry/updating_storwize_v7000_drive_code1?lang=en 5/6
30/1/2015 Updating Storwize V7000 drive code (Anthony's Blog: Using System Storage ­ An Aussie Storage Blog)
Rep. <div>&nbsp;</div> As for a guide on script writing, there is no such thing, but I did write a post
here that might help, also check the comments for some good links: <div>&nbsp;</div>
https://aussiestorageblog.wordpress.com/2011/05/12/gui­vs­cli­sharing­the­love/ <br />
https://aussiestorageblog.wordpress.com/2011/11/02/some­tips­for­using­the­svc­and­storwize­
v7000­command­line­interface/ <div>&nbsp;</div> As for removing the files, there is no real need
to do so. They are in the /dumps folder but there is no root access to files on SVC (by design).

12  zsamboki  commented Jan 29 2013 Permalink

Hi, Anthony! <br /> Thank you for this article. I need to upgrade our customers V7000's drives
firmwares but the IBM Information Center says that the drive upgrade may make offline the
volumes if it has dependent extents. <br /> "Run the following command for the drive that you are
upgrading. <div>&nbsp;</div> lsdependentvdisks ­drive drive_id <div>&nbsp;</div> If any volumes
are returned, continuing with this procedure takes the volumes offline. To avoid losing access to
data, resolve any redundancy errors to remove this problem before you continue with the upgrade
procedure." <div>&nbsp;</div> Is this means that the the customer must take offline all applications
that may use the relevant disks or just use the force option and the procedure will so quick that it
will not cause any problem? Thanks

13  avandewerdt  commented Jan 29 2013 Permalink

Its a great question, my understanding is that the only time you will get dependant vdisks is if you
use RAID0 or have a RAID5/6/10 array with failed drives. The update process should run very fast,
but if you did have dependant VDisks, then the cache code may not have enough time to do a
predictive rebuild to calculate the data on a a drive being updated. <div>&nbsp;</div> Does
lsdependentvdisks return anything?

14  avandewerdt  commented Jan 29 2013 Permalink

Its a great question, my understanding is that the only time you will get dependant vdisks is if you
use RAID0 or have a RAID5/6/10 array with failed drives. The update process should run very fast,
but if you did have dependant VDisks, then the cache code may not have enough time to do a
predictive rebuild to calculate the data on a a drive being updated. <div>&nbsp;</div> Does
lsdependentvdisks return anything?

15  zsamboki  commented Jan 30 2013 Permalink

I checked the dependent vdisks and it does not list any vdisk. In my understanding it means it is
safe to upgrade online the drive firmware. I will check it tonight. <br /> The documentation not
exactly says wheter it is concurrent or not. <div>&nbsp;</div> For the sake of no having failure I
added an extra line to your script that lists the dependant disks. <br /> svcinfo lsdrive ­nohdr | while
read driveid rest <br /> do <br /> lsdrive $driveid | while read id value <br /> do <br /> if [ "$id" ==
"firmware_level" ]; then <br /> echo "$driveid ==&gt; Firmware leve: $value " <br /> printf "Listing
dependant disks: ";svcinfo lsdependentvdisks ­drive $driveid; echo " ...Done" <br /> fi <br /> done
<br /> done <br /> Thanks for your help.

Show:  10  20  30  items per page 1 2 Previous  Next

Previous Entry  Main  Next Entry

About Feeds Report abuse Faculty


Help Newsletters Terms of use Students
Contact us Follow Third party notice Business Partners

Submit content Like IBM privacy


IBM accessibility

https://www.ibm.com/developerworks/community/blogs/anthonyv/entry/updating_storwize_v7000_drive_code1?lang=en 6/6

Anda mungkin juga menyukai