Insufficient free space: X extents needed, but only Y available
I think thare is some roundings at work that cause your
lvextend to fail.
lvextend /dev/vg_webserver/lv_root -l+100%FREE
The above command will ask the system to allocate all free space to the selected logical volume, without asking for a specific size.