tl;dr

# create a volume group
vgcreate vg00 /dev/sdb

note: I explicitly choose to NOT USE PARTITIONS on my physical device. This
so I can grow the device on my hypervisor and then extend the logical volumes
without having to fuck around with the partition table.

# create a logical volume, 80% of the size of the VG
lvcreate -l 80%VG -n lv00 /dev/vg00

note: 80% gives me room for a 20% Copy-On-Write room for snapshotting.

# Resizing (eg. after resizing the underlying block device)
pvresize /dev/sdb
lvresize -l 80%VG /dev/vg00/lv00
# Create a snapshot that may consume all the free space from the underlying  
# volume group.
lvcreate -s /dev/vg00/lv00 -l 100%FREE -n lv00.snapshot
# sidequest ext4, disable reserved blocks
tune2fs -m 0 /dev/vg00/lv00