Impedir que partições de dispositivos de loop sejam detectadas

1

Estou movendo um projeto de trabalho do RHEL 6 (Kernel 2.6.32) para o RHEL 7 (Kernel 3.10.0).

O projeto envolve a construção de arquivos de imagem de disco brutos para serem usados em máquinas virtuais, estes são representativos de hardware real, mas permitem testes e desenvolvimento sem usar o hardware de destino.

Ao implantar software nos discos a partir do sistema operacional do host, os arquivos brutos são anexados aos dispositivos de loop e as partições são criadas. Alguns deles são partições raid 0. Essas partições às vezes têm o mesmo rótulo para discos conectados a diferentes máquinas virtuais. Por exemplo, eu tenho quatro arquivos brutos, os arquivos brutos 1 e 2 são anexados a uma VM, 3 e 4 são anexados a outra; no entanto, eu preciso de um ataque definido em ambos os discos onde o rótulo da partição é "LOG".

Isso não é um problema no RHEL 6. Ao conectar o dispositivo de loop, tenho que executar kpartx -a /dev/loop0 e kpartx -a /dev/loop1 se eu quiser montar o dispositivo de invasão que é feito com: mdadm --assemble /dev/md/LOG --name LOG . As partições para o dispositivo de loop não aparecem em lsblk ou blkid até que eu use o kpartx.

Fazer o mesmo no RHEL 7 é onde as coisas ficam complicadas. Simplesmente anexar o arquivo bruto como um dispositivo de loop resulta nas partições sendo detectadas. Usando lsblk ou blkid eu posso ver as partições para os dispositivos de loop, e ao carregar o software a ferramenta mdadm verá os rótulos de partições 'LOG' nos dispositivos de loop 0-3, e não montará o conjunto de raid desde As partições rotuladas LOG no loop 0 e 1 são diferentes das partições rotuladas LOG no loop 2 e 3.

Eu não encontrei uma maneira de evitar isso usando parâmetros no losetup. Existe uma maneira de impedir a detecção de partições em um dispositivo de loop através de um parâmetro do kernel ou outro arquivo de configuração?

    
por pacmanwa 02.05.2016 / 17:13

0 respostas