How do I resize a logical volume to the size of the filesystem within it?How can I resize a regular (non-LVM) partition?LVM: resize2fs not resizingResizing lvm2 logical volume and file system: Exact sizes?Any way to recover ext4 filesystems from a deleted LVM logical volume?Can't mount home after trying to resize (bad geometry: block count exceeds size of device).Unexpected behaviour from dfHow to enlarge the root partition on Centos 7 / ibdata1 getting too largeExtending a logical volume , stealing from othersExtend lvm logical volumeLogical Volume /dev/centos/root is extended but /dev/mapper/centos-root is not

How to calculate rate of axial precession?

Why are the capacitors necessary for a quartz crystal?

What does にとり mean?

Is throwing dice a stochastic or a deterministic process?

In "Avengers: Endgame", what does this name refer to?

Is Iron Man stronger than the Hulk?

Should homeowners insurance cover the cost of the home?

The Adventures of a Chocolate Cookie

Counting the Number of Real Roots of A Polynomial

Why would one crossvalidate the random state number?

Connecting sentences with dictionary form verbs?

Does running exec do anything?

Endgame puzzle: How to avoid stalemate and win?

How to pass hash as password to ssh server

Looking for sci-fi book based on Hinduism/Buddhism

Is there a proof that the set of real numbers can exactly represent distances?

What is a common way to tell if an academic is "above average," or outstanding in their field? Is their h-index (Hirsh index) one of them?

What happens if I accidentally leave an app running and click "Install Now" in Software Updater?

Sparring against two opponents test

What was the first story to feature the plot "the monsters were human all along"?

Dirichlet series with a single zero

As black, how should one respond to 4. Qe2 by white in the Russian Game, Damiano Variation?

Can full drive backup be used instead of MSSQL database backup?

Sci-fi/fantasy book - ships on steel runners skating across ice sheets



How do I resize a logical volume to the size of the filesystem within it?


How can I resize a regular (non-LVM) partition?LVM: resize2fs not resizingResizing lvm2 logical volume and file system: Exact sizes?Any way to recover ext4 filesystems from a deleted LVM logical volume?Can't mount home after trying to resize (bad geometry: block count exceeds size of device).Unexpected behaviour from dfHow to enlarge the root partition on Centos 7 / ibdata1 getting too largeExtending a logical volume , stealing from othersExtend lvm logical volumeLogical Volume /dev/centos/root is extended but /dev/mapper/centos-root is not






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








1















Target system is CentOS 6.x but resizing operations will be done in %pre section of CentOS 7.6 kickstart.



I have already run resize2fs -M /dev/mapper/centos-home successfully.
If I mount the volume, df says it's 100% full. This is good.



Now I need to reduce the size of the logical volume to match the size of the ext4 filesystem. I don't want to use rough estimates. I also don't need to conserve every possible extent. Within a >= 1GB range is fine. i.e. volume can be reduced to 1GB >= filesystem size.



The target volume does contain data I can't lose. I don't have shell (or any other) access to the system. The system has no CentOS repos available so I cannot upgrade it. I don't even have remote hands I can talk to. I'm using a different computer to build and test my install ISO on.



My %pre syntax/script needs to safely reduce /dev/mapper/centos-home so I can create a new root volume for CentOS 7.6 install. Yes, this entire proposition is nuts.










share|improve this question






















  • usedGB=$(df -h $homevol | tail -1 | awk 'print $2' | awk 'printf("%dn",$1 + 1)') ; echo $usedGB prints '5' How do I use pass my variable $usedGB to lvreduce ?

    – mr.zog
    Apr 26 at 17:29












  • lvreduce -L -$usedGBG /dev/mapper/centos-home WARNING: Reducing active logical volume to 15.00 GiB. . . . but echo $usedGB reports only 5GB . . .

    – mr.zog
    Apr 26 at 17:39












  • OK. I needed $usedGBG not -$usedGBG Had to remove the hyphen.

    – mr.zog
    Apr 26 at 17:42


















1















