• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    dmraid and mdadm?

    Scheduled Pinned Locked Moved Unsolved
    FOG Problems
    3
    33
    8.7k
    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.
    • Tom ElliottT
      Tom Elliott @rbaldwin
      last edited by

      @rbaldwin But they are supported, they’re just to supporting auto assembly. You showed that they did get detected if you structured the call.

      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

      Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

      Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

      1 Reply Last reply Reply Quote 0
      • Tom ElliottT
        Tom Elliott @Tom Elliott
        last edited by

        Maybe this could help?

        mdadm --assemble --scan --metadata=imsm
        mdadm --incremental --run --scan --metadata=imsm
        

        I am hoping to find something.

        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

        1 Reply Last reply Reply Quote 0
        • Wayne WorkmanW
          Wayne Workman
          last edited by

          Can we please summarize this thread in 1 or 2 posts please? It’s now 24 posts long and getting unwieldy. I want to help - probably as others do - but I’ve just read through 30 other posts and it’s now 1:30 AM.

          Please someone summarize this thread.

          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
          Daily Clean Installation Results:
          https://fogtesting.fogproject.us/
          FOG Reporting:
          https://fog-external-reporting-results.fogproject.us/

          Tom ElliottT 1 Reply Last reply Reply Quote 0
          • Tom ElliottT
            Tom Elliott @Wayne Workman
            last edited by

            @Wayne-Workman I guess I don’t understand what you mean “summarize”.

            Essentially (if this is what you mean), @rbaldwin has a RAID setup that he’d like to capture/deploy images from/to. The common RAID setup is using a metadata of 0.90 (which I suspect is causing the inability to assemble the array currently).

            This thread is trying to get the RAID array in use to work with FOG. I’m trying to get it to figure out how to do this without necessarily having to know the drives and layouts just to perform the tasking.

            Capture is really the only thing that should need this except we capture partition data based on MBR/GPT layout on the disk. This will need to be rethought so images can be deployed to any disk regardless of if it is a RAID array. – This is for later though (more a todo than will be done right now).

            So far, however, we have not had any luck so many of the runs on here is just a collaborative effort to see if we can get it working automatically.

            All we’re trying to do right now is figure out a means to get this somewhat automated. If we cannot I might add a postinitload feature that will allow users to perform tasks after the init is loaded but before fog start performing its own tasks.

            Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

            Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

            Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

            R 1 Reply Last reply Reply Quote 0
            • R
              rbaldwin @Tom Elliott
              last edited by

              @Tom-Elliott

              I agree with this summary. I would just like to add I have modified my copy to execute a specified postinit script. I’ve done this by “kernel arguments”, I have added two and modified S99FOG to look for them and run the specified script. This way my Lenovo P50 hosts can run the commands to manually build the RAID array postinit and prior to imaging.

              I would share my changes here, but I’m unsure the rules. Would that be welcome here?

              Tom ElliottT 2 Replies Last reply Reply Quote 0
              • Tom ElliottT
                Tom Elliott @rbaldwin
                last edited by

                @rbaldwin Any help is always welcome. I’m not perfect.

                Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                R 1 Reply Last reply Reply Quote 0
                • Tom ElliottT
                  Tom Elliott @rbaldwin
                  last edited by

                  @rbaldwin while we await your suggestions/ideas/etc… Anyway we could have you try the --metadata flag during auto assembly? While I will likely add the postinitload feature anyway, I’d still be interested in seeing if we can get automated detection working.

                  Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                  Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                  Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                  R 2 Replies Last reply Reply Quote 0
                  • R
                    rbaldwin @Tom Elliott
                    last edited by rbaldwin

                    @Tom-Elliott
                    Here is how I added a postinitscript to my running FOG.

                    Using information from here I modified my init image (https://wiki.fogproject.org/wiki/index.php?title=Modifying_the_Init_Image)

                    In the S99FOG.sh I added at line 18:

                    if [ ! -z "$postinitscript" ]; then
                        mkdir /images
                        mount -o nolock,proto=tcp,rsize=32768,intr,noatime $storage /images
                        /images/postinitscripts/$postinitscript
                       umount /images
                    fi
                    

                    I on the server I created a folder /images/dev/postinitscripts and a symbolic link to it in /images so that /images/postiniscripts is a valid path booting in both capture and deploy mode.

                    mkdir /images/dev/postinitscripts
                    ln -s /images/dev/postinitscripts /images/postinitscripts
                    

                    Then I created the /images/postinitscripts/P50.sh which is a bash script which executes my mdadm build command to build my RAID array.

                    #!/bin/sh
                    #
                    mdadm --build /dev/md0 --raid-devices=2 --chunk=16 --level=0 /dev/sda /dev/sdb
                    

                    Then on my P50 host I added the postinitscript=P50.sh to the “Host Kernel Arguments”

                    This way when the host boots in capture or deploy mode, S99FOG.sh checks to see if $postinitscript is set, if it is it mounts the images path and executes the specified script. I only have the one storage node, which is my FOG server. So I’m not sure if my method would work on a multinode configuration.

                    With this configuration I was able to boot and capture an image of my RAID configured Lenovo P50s and deploy that image to another identically configured Lenovo P50. Because the script can be specified per host, it’s customizable for other host which might need some postinit scripting.

                    1 Reply Last reply Reply Quote 1
                    • R
                      rbaldwin @Tom Elliott
                      last edited by rbaldwin

                      @Tom-Elliott said in dmraid and mdadm?:

                      @rbaldwin while we await your suggestions/ideas/etc… Anyway we could have you try the --metadata flag during auto assembly? While I will likely add the postinitload feature anyway, I’d still be interested in seeing if we can get automated detection working.

                      I’ll have a look at that parameter and get back with you.

                      Tom ElliottT 1 Reply Last reply Reply Quote 0
                      • Tom ElliottT
                        Tom Elliott @rbaldwin
                        last edited by

                        @rbaldwin I’ll likely still add the postinitload scripts though my implementation will likely be a little different.

                        For example, the S99fog.sh script should not deal with mounting anything (that should be handled in the fog system for ease. Also postinitscripts should probably exist in the dev folder because you might want to upload, not always download – just my suggestion).

                        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                        R 1 Reply Last reply Reply Quote 0
                        • R
                          rbaldwin @Tom Elliott
                          last edited by

                          @Tom-Elliott said in dmraid and mdadm?:

                          @rbaldwin I’ll likely still add the postinitload scripts though my implementation will likely be a little different.

                          For example, the S99fog.sh script should not deal with mounting anything (that should be handled in the fog system for ease. Also postinitscripts should probably exist in the dev folder because you might want to upload, not always download – just my suggestion).

                          I understand. My implementation is a dirty hack.

                          Tom ElliottT 1 Reply Last reply Reply Quote 1
                          • Tom ElliottT
                            Tom Elliott @rbaldwin
                            last edited by

                            @rbaldwin Mind trying out the working-RC-7 branch?

                            I’ve created the postinitscripts stuff.

                            The way it works is VERY similar to postdownload scripts, but runs before anything dealing with taskings is called (within the /bin/fog script).

                            It’s a “first” attempt so there may be some issues…

                            The “quick and dirty” documentation:

                            FOG Will create a folder in the capture folder of the server called postinitscripts. (E.G. typically /images/dev/postinitscripts)

                            Installer

                            FOG Will create a folder in the capture folder of the server called postinitscripts. (E.G. typically /images/dev/postinitscripts)
                            This will happen on the installer if the postinitscripts folder does not already exist.

                            FOS

                            1. When the init’s load and call the /bin/fog script (last part of S99fog IIRC) the postinitscripts directory will be mounted.
                            2. Right before the main script for the tasking is started, it will run through the postinitscripts as defined in the fog.postinst script.
                            3. Will unmount the nfs that was mounted so the download/upload tasks will be able to mount where they are expecting to get/put the data.

                            Note/Suggestion

                            When calling scripts I like to lean more to sourcing in the script rather than implicit call (. somescript vs somescript) as it will allow “fallthrough” of variables/functions within your postinit that you could use later on (say postdownloadscripts for example).

                            General needed knowledge

                            The fog.postinit script should really only be used to call other scripts but this is not a requirement. It is, after all, a bash script.

                            The scripts you want to use for postinit must go in the postinitscripts directory. They will also need to be executable. (Normal script type stuff).

                            Caution/Recommends

                            The sourced path is to the mountpoint naturally and stored in the variable $postinitpath.
                            You can directly get the path you want, but this variable should be used in my opinion.
                            In the case of download scripts the image mountpoint will always be:
                            /imagestorelocationonserver->/images.
                            In the case of upload scripts the image mountpoint will always be:
                            /imagestorelocation/dev->/images

                            In download mode, the dev folder would be visible directly. So a path of /images/dev/postinitscripts/somescript would work.

                            In upload mode, the dev folder would not be visible. So postinitscripts would never be accessible if you left the /dev/ in the path. I’ve added corrective items for this postinit to try to make sure this would not break the variable and skip it.

                            Summary

                            Hopefully all will be well and I got it right the first go around (highly unlikely but I can be hopeful right?) The init’s have been updated and should support this. I will run a test just to see (though I’m not mounting I should be able validate the system is working.

                            Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                            Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                            Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                            1 Reply Last reply Reply Quote 1
                            • R
                              rbaldwin @Tom Elliott
                              last edited by

                              @Tom-Elliott said in dmraid and mdadm?:

                              @rbaldwin while we await your suggestions/ideas/etc… Anyway we could have you try the --metadata flag during auto assembly? While I will likely add the postinitload feature anyway, I’d still be interested in seeing if we can get automated detection working.

                              Since mdadm --examine --scan shows the metadata for the array as metadata=imsm, I used that in my attempt.

                              madadm --assemble --scan --metadata=imsm

                              Same results as before, the array isn’t found.

                              1 Reply Last reply Reply Quote 0
                              • 1
                              • 2
                              • 2 / 2
                              • First post
                                Last post

                              144

                              Online

                              12.0k

                              Users

                              17.3k

                              Topics

                              155.2k

                              Posts
                              Copyright © 2012-2024 FOG Project