Parece que você precisa de um dispositivo de bloco. Você pode obtê-lo diretamente do iSCSI ou em um armazenamento baseado em arquivo, como sshfs ou gluster, você pode criar um arquivo vazio e montar o loop como um dispositivo de bloco. Eu acho que o iSCSI é a escolha lógica, pois você precisa de acesso de baixo nível.
O bom nisso é que você pode compartilhar volumes lógicos LVM como volume iSCSI (e você vai acabar com uma imagem como um LV, que você pode inserir em um arquivo).O iSCSI não é muito difícil, mas é uma curva de aprendizado. Basta seguir a documentação do Red Hat EL7 *, deve funcionar para a maioria das distros com pequenas variações.
Verifique também o guestfs-tools (libguestfs) e o virt-install.