Existe uma razão pela qual os endereços MAC da VM precisam ser aleatórios (pseudo-aleatórios, na verdade)? Parece que você está fazendo a pergunta de como obter um período maxium garantido em uma sequência de números, antes de se sobrepor. Um incremento simples seria o mais óbvio, mas existem CRC com período máximo para um intervalo mínimo / máximo permitido. mas eu não acho que você teria um problema com sequencial, então o CRC seria desnecessário.
Com o período máximo, você só precisa se preocupar se uma VM ainda existe, quando você quebra. Se isso puder acontecer (devido à vida útil de suas VMs), você deverá manter um histórico de VMs em execução e escolher outra opção até não atingir o histórico. Supondo que você tenha um intervalo mais amplo disponível do que possivelmente ainda executando VMs, você não obteria sobreposição. É improvável, no entanto, que você precise de um histórico (se usar uma sequência com o período máximo, como um incremento simples). Suponho que o tempo de vida de suas VMs e número seja relativo ao espaço disponível.
Supondo que não há outros mac addrs com os quais você precise se preocupar, além daqueles que você criou com este algoritmo. O que pode não ser verdade.