Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Creating an mptutil raid status and notifications

    Scheduled Pinned Locked Moved Development
    2 Posts 2 Posters 1.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      adam65535
      last edited by

      I noticed patches to update the gmirror widget, diagnostics to manipulate the raid, and notifications in 2.2.  I do have some systems using gmirror so that is awesome.

      I have some systems using Dell SAS controllers that can use the mptutil command to check raid status and manipulate the raid volumes.  mptutil is included in pfsense 2.2 so I am glad about that.  I am seriously thinking about duplicating the gmirror code/widget and adjust it for the mptutil tool renaming all the files but I wonder if it would be better to have a generic widget tool and have different backend .inc files so that someone could just put additional .inc files in without needing to adjust the gui .php code.  I wouldn't even attempt this if someone didn't recently contribute the code to make gmirror a whole lot more function so that I have something to look at for a beginning template.

      I have experience in embedded C code where I work even though I have been out of that role for awhile now.  I have tinkered with php and other languages like it but I am far from fluent in them.  Using the existing gmirror code though I certainly can use that to learn from.  The chances of me making the existing gui code modular so that it can work with gmirror and mptutil though would be more than I can achieve though I am sure.

      I am used to SVN and not Git also so there is a learning curve there too.

      I am sure it would take me 50 times longer than someone who knows PHP and familiar with pfsense gui development so it might take a looooong time for me to have all the time to do it but I am seriously thinking about it.

      Has anyone thought about this before?

      Example output (not from my systems… just a google search for an example):

      mptutil show config

      mpt0 Configuration: 2 volumes, 4 drives
          volume 0 (136G) RAID-1 OPTIMAL spans:
              drive 1 (137G) ONLINE <ibm-esxs mbd2147rc="" sb18="">SAS
              drive 0 (137G) ONLINE <ibm-esxs mbd2147rc="" sb18="">SAS
              spare pools: 0
          volume 0 (29G) RAID-1 OPTIMAL spans:
              drive 2 (30G) ONLINE <ssdsa2sh032g1gn 8850="">SATA
              drive 3 (30G) ONLINE <ssdsa2sh032g1gn 8850="">SATA
              spare pools: 0</ssdsa2sh032g1gn></ssdsa2sh032g1gn></ibm-esxs></ibm-esxs>

      1 Reply Last reply Reply Quote 0
      • jimpJ
        jimp Rebel Alliance Developer Netgate
        last edited by

        While generalization is good, unfortunately a lot of the RAID controller utilities work in such a wildly different fashion I'm not sure it could be effectively pulled off here.

        When I made the new gmirror code I tried to make things a little generalized so that the same style could be copied for other controllers and s/gmirror/myraidadapterutility/g

        Sounds like a job for OO and some class/inheritance mojo in the long run so that it could be made controller-independent.

        For now you can copy the files, adjust for the utility, and make a package that would install them and add the menu entry.

        Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

        Need help fast? Netgate Global Support!

        Do not Chat/PM for help!

        1 Reply Last reply Reply Quote 0
        • First post
          Last post
        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.