linux + lvextend vs lvresize - what are the differences

what are the diffrences between lvextend to lvresize as the below example?

 lvextend -L+1m /dev/mapper/rootvg-home
 lvresize -L+1m /dev/mapper/rootvg-home

dose the both examples do exactly the same ? ( increase +1M on /home )

second:

when I use the lvextend and try to increase the /home with 1M,

then lvextend round the size to 32M (increase /home by 32M ) ,

so is it possible to tell lvextend to grow only with 1M? by some additional flag?

 lvextend -L+1m /dev/mapper/rootvg-home
 Rounding size to boundary between physical extents: 32.00 MiB
 Size of logical volume rootvg/home changed from 320.00 MiB (10 extents) to  352.00 MiB (11 extents).
 Logical volume home successfully resized.

Solution 1:

For your case, they do the same thing. lvresize can be used for both shrinking and/or extending while lvextend can only be used for extending.

Second thing, I'm guessing your physical extend size (PE) of your volume group is set to 32M, which is the reason lveextend rounds it up from 1 to 32M.

Before you think about resizing the PE value, I'm afraid it's not possible in this case and you may have to create the VG again if the PE must be changed. About that, you can see it here How to change Volumegroup PE size