Four years go by and...
yes, boot from mirrored LVM volume (lvconvert -m1 /dev/vg0/root) works for us in Debian 9 (stretch). GRUB lvm.mod module understands mirrored LVNLVM volumes out of box, GRUB successfully reads /boot/grub/grub.cfg which resides on the mirrored root volume, presents the boot menu, loads the kernel and initrd. Then itthe kernel gets stuck, unable to mount LVM root:
device-mapper: table: 254:5: raid: Failed to run raid array device-mapper: reload ioctl on (254:5) failed: Invalid argument This is solved by adding the following modules to /etc/initramfs-tools/modules (order matters), and running update-initramfs:
xor async_tx raid6_pq async_xor async_pq async_memcpy async_raid6_recov md_mod raid1 raid456 dm_raid dm_log dm_region_hash dm_mirror lvm (probably one can leave out raid6_pq, async_raid6_recov, raid456 -- I cannot verify right now).
Now the mirrored LVM root should mount OK. The final step is to make both physical disks bootable, so should any one of them fail, the other will still boot the system:
pvdisplay -m | egrep 'PV Name|_rimage_' # find out which physical disks root lv resides on grub-install /dev/firstdisk grub-install /dev/seconddisk