Mais algumas coisas para tentar se você não conseguir fazer isso funcionar:
Se o --source-name (da resposta de Wil Tan) não ajudar, considere --source-dev para fazer a conexão com a camada abaixo do LVM explicitamente:
virsh pool-define-as vg_fluke logical --target /dev/vg_fluke --source-dev /dev/md999
Se você estiver com problemas, comece com a nomeação do conjunto de armazenamentos idêntico ao grupo de volumes.
Além disso, após a criação de um pool, analise-o com, por exemplo, ...
virsh pool-list --all
virsh pool-info vg_fluke
... o que pode lhe dar pistas adicionais.
A questão também está se referindo a compartilhando o grupo de volume lvm entre o host e os convidados .
Para evitar problemas, certifique-se de usar um volume lvm (não grupo) do host como um disco rígido (não um volume lvm) no guest. Esse volume pode fazer parte de um grupo ou conjunto de armazenamentos, desde que eles sejam manipulados diretamente no host. E no convidado, você pode construir uma camada lvm no topo deste disco rígido, mas isso é separado do lvm do host inteiramente. E para maior clareza, por favor, indique se os comandos (você está citando) são feitos no host ou no convidado. Os comandos que estou citando aqui são todos executados no host.
Sobre a questão ...
Do I have to create a second VG for libvirt to use for virtual machines?
Tanto quanto eu tropeçou nisso por acidente , eu não encontrei nenhuma razão para separar volumes conhecidos para libvirt de volumes não conhecidos para libvirt em grupos de volumes separados.
Com "known to libvirt", quero dizer: libvirt mostra-os como volumes dentro do pool de armazenamento. Por exemplo. via ...
virsh vol-list vg_fluke
Mas, novamente, se você não conseguir fazer as coisas funcionarem, comece com um grupo de volumes separado para resolver outra possível fonte de problemas.