Owners of a IBM M1015 / LSI 9220-8i controller can use this utility to map controller ports to drives.
I have a 24 bay disk chassis and use it to create a physical map of which drive is in which slot.
The tool can also show the temperature of the drive.
root@nano:~# lsidrivemap temp | 37 | 40 | 40 | 37 | | 36 | 36 | 37 | 36 | | 35 | 37 | 36 | 36 | | 35 | 37 | 36 | 35 | | 35 | 36 | 37 | 36 | | 34 | 35 | 36 | 35 | root@nano:~# lsidrivemap disk | sdr | sds | sdt | sdq | | sdu | sdv | sdx | sdw | | sdi | sdl | sdaa | sdm | | sdj | sdk | sdn | sdo | | sdb | sdc | sde | sdf | | sda | sdd | sdh | sdg | root@nano:~# lsidrivemap wwn | 5000cca23dc53843 | 5000cca23dc52fea | 5000cca23dc31656 | 5000cca23dc01655 | | 5000cca23dc459ee | 5000cca22bf0f4c3 | 5000cca22bef486a | 5000cca23dc51764 | | 5000cca23dc186cf | 5000cca23dc02062 | 5000cca23dda5a33 | 5000cca23dd398fa | | 5000cca23dd56dfb | 5000cca23dd3a8cd | 5000cca23dd9b7df | 5000cca23dda6ae9 | | 5000cca23dd04ded | 5000cca23dd54779 | 5000cca23dd59e65 | 5000cca23dd59b65 | | 5000cca23dd45619 | 5000cca23dd57131 | 5000cca23dd329ba | 5000cca23dd4f9d6 |
The wwn name of a drive is found in /dev/disk/by-id/
The output is based on my 24 bay drive chassis that has six rows of four drives. You may need to customise the 'print_controller' function to suit your own needs.
The script reads the WWN serial from the drive and uses it to find the drive name in /dev/disk/by-id. If the megacli command does not return a WWN, which happens on older WD drives for me, no data is returned.
- The script requires Python 2.7 or higher.
- LSI command line utility megacli or megacli64 (google for a download)
- put the /opt/MegaRAID/MegaCli/ directory in your path and either create a symbolic link to MegaCli or MegaCli64 with the name of 'megacli' in that folder.