When you try to upgrade the code of the Storwize V3700 SAN, the testutility may tell you that you need to firmware upgrade your drives.
This procedure is designed for software 7.4 and later only, if not running this, see the bottom of this page: (Data Integrity Issue when Drive Detects Unreadable Data)
If you have firmware 7.4 and above, you can go into Pools -> Internal Storage -> Action -> Upgrade All
Drive upgrades can be performed whilst the system is performing I/O.
Here you can upload the Microcode file, this will generate a taske where it upgrades the firmware of ALL drives, if possible.
If there is one drive, not contained in the Microcode file, the update will fail and you have to do it manually through the CLI, when how is that done?
Firstly upload the firmware file to the cluster nodes with PSCP, which you can get here:
The type this in a command prompt:
pscp <path to the downloaded drive firmware file> superuser@<cluster-ip>:/home/admin/upgrade
After a minute or so, it should give you the promt back, you will not get any OK.
Then use Putty to get CLI access, get it form here: Putty Download Page
Connect to the CLI (Same IP as web interface) with the superuser account and password via SSH.
The task done from the webinterface tried to do this:
svctask applydrivesoftware -all -file /home/admin/upgrade/Lenovo_6099_DRIVE_20150619-6384413768703153345 -type firmware
But because of the “-all” parameter above, and in some environments, where there are drives that do not match the microcode, you will have to see the results of the testutility,as it will show the numbers of the disk to be upgraded.
As the file with the drive microcode was uploaded earlier, you can simply run it with this command (Disks: 2:3:4:5:6:7:8:9:11:12:13:14:15:16:17:18:19:20:21:23 will be upgraded here!)
svctask applydrivesoftware -drive 2:3:4:5:6:7:8:9:11:12:13:14:15:16:17:18:19:20:21:23 -file /home/admin/upgrade/Lenovo_6099_DRIVE_20150619-6384413768703153345 -type firmware
Now go to the webinterface and look at the “Running Tasks” icon at the bottom left, it should show xx number of tasks scheduled. Wait for this number to be “0” before continuing”
After this, you can run the testutility again and the drive microcode errors should be gone 😉