LINUX.ORG.RU
решено ФорумAdmin

Необходимость в bridge при установке виртуальной машины

 , , ,


0

1

Почему в абсолютном большинстве руководств рекомендуется устанавливать виртуальные машины с использованием bridge?

#!/bin/sh
virt-install \
...
--network bridge=br1,model=virtio \

А не вот так:

#!/bin/sh
virt-install \
...
 --network type=direct,source=eth1,model=virtio \

В чем проблема с использованием физического сетевого интерфейса напрямую?

Deleted

Последнее исправление: Deleted (всего исправлений: 1)

Не все хотят отдавать целый сетевой интерфейс под виртуалку.

CYB3R ★★★★★
()
Ответ на: комментарий от dvrts

А, т.е. дело только в экономии сетевых интерфейсов? И если, скажем, железо позволяет, то лучше отдать виртуалкам отдельную карту, или это в общем не будет иметь плюсов по сравнению с bridge?

Deleted
()
Ответ на: комментарий от Deleted

Дело не только в экономии. Под каждую задачу - своё решение.

dvrts ★★★
()

Потому, что даже на скромном сервере с 32ГБ оперативки может влёт крутиться под десяток виртуалок разного калибра. У тебя есть сервер с десятью PCI?

no-dashi ★★★★★
()
Ответ на: комментарий от Deleted

Больше 4-х сетевушек редко кто ставит в сервер, а виртуалок может быть больше.

Использование моста позволяет контролировать трафик виртуальных машин.

vel ★★★★★
()
Ответ на: комментарий от imul

12 виртуалок можно привернуть.

На обычной домашней плате по крайней мере 5 PCI-E, так что можно и больше. Но только почему все подразумевают, что на одной сетевой карте (1 слот, 1 порт, 1 ip) можно поднять только одну виртуалку? Карта подключена к роутеру, множество виртуалок получают же ip, работая одновременно. У всех было прописано --network type=direct,source=eth1,model=virtio. Другое дело, почему прослойка в виде bridge считается, видимо, best practice.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 6)
Ответ на: комментарий от Deleted

А почему ты подразумеваешь, что этот вопрос надо мне задавать, а не тем, кто подразумевает?

(1 слот, 1 порт, 1 ip)

1 слот, 4 порта, 16 ip устроит?
Или ты хочешь пропускную способность физического интерфейса между всеми virtio шарить?

imul ★★★★★
()
Ответ на: комментарий от Deleted

--network type=direct,source=eth1,model=virtio

Это режим т.н. VEPA(macvtap), его главный недостаток то что при таком типе подключения виртуалки «не видят» сетевой интерфейс гипервизора.

Тут подробнее:

http://wiki.libvirt.org/page/Guest_can_reach_outside_network,_but_can't_reach...

http://backreference.org/2014/03/20/some-notes-on-macvlanmacvtap/

However, once a guest has been configured to use a «type='direct'» network interface (a.k.a. macvtap), users will commonly be surprised that the guest is able to communicate with other guests, and also with other external hosts on the network, but cannot communicate with the virt host on which the guest in question lives.

ivanich ★★
()
Последнее исправление: ivanich (всего исправлений: 1)
Ответ на: комментарий от ivanich

macvtap != vepa. vepa это виртуальное расширение количества портов на стороне свича, для управления виртуальными подключениями со стороны свича. man 802.1Qbg

dyasny ★★★★★
()
Ответ на: комментарий от Deleted

Но только почему все подразумевают, что на одной сетевой карте (1 слот, 1 порт, 1 ip) можно поднять только одну виртуалку?

Потому что без моста или MAC-VLAN это именно так. Ты отдаешь всю сетевуху в виртуальную машину.

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

А если я захочу запустить одновременно 2 виртуалки, установленных таким (--network type=direct) образом? Какие у них будут адреса?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Без понятия. Скорее всего вторая виртуалка не сможет захватить физический интерфейс -> фэйл.

При MAC-VLAN, как уже сказали - повесить можешь любое количество виртуалок, но у них будет проблема увидеть хостовую машину(это фича такая). Так что мост - это самое кондовое универсальное решение.

Pinkbyte ★★★★★
()
Ответ на: комментарий от dyasny

Верно, не так выразился, хотел сказать что direct не подразумевает проброс реальной сетевухи в ВМ, для этого есть passthrough.

ivanich ★★
()
Ответ на: комментарий от Deleted

Создастся 2 macvtap интерфейса на гипервизоре и если у них будет mode='bridge' то «общаться» друг с другом они будут внутри гипервизора минуя реальный физический свитч, но как было сказано придется использовать костыли чтобы ВМ увидели гипервизор. Так что да в этом плане обычный бридж универсальней.

ivanich ★★
()
Последнее исправление: ivanich (всего исправлений: 1)
Ответ на: комментарий от ivanich

при использовании direct, nic резервируется под машину все равно, и оверхед намного меньше чем при использовании tap+bridge. я так гоняю проброшенные MK801 с 802.1Qbh под операции где задержки и скорость имеют значение, обычно финансовые обработки и телефония.

dyasny ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.