Fortuantly someone else had seen this before and suggested removing a bunch of volume mappings from the SAN. Turns out all the virtual machines on that system (configured with a separate volume and LUN mapping on the SAN) used the same default name for the volume group, and that causes lvm to sit there burning CPU without actually doing anything. For added annoyance, once the system booted I then had to add the mappings back so the virtual machines on the system could start.
Of course, at no point is there any debug pointing out that I have multiple volume groups with the same name, or for that matter anything beyond a "please wait" message and an apparently hung system. Why must Linux be so hard to use?