Target system is CentOS 6.x but resizing operations will be done in %pre section of CentOS 7.6 kickstart.



I have already run resize2fs -M /dev/mapper/centos-home successfully.
If I mount the volume, df says it's 100% full. This is good.



Now I need to reduce the size of the logical volume to match the size of the ext4 filesystem. I don't want to use rough estimates. I also don't need to conserve every possible extent. Within a >= 1GB range is fine. i.e. volume can be reduced to 1GB >= filesystem size.



The target volume does contain data I can't lose. I don't have shell (or any other) access to the system. The system has no CentOS repos available so I cannot upgrade it. I don't even have remote hands I can talk to. I'm using a different computer to build and test my install ISO on.



My %pre syntax/script needs to safely reduce /dev/mapper/centos-home so I can create a new root volume for CentOS 7.6 install. Yes, this entire proposition is nuts.










share|improve this question






















  • usedGB=$(df -h $homevol | tail -1 | awk 'print $2' | awk 'printf("%dn",$1 + 1)') ; echo $usedGB prints '5' How do I use pass my variable $usedGB to lvreduce ?

    – mr.zog
    Apr 26 at 17:29












  • lvreduce -L -$usedGBG /dev/mapper/centos-home WARNING: Reducing active logical volume to 15.00 GiB. . . . but echo $usedGB reports only 5GB . . .

    – mr.zog
    Apr 26 at 17:39












  • OK. I needed $usedGBG not -$usedGBG Had to remove the hyphen.

    – mr.zog
    Apr 26 at 17:42














1












1








1








Target system is CentOS 6.x but resizing operations will be done in %pre section of CentOS 7.6 kickstart.



I have already run resize2fs -M /dev/mapper/centos-home successfully.
If I mount the volume, df says it's 100% full. This is good.



Now I need to reduce the size of the logical volume to match the size of the ext4 filesystem. I don't want to use rough estimates. I also don't need to conserve every possible extent. Within a >= 1GB range is fine. i.e. volume can be reduced to 1GB >= filesystem size.



The target volume does contain data I can't lose. I don't have shell (or any other) access to the system. The system has no CentOS repos available so I cannot upgrade it. I don't even have remote hands I can talk to. I'm using a different computer to build and test my install ISO on.



My %pre syntax/script needs to safely reduce /dev/mapper/centos-home so I can create a new root volume for CentOS 7.6 install. Yes, this entire proposition is nuts.










share|improve this question














Target system is CentOS 6.x but resizing operations will be done in %pre section of CentOS 7.6 kickstart.



I have already run resize2fs -M /dev/mapper/centos-home successfully.
If I mount the volume, df says it's 100% full. This is good.



Now I need to reduce the size of the logical volume to match the size of the ext4 filesystem. I don't want to use rough estimates. I also don't need to conserve every possible extent. Within a >= 1GB range is fine. i.e. volume can be reduced to 1GB >= filesystem size.



The target volume does contain data I can't lose. I don't have shell (or any other) access to the system. The system has no CentOS repos available so I cannot upgrade it. I don't even have remote hands I can talk to. I'm using a different computer to build and test my install ISO on.



My %pre syntax/script needs to safely reduce /dev/mapper/centos-home so I can create a new root volume for CentOS 7.6 install. Yes, this entire proposition is nuts.







centos7 centos6 lvm kickstart






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Apr 26 at 17:17









mr.zogmr.zog

43711024




