2015-10-08 8 views
0

Я не могу достоверно вызвать это, хотя, если я раскручиваюсь много виртуальных машин, в то время, а затем пытаться подключиться к некоторым из них, я бега в это состояние:Случайные не может подключиться к гостевой виртуальной машине в Libvirt

$ ping 192.168.122.135 
PING 192.168.122.135 (192.168.122.135) 56(84) bytes of data. 
From 192.168.122.1 icmp_seq=1 Destination Host Unreachable 
From 192.168.122.1 icmp_seq=2 Destination Host Unreachable 
From 192.168.122.1 icmp_seq=3 Destination Host Unreachable 

Обратите внимание, что это не происходит для всех виртуальных машин, которые я создаю и запускаю, только несколько из них (случайно).

ВМ, который получил ф 192.168.122.135 имеет следующий за свою сеть в своей области XML:

<interface type='network'> 
    <mac address='52:54:00:3d:72:ab'/> 
    <source network='default'/> 
    <target dev='vnet0'/> 
    <model type='virtio'/> 
    <alias name='net0'/> 
    <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> 
</interface> 

И сеть по умолчанию определяются как (и да, 22 VMS в настоящее время работает):

<network connections='22'> 
    <name>default</name> 
    <uuid>69674b8b-f067-4513-b594-3e52360f391b</uuid> 
    <forward mode='nat'> 
    <nat> 
     <port start='1024' end='65535'/> 
    </nat> 
    </forward> 
    <bridge name='virbr0' stp='on' delay='0'/> 
    <ip address='192.168.122.1' netmask='255.255.255.0'> 
    <dhcp> 
     <range start='192.168.122.2' end='192.168.122.254'/> 
    </dhcp> 
    </ip> 
</network> 

выходной сигнал из Ifconfig для vnet0 (на который ссылается домен XML сети ВМ) и virbr0 (используемой default сети, как показано выше):

$ sudo ifconfig vnet0 
vnet0  Link encap:Ethernet HWaddr fe:54:00:3d:72:ab 
      inet6 addr: fe80::fc54:ff:fe3d:72ab/64 Scope:Link 
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
      RX packets:425 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:1304 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:500 
      RX bytes:57503 (57.5 KB) TX bytes:67257 (67.2 KB) 

и

$ sudo ifconfig virbr0 
virbr0 Link encap:Ethernet HWaddr fe:54:00:08:e9:a4 
      inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
      RX packets:882508 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:2527165 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:0 
      RX bytes:93980992 (93.9 MB) TX bytes:3047773583 (3.0 GB) 

Ниже приведен частичный выход из ip route list:

192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 

Выходной маршрут выше заставляет меня думать, что он должен работать. НО ЕГО НЕ. и он иногда терпит неудачу и работает большую часть времени.

Почему я не могу подключиться к гостю (192.168.122.135) от хоста ??

Первоначально я использовал фильтры, но удаление фильтров из домена VM VM не влияет на это условие, случайно отображающееся. Если я буду разворачивать многие виртуальные машины одновременно, я смогу добиться, чтобы это произошло со многими из них. Некоторые из виртуальных машин работают нормально и позволяют мне подключаться.

Кроме того, я использую Ubuntu 14.04.3:

$ lsb_release -a 
No LSB modules are available. 
Distributor ID: Ubuntu 
Description: Ubuntu 14.04.3 LTS 
Release:  14.04 
Codename:  trusty 

с ядром 3.19.0-30-generic.

Подробнее - virsh версия: версия

$ virsh --version 
1.2.2 

libvirtd:

$ libvirtd --version 
libvirtd (libvirt) 1.2.2 

ответ

1

Я не хватает репутации комментировать ... Но у меня есть несколько предложений по вещи, которые вы могли бы попробовать для дальнейшего изучения проблемы.

Вопрос: Выполняет ли назначение IP-адреса в подсети 192.168.122.X на vnet0? Маршрут, который настроен, кажется, предполагает, что ваш трафик будет идти до virbr0, так как он имеет 192.168.122.1 IP-адрес. Если вы не можете пинговать какие-либо другие устройства в этой подсети, я подозреваю, что это проблема.

Если это вас нигде не доставит ...

  • трассировки пакетов на хосте/VM

    Попробуйте выполнить пакетную дамп virbr0 и на внутреннем интерфейсе VM, когда это происходит. Пинг VM и посмотреть, какой вид трафика вы видите.

    sudo tcpdump -n -i virbr0 -v "icmp or arp"

    В зависимости от того, что вы там видите, поможет сузить источник проблемы. Если вы даже не используете свои контакты на этом интерфейсе, это проблема маршрутизации на хосте. Если пинги идут, но виртуальная машина не видит их, то это проблема сети/маршрутизации с сетью libvirt.

    Я рекомендую также сделать это с помощью рабочей виртуальной машины, поэтому у вас есть ссылка на сравнение трафика.

  • Проверка кэша ARP

    Проверьте кэш ARP на хосте, когда это происходит. Существует ли адрес mac в кеше? Может быть, это получение наломать ...

    Чтобы сбросить кэш агр:

    # arp

  • Проверьте ваши Libvirt журналы

    Если сконфигурировано, Libvirt будут записываться в системный журнал с помощью 'libvirtd' тег. Проверьте свою конфигурацию, чтобы убедиться, что она включена. Кажется маловероятным, что это проблема с libvirt, но это не помешает включить регистрацию.

    Чтобы включить эту настройку

    # vi /etc/libvirt/libvirtd.conf

    Добавьте строку

    log_outputs_"1:syslog:libvirtd"

    Restart Libvirt

    # service libvirt-bin restart

+0

Если вы можете отредактировать это в ответ, сделайте пожалуйста. В противном случае вы четко знаете правила, так что выходите туда и возвращайтесь к своему представителю! – Mogsdad

+0

сделаю! Трудно дать точный ответ без дополнительной информации. Как только у меня это получится, я пересмотрю это и превращу его в реальный ответ. – BobTuckerman

0

У меня такая же настройка сети и аналогичная проблема на хосте CentOS 7. В конце концов выяснилось, что проблема связана с настройкой брандмауэра гостевой виртуальной машины заблокированным эхо-запросом и другим внешним подключением. После изменения настройки брандмауэра проблема решена.

 Смежные вопросы

  • Нет связанных вопросов^_^