Any ideas where the md0p1 and md0p2 partitions are coming from?
Acho que estão sendo interpretados por kpartx ou equivalente. (A página manpage para kpartx diz que é "chamada de hotplug", hoje em dia isso normalmente significa udev ).
Acho que se você executar kpartx /dev/md0 sem nenhum argumento (ou com -v ), ele poderá mostrar as mesmas partições.
parted shows one partition on md0
Eh. O parted provavelmente está detectando outra coisa, como o sistema de arquivos, ou o fato de ser uma partição do MD, e tratar isso como mais importante. Ou o parted não suporta o mesmo conjunto de formatos de tabela de partições que o kpartx. Ou algumas outras diferenças. Não me surpreenderia.
Zero drives ...
Hmm. Você já tentou wipefs ? Ele suporta uma grande variedade de formatos de partição, incluindo sistemas de arquivos. Alguns formatos podem ter números mágicos fora do primeiro megabyte. Por exemplo, as tabelas de partição GPT incluem um "trailer" no final da unidade, que serve como backup do "cabeçalho" no início. wipefs lida especificamente com este caso: link
Acho que você também precisa limpar md0 depois de criá-lo. (Acredito que lvcreate verifica qualquer formato em um novo LV e solicita isso, mas o mesmo não acontece com mdadm --create de um novo array MD).
Nota wipefs não é 100% garantido para encontrar as mesmas coisas que kpartx procura. kpartx foi criado para os projetos lvm / DM e usa seu próprio código de particionamento.