43711024












  • usedGB=$(df -h $homevol | tail -1 | awk 'print $2' | awk 'printf("%dn",$1 + 1)') ; echo $usedGB prints '5' How do I use pass my variable $usedGB to lvreduce ?

    – mr.zog
    Apr 26 at 17:29












  • lvreduce -L -$usedGBG /dev/mapper/centos-home WARNING: Reducing active logical volume to 15.00 GiB. . . . but echo $usedGB reports only 5GB . . .

    – mr.zog
    Apr 26 at 17:39












  • OK. I needed $usedGBG not -$usedGBG Had to remove the hyphen.

    – mr.zog
    Apr 26 at 17:42


















  • usedGB=$(df -h $homevol | tail -1 | awk 'print $2' | awk 'printf("%dn",$1 + 1)') ; echo $usedGB prints '5' How do I use pass my variable $usedGB to lvreduce ?

    – mr.zog
    Apr 26 at 17:29












  • lvreduce -L -$usedGBG /dev/mapper/centos-home WARNING: Reducing active logical volume to 15.00 GiB. . . . but echo $usedGB reports only 5GB . . .

    – mr.zog
    Apr 26 at 17:39












  • OK. I needed $usedGBG not -$usedGBG Had to remove the hyphen.

    – mr.zog
    Apr 26 at 17:42

















usedGB=$(df -h $homevol | tail -1 | awk 'print $2' | awk 'printf("%dn",$1 + 1)') ; echo $usedGB prints '5' How do I use pass my variable $usedGB to lvreduce ?

– mr.zog
Apr 26 at 17:29






usedGB=$(df -h $homevol | tail -1 | awk 'print $2' | awk 'printf("%dn",$1 + 1)') ; echo $usedGB prints '5' How do I use pass my variable $usedGB to lvreduce ?

– mr.zog
Apr 26 at 17:29














lvreduce -L -$usedGBG /dev/mapper/centos-home WARNING: Reducing active logical volume to 15.00 GiB. . . . but echo $usedGB reports only 5GB . . .

– mr.zog
Apr 26 at 17:39






lvreduce -L -$usedGBG /dev/mapper/centos-home WARNING: Reducing active logical volume to 15.00 GiB. . . . but echo $usedGB reports only 5GB . . .

– mr.zog
Apr 26 at 17:39














OK. I needed $usedGBG not -$usedGBG Had to remove the hyphen.

– mr.zog
Apr 26 at 17:42






OK. I needed $usedGBG not -$usedGBG Had to remove the hyphen.

– mr.zog
Apr 26 at 17:42











2 Answers
2






active

oldest

votes


















2














Do it in one step.



/sbin/lvresize --resizefs --size -8g /dev/mapper/centos-home


Where 8g is the size of the root volume you want to install.



Constant size may be acceptable because the size of your new install is predictable.






share|improve this answer























  • /sbin/lvresize --resizefs --size -$usedGBg /dev/mapper/centos-root This is the cleanest way.

    – mr.zog
    Apr 26 at 19:15











  • If you have a script to calculate the maximum reduction, answer your own question with it. I find the constant reduction safer because if it cannot reduce by enough it aborts.

    – John Mahowald
    Apr 27 at 12:03











  • I don't understand what you mean by "constant reduction."

    – mr.zog
    Apr 27 at 20:22











  • By constant reduction I mean hard coded reducing by 8g to simplify things. Consistent sizing of the volume, and if it fails there won't be enough space for the new volume. Your script to detect how much to reduce is a different approach.

    – John Mahowald
    Apr 27 at 20:26


















0














It's not really a script per se.



rootvol=/dev/mapper/vg_stt-lv_root
mkdir /tmp/rootlv
mount -t ext4 -o ro $rootvol /tmp/rootlv
usedROOT=$(df -h $rootvol | tail -1 | awk 'print $2' | awk 'printf("%dn",$1 + 1)')
umount /tmp/rootvol
/sbin/lvresize --resizefs --size $usedROOTg $rootvol





