In a complex SAN environment, like you’d build for a large enterprise that uses virtualisation technologies and/or clustering, a linux system needs to be able to find the groups of disks that its kernel is monitoring in order to shut down cleanly.
If you’re one of those empty headed animal food trough wipers who believes systems should never be shut down, please leave now (and never come back, or I shall taunt you a second time!)
Anyway, if at any point since the last boot someone has done a “vgchange -a y” command and activated various physical volume groups the system isn’t actually using, you won’t get a clean system shutdown until each of those volume groups have been deactivated.
Finding the mounted volumes is trivial – there’s good old reliable /etc/mtab as well as /proc and sysfs – but I haven’t yet found a correspondingly simple list of active VGs.
LinuxQuestions.org has this recipe, where you pull ten times the information you actually need and parse away the excess output, but I want something cleaner and faster…