can I switch from IR->IT firmware with ZFS on Linux? [ANSWER=YES]

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

BLinux

cat lover server enthusiast
Jul 7, 2016
2,669
1,081
113
artofserver.com
I'm working on a machine with a LSI SAS3008 SAS controller with IR firmware. There are 8 HDDs connected to this in pass-thru/HBA mode and they are in a ZFS raidz2 pool. The firmware is ancient, something like 7.0 or something like that. I'm considering upgrading the firmware to the latest P16 (just came out a week ago) but in the process, I thought I might as well switch it to IT firmware. The intended use is to keep using ZFS on Linux with those 8 drives.

So, I'm just wondering, since the drives are already in pass-thru mode with IR firmware, if I switch to IT firmware, will I be able to import the ZFS pool after rebooting into IT firmware? There is data in that pool that would prefer to remain intact. of course, have backups too - but rather not go through the lengthy process of re-creating the pool and restoring the data.
 

i386

Well-Known Member
Mar 18, 2016
4,220
1,540
113
34
Germany
RAID Controller usually write some Meta Data on the hdds/ssds, zfs will have Problems Importing These drives
 

BLinux

cat lover server enthusiast
Jul 7, 2016
2,669
1,081
113
artofserver.com
RAID Controller usually write some Meta Data on the hdds/ssds, zfs will have Problems Importing These drives
that's not always true. i've imported ZFS pools that were originally created as single disk RAID0 on Dell PERC RAID controllers, at least with ZoL this is very possible. i've just never tried IR -> IT firmware with drives that are already in pass-thru mode in IR firmware.
 

whitey

Moderator
Jun 30, 2014
2,766
868
113
41
I honestly believe you will be just fine switching from IR-IT mode and the zpool will be happy as a pig in sh|t :-D and import cleanly w/ all data in tact. But yeah keep that backup handy and verify it is good before blindly believing me just as a double CYA hah!

This is the process I used to flash my 9341-8i's (12Gbps/3008 chipset based) a yr or so ago to P14 if memory serves me correct on the release. Please check/research instructions just to sanity check me but I am fairly certain this is the correct procedure.

M1215 xFlash/LSI 9340-8i/9341-8i (LSI 9300-8i or LSI 3008)

Jump J6

* Boot FreeDOS *

sas3flsh.exe -f SAS9300_8i_IT.bin -noreset

* Power Down *
* Remove Jumper *
* Boot FreeDOS *

sas3flsh.exe -o -e 7
sas3flsh.exe -f SAS9300_8i_IT.bin -b mptsas3.rom -b mpt3x64.rom
sas3flsh.exe -o -sasadd 500605BXXXXXXXXXX

* Reboot *
 

ttabbal

Active Member
Mar 10, 2016
743
207
43
47
I'm 90% sure I did this without realizing it when I migrated from my old server. I didn't flash the HBAs that I was using before and I believe that like most, they came with IR firmware. I did flash the SAS2 HBAs and the pool imported fine.

If in doubt, I would test it. A pair of old drives in a mirror should be enough to test importing to ensure it works. And always have a backup. :)
 

Caleb

Member
Nov 16, 2015
39
8
8
35
I did this in the past.... didn't realize it would possibly be a problem. It worked out okay to my knowledge.
 

BLinux

cat lover server enthusiast
Jul 7, 2016
2,669
1,081
113
artofserver.com
Thanks guys. Well, I took the plunge...

So, to confirm, YES... flashing from IR->IT mode firmware, the zfs pool imported just fine and transparently; I didn't do anything other than boot the system up after flashing the firmware. I went from P7 IR firmware to P16 IT firmware.

I did have to boot FreeDOS and use the DOS sas3flsh.exe utility as the Linux version would not successfully erase the IR firmware from flash and so I could not flash the IT firmware. Also, all too often I see people doing too much erasing... just level 6 is enough. So, to recap:

1) shutdown system containing ZFS pool on IR firmware
2) boot FreeDOS
3) save flash info just in case:

DOS> sas3flsh.exe -c 0 -list > sas3info.txt

4) erase flash with level 6 only (this preserves the SAS address)

DOS> sas3flsh.exe -c 0 -o -e 6

5) flash IT firmware, BIOS, UEFI

DOS> sas3flsh.exe -c 0 -o -f SAS9300_8i_IT.bin -b mptsas3.rom -b mpt3x64.rom

Note: this is DOS, the SAS9300_8i_IT.bin is actually shortened to SAS930~1.BIN.

6) reboot to Linux and ZFS automatically imports the pool
 
  • Like
Reactions: dandanio and Caleb

BLinux

cat lover server enthusiast
Jul 7, 2016
2,669
1,081
113
artofserver.com
What sort of functionality do you get with the IT firmware now?
only a few things... may or may not matter:

1) udev in Linux now gives /dev/disk/by-id/ names that contain model/serial number. referencing these in ZFS makes it easier to identify the drives if/when there is a problem. with the IR firmware, udev created wwn- entries only.

2) in the past, (not on this machine) I could not use the sg_utils stuff on hard drives in pass-thru mode in IR firmware. if you ever need to run something like sg_format, there's not /dev/sgX target to reference. with IT firmware, i have /dev/sgX.