share|improve this answer























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "2"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f964777%2fhow-do-i-resize-a-logical-volume-to-the-size-of-the-filesystem-within-it%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2














    Do it in one step.



    /sbin/lvresize --resizefs --size -8g /dev/mapper/centos-home


    Where 8g is the size of the root volume you want to install.



    Constant size may be acceptable because the size of your new install is predictable.






    share|improve this answer























    • /sbin/lvresize --resizefs --size -$usedGBg /dev/mapper/centos-root This is the cleanest way.

      – mr.zog
      Apr 26 at 19:15











    • If you have a script to calculate the maximum reduction, answer your own question with it. I find the constant reduction safer because if it cannot reduce by enough it aborts.

      – John Mahowald
      Apr 27 at 12:03











    • I don't understand what you mean by "constant reduction."

      – mr.zog
      Apr 27 at 20:22











    • By constant reduction I mean hard coded reducing by 8g to simplify things. Consistent sizing of the volume, and if it fails there won't be enough space for the new volume. Your script to detect how much to reduce is a different approach.

      – John Mahowald
      Apr 27 at 20:26















    2














    Do it in one step.



    /sbin/lvresize --resizefs --size -8g /dev/mapper/centos-home


    Where 8g is the size of the root volume you want to install.



    Constant size may be acceptable because the size of your new install is predictable.






    share|improve this answer























    • /sbin/lvresize --resizefs --size -$usedGBg /dev/mapper/centos-root This is the cleanest way.

      – mr.zog
      Apr 26 at 19:15











    • If you have a script to calculate the maximum reduction, answer your own question with it. I find the constant reduction safer because if it cannot reduce by enough it aborts.

      – John Mahowald
      Apr 27 at 12:03











    • I don't understand what you mean by "constant reduction."

      – mr.zog
      Apr 27 at 20:22











    • By constant reduction I mean hard coded reducing by 8g to simplify things. Consistent sizing of the volume, and if it fails there won't be enough space for the new volume. Your script to detect how much to reduce is a different approach.

      – John Mahowald
      Apr 27 at 20:26













    2












    2








    2







    Do it in one step.



    /sbin/lvresize --resizefs --size -8g /dev/mapper/centos-home


    Where 8g is the size of the root volume you want to install.



    Constant size may be acceptable because the size of your new install is predictable.






    share|improve this answer













    Do it in one step.



    /sbin/lvresize --resizefs --size -8g /dev/mapper/centos-home


    Where 8g is the size of the root volume you want to install.



    Constant size may be acceptable because the size of your new install is predictable.







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Apr 26 at 17:43









    John MahowaldJohn Mahowald

    9,5291713




    9,5291713












    • /sbin/lvresize --resizefs --size -$usedGBg /dev/mapper/centos-root This is the cleanest way.

      – mr.zog
      Apr 26 at 19:15











    • If you have a script to calculate the maximum reduction, answer your own question with it. I find the constant reduction safer because if it cannot reduce by enough it aborts.

      – John Mahowald
      Apr 27 at 12:03











    • I don't understand what you mean by "constant reduction."

      – mr.zog
      Apr 27 at 20:22











    • By constant reduction I mean hard coded reducing by 8g to simplify things. Consistent sizing of the volume, and if it fails there won't be enough space for the new volume. Your script to detect how much to reduce is a different approach.

      – John Mahowald
      Apr 27 at 20:26

















    • /sbin/lvresize --resizefs --size -$usedGBg /dev/mapper/centos-root This is the cleanest way.

      – mr.zog
      Apr 26 at 19:15











    • If you have a script to calculate the maximum reduction, answer your own question with it. I find the constant reduction safer because if it cannot reduce by enough it aborts.

      – John Mahowald
      Apr 27 at 12:03











    • I don't understand what you mean by "constant reduction."

      – mr.zog
      Apr 27 at 20:22











    • By constant reduction I mean hard coded reducing by 8g to simplify things. Consistent sizing of the volume, and if it fails there won't be enough space for the new volume. Your script to detect how much to reduce is a different approach.

      – John Mahowald
      Apr 27 at 20:26
















    /sbin/lvresize --resizefs --size -$usedGBg /dev/mapper/centos-root This is the cleanest way.

    – mr.zog
    Apr 26 at 19:15





    /sbin/lvresize --resizefs --size -$usedGBg /dev/mapper/centos-root This is the cleanest way.

    – mr.zog
    Apr 26 at 19:15













    If you have a script to calculate the maximum reduction, answer your own question with it. I find the constant reduction safer because if it cannot reduce by enough it aborts.

    – John Mahowald
    Apr 27 at 12:03





    If you have a script to calculate the maximum reduction, answer your own question with it. I find the constant reduction safer because if it cannot reduce by enough it aborts.

    – John Mahowald
    Apr 27 at 12:03













    I don't understand what you mean by "constant reduction."

    – mr.zog
    Apr 27 at 20:22





    I don't understand what you mean by "constant reduction."

    – mr.zog
    Apr 27 at 20:22













    By constant reduction I mean hard coded reducing by 8g to simplify things. Consistent sizing of the volume, and if it fails there won't be enough space for the new volume. Your script to detect how much to reduce is a different approach.

    – John Mahowald
    Apr 27 at 20:26





    By constant reduction I mean hard coded reducing by 8g to simplify things. Consistent sizing of the volume, and if it fails there won't be enough space for the new volume. Your script to detect how much to reduce is a different approach.

    – John Mahowald
    Apr 27 at 20:26













    0














    It's not really a script per se.



    rootvol=/dev/mapper/vg_stt-lv_root
    mkdir /tmp/rootlv
    mount -t ext4 -o ro $rootvol /tmp/rootlv
    usedROOT=$(df -h $rootvol | tail -1 | awk 'print $2' | awk 'printf("%dn",$1 + 1)')
    umount /tmp/rootvol
    /sbin/lvresize --resizefs --size $usedROOTg $rootvol





    share|improve this answer



























      0














      It's not really a script per se.



      rootvol=/dev/mapper/vg_stt-lv_root
      mkdir /tmp/rootlv
      mount -t ext4 -o ro $rootvol /tmp/rootlv
      usedROOT=$(df -h $rootvol | tail -1 | awk 'print $2' | awk 'printf("%dn",$1 + 1)')
      umount /tmp/rootvol
      /sbin/lvresize --resizefs --size $usedROOTg $rootvol





      share|improve this answer

























        0












        0








        0







        It's not really a script per se.



        rootvol=/dev/mapper/vg_stt-lv_root
        mkdir /tmp/rootlv
        mount -t ext4 -o ro $rootvol /tmp/rootlv
        usedROOT=$(df -h $rootvol | tail -1 | awk 'print $2' | awk 'printf("%dn",$1 + 1)')
        umount /tmp/rootvol
        /sbin/lvresize --resizefs --size $usedROOTg $rootvol





        share|improve this answer













        It's not really a script per se.



        rootvol=/dev/mapper/vg_stt-lv_root
        mkdir /tmp/rootlv
        mount -t ext4 -o ro $rootvol /tmp/rootlv
        usedROOT=$(df -h $rootvol | tail -1 | awk 'print $2' | awk 'printf("%dn",$1 + 1)')
        umount /tmp/rootvol
        /sbin/lvresize --resizefs --size $usedROOTg $rootvol






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Apr 27 at 19:55









        mr.zogmr.zog

        43711024




        43711024



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Server Fault!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f964777%2fhow-do-i-resize-a-logical-volume-to-the-size-of-the-filesystem-within-it%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

            What if the end-user didn't have the required library?What is setup.py?What is a clean, pythonic way to have multiple constructors in Python?What does Ruby have that Python doesn't, and vice versa?What is the reason for having '//' in Python?How do I create a namespace package in Python?How to package shared objects that python modules depend on?setuptools vs. distutils: why is distutils still a thing?Navigation in Windows 10 vs code not going to virtualenv library when the same library is installed at user levelPython create package for local usePackaging a project that uses multiple python versionsWhy is permission denied on pip install except for when “--user” is included at end of command?

            Esgonzo ibérico Índice Descrición Distribución Hábitat Ameazas Notas Véxase tamén "Acerca dos nomes dos anfibios e réptiles galegos""Chalcides bedriagai"Chalcides bedriagai en Carrascal, L. M. Salvador, A. (Eds). Enciclopedia virtual de los vertebrados españoles. Museo Nacional de Ciencias Naturales, Madrid. España.Fotos