Назад | Перейти на главную страницу

KVM Гостевые виртуальные машины QEMU случайно теряют сетевое соединение

Я работаю над настройкой сервера с KVM / QEMU и всеми серверами Linux. Мы собираемся использовать этот сервер для веб-разработки, git, VoIP PBX и т. Д. (Мы использовали XenServer и Windows Server 2016, но я фанат Linux). Я столкнулся с некоторыми проблемами с виртуальными машинами, которые, казалось бы, случайно проигрывают. подключение к сети или засыпание или что-то в этом роде. Кажется, я не могу понять, в чем проблема.

Я просмотрел множество форумов и сообщений даже здесь, о сбое сервера, но ничего не подходит для того, что я пытаюсь сделать. Я прикреплю ниже изображение нашей настройки сети. У нас есть 2 локации и между ними VPN с межсетевыми экранами. Речь идет о машине Dell PowerEdge R710. Я успешно установил Ubuntu 18.10 и KVM / QEMU на него в качестве ОС хоста (18.10 из-за проблемы с виртуальным менеджером, не отображающим все сетевые подключения в 18.04.) Я использую Virtual Manager для управления установкой / мониторингом новых виртуальных машин с моего ноутбука ( Dev Computer 1) через ssh.

У меня 6 гостевых виртуальных машин, все они установлены с Ubuntu 18.04 или Debian 9 (наша VoIP PBX), и все они отлично работают, за исключением случайных сбоев в сети. Все они связаны через связанный мост на хост-машине (включая сам хост). Все подключены к 4 сетевым адаптерам, и я использовал связь в качестве интерфейса для моста. Я использую netplan для настройки сети, и я опубликую конфигурацию yaml ниже. Я использую статические IP-конфигурации для всех гостевых виртуальных машин, которые просто устанавливают IP-адрес для интерфейса "ens3" по умолчанию через netplan, но я могу опубликовать и его, если это поможет.

Я заметил кое-что интересное:

  1. Я всегда могу подключиться к хост-машине по ssh, он никогда не теряет соединение.
  2. Когда одна из 6 машин теряет сетевое соединение, я все еще могу подключиться к ней по ssh с хост-машины, но иногда она будет зависать на некоторое время при восстановлении соединения.
  3. Если я подключу ssh к нарушившей виртуальной машине с хоста и сделаю эхо-запрос на шлюз (брандмауэр), он отключится от него, и мы сможем подключиться к нему снова.
  4. Иногда гостевые виртуальные машины не могут видеть друг друга, но если я подключу ssh к тому, что не может видеть другую, и запустите команду ping, она обычно начнет работать после нескольких сообщений «Целевой хост недоступен».

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

Карта сети

Конфигурация netplan хоста:

network:
    version: 2
    renderer: networkd
    ethernets:
        eno1:
            dhcp4: false
            dhcp6: false
        eno2:
            dhcp4: false
            dhcp6: false
        eno3:
            dhcp4: false
            dhcp6: false
        eno4:
            dhcp4: false
            dhcp6: false
    bonds:
        bond0:
            interfaces:
                - eno1
                - eno2
                - eno3
                - eno4
            addresses: [192.168.5.20/24]
            dhcp4: false
            gateway4: 192.168.5.1
            nameservers:
                addresses: [192.168.1.6,1.1.1.1]
    bridges:
        br0:
            addresses: [192.168.5.21/24]
            dhcp4: false
            gateway4: 192.168.5.1
            nameservers:
                addresses: [192.168.1.6,1.1.1.1]
            interfaces:
                - bond0

у меня есть почти идентичная конфигурация, производимая в настоящее время. Ubuntu 18.04 + KVM / QEMU на R710, и я не испытывал этой проблемы.

Хотя возможно, что это разница между версиями Ubuntu, когда вы находитесь на 18.10, или реальная проблема с оборудованием, которую я вижу, единственное заметное различие, которое я вижу в этой конфигурации, - это связь, которую я не использую. Моя конфигурация моста выглядит так, как показано ниже:

    bridges:
        br0:
            dhcp4: yes
            interfaces:
                - eno1

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

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

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

Надеюсь это поможет!