Como encontrar o nome dom0 da domu hospedada

4

Na verdade, estou testando o RHEL 5.3 com o Xen entre dois servidores para ter uma solução de recuperação de desastre. Por isso, estou jogando com a mudança da minha domU de um servidor dom0 para o outro servidor.

Infelizmente, quando alguém move o domU, não tenho a menor ideia de onde meu domínio está hospedado. Eu estou querendo saber onde eu não posso encontrar meu nome de dom0 dentro do domU. Eu estou procurando por algo como o comando gzonename em uma zona esparsa solaris. Eu verifico dentro de / proc / xen mas não vejo nada especial exceto o lançamento do kernel dom0.

Alguém sabe uma espera para encontrar isso?

    
por svigan 21.08.2009 / 00:11

6 respostas

7

Usamos xenstore-write /tool/hostname $(uname -n); xenstore-chmod /tool/hostname r on Dom0 e, em seguida, xenstore-read /tool/hostname nas VMs. Fácil e leve ...

    
por 12.07.2011 / 21:35
3

Tenho certeza que não há como encontrar o dom0 "name" (que é um conceito nebuloso na melhor das hipóteses) de dentro do domU. Se você não está rodando pygrub, você poderia adicionar algo à linha de comando de inicialização do kernel (no arquivo de configuração domU armazenado em cada dom0) que você poderia consultar a partir de / proc / cmdline, mas isso é um truque.

O que você realmente deve fazer é ter um script que possa consultar os dom0s para exibir quais VMs estão onde. Até mesmo algo que passasse pelos dom0s e executasse xm list provavelmente serviria para seus simples propósitos.

    
por 21.08.2009 / 01:04
2

O SLES11 tem uma solução "inteligente" fornecida por dois rpms:

O primeiro é executado no Dom0 e cria um pequeno disco RAM (dispositivo de loop em / dev / shm). Esse disco-RAM é anexado em ro / read de muitos modos ao DomU. Em seguida, um processo do daemon no Dom0 atualiza algumas informações no disco RAM em intervalos configuráveis (Dom0-hostname, cpu-load do Dom0, ...).

O segundo é executado no DomU e lê os valores do disco RAM anexado.

Veja a documentação do SLES11 XEN para mais detalhes.

Atualização 2017-01-31: Seção 10.7

    
por 18.05.2011 / 22:08
1

Encontrei uma solução inteligente (da qual não posso dar crédito): adicione um parâmetro ao script Xen para dizer ao domU qual dom0 está sendo executado

    
por 24.03.2011 / 12:31
1

Eu sei que isso foi postado há alguns anos, mas vejo que esta é uma página muito acessada que ainda não tem como encontrar isso retroativamente, então aqui está o método que usei:

Na VM, use o tcpdump para encontrar o nome do switch e o número da porta:

[myID@vm001 ~] sudo tcpdump –nn –v –i eth0 –s 1500 –c 1 ‘ether[20:2] == 0x2000’

Dê alguns minutos. para correr; quando estiver pronto, procure por essas duas linhas na saída (elas serão separadas por outras linhas de saída):

Device-ID (0x01), length: 26 bytes: ‘Switch001.mydomain.com’
Port-ID (0x03), length: 19 bytes: ‘GigabitEthernet8/17’

Você precisará então examinar sua porta de switch para determinar qual servidor físico está conectado. Espero que você tenha acesso físico ao switch e possa executar um rastreamento de cabo ou envolver alguém que possa, ou você tem boas descrições nas configurações de porta do switch e pode visualizar essas informações ou contratar alguém que possa. Eu li o acesso aos nossos switches e consegui encontrar meu servidor host dessa maneira:

SWITCH001#sho interface description | inc 8/17
Gi8/17                         up             up       HOST0002
    
por 07.03.2013 / 00:35
1

Instale o lldpd no Xen Dom0 e DomUs. Então, o lldpctl lhe dirá qual bridge de rede e o hostname da bridge (ou seja, o nome do Dom0). No Dom0 você também verá os switches upstream se eles tiverem LLDP ativado, o que também pode ser útil.

Isso funciona para PV, PVHVM, etc. Na verdade, ele deve funcionar para qualquer plataforma de virtualização que possa executar o LLDP no host, a menos que o host envie os pacotes LLDP diretamente (o que não deveria).

    
por 02.07.2015 / 13:59

Tags