LINUX.ORG.RU
ФорумAdmin

Proxmox cluster, подключение удаленных серверов в одну локальную сеть

 , , ,


0

2

Здравствуйте! Стоит задача объединить сервера находящиеся друг от друга удаленно в одну локальную сеть.

Варианты: Предпочтительно: туннелирование gre\ipip, но я не смог понять как можно без велосипедов объединить 3 и более серверов в одну локальную сеть.

OpenVPN: Использую заметки из руководства с хабрахабр (habr.com/post/251541/) и возникает ряд проблем. 1) Очень много непонятных моментов, автор сделал руководство как собственную заметку. Возможно кто-то сможет помочь наставлением или на платной основе?

Знаете что-то лучше двух описанных? Порекомендуйте пожалуйста!


Стоит задача объединить сервера находящиеся друг от друга удаленно в одну локальную сеть.

1) L2-связность нужна или L3 будет достаточно(упоминаете gre-туннели, по идее L3 связности хватит, но мало ли)?
2) Связь нужна по типу все с неким центральным сервером или каждый с каждым?

Ту же L2-связность можно наколхозить с помощью пачки VXLAN туннелей с RSTP поверх. Для L3 соответственно подойдут GRE-туннели и какой-нибудь протокол динамической маршрутизации(к примеру RIP или OSPF). IPSEC добавить по вкусу.

OpenVPN умеет как L2, так и L3 туннели, но не стоит забывать, что он однопоточный - можно упереться в скорость одного ядра процессора и привет(если речь о канале между серверами начинается от одного гигабита в секунду - я думаю на OpenVPN лучше даже не смотреть).

Энтерпрайзно можно зарешать с помощью DMVPN(это если везде циски или бюджет позволяет их поставить)

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

По словам более опытного (но сильно занятого) знакомого, для того что мне нужно можно использовать OpenVPN (L2).

Весь день разбирался в OpenVPN, но конечная цель сейчас кластер Proxmox и если буду разбираться по очереди - будет слишком много информации, OpenVPN, а там и по L2, сетям, подсетям информации куча.

На сколько я правильно понял принцип работы кластеров, они должны быть в виде клиен-клиент, при том общедоступны между собой. К примеру, 3 сервера и каждый может друг к другу обратиться.

О бюджете - никакой софт из платных не рассматриваю, не тот уровень и объем. Пока просто занимаюсь интересным для себя делом и вот делаю такие задачи по мере надобности.

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

Использую десяток серверов Hetzner, локальная сеть до 1 gbit, канал ~500 мбит.

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

Попробуй tinc. Я на нём делал, уже несколько лет фурычит. Оно full-mesh, так что при обрыве одного тоннеля трафик пойдёт через другие ноды (но чудес не бывает, и это внесёт дополнительные задержки, что может привести к отвалу репликации или рассыпанию кластера).

Ещё можно попробовать grelan-тоннели (они точка-точка, но на небольшом количестве нод можно поизвращаться), они работают на уровня ядра, а не юзерспейса, и поднимаются буквально тремя командами в консоли. Только у проксмокса были какие-то приколы с gre-протоколом, когда его собственный файерволл не пропускал gre-пакеты даже при разрешающих правилах.

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

Как раз grelan (gretap?) сегодня и пробовал. Но как вы уже написали, там проблема в том, что клиент-клиент, сделать общую локальную сеть не получилось.

Почитаю про tinc, но буду с нетерпением ждать ваши советы.

Спасибо за ответы!

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

Почитал про GRE + OSPF, не легкая информация конечно. Может это материал такой с 2011 года на хабре попался, еще почитаю.

momi
() автор топика

А зачем вообще собирать кластер из регионально разнесенных серверов ?

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

Но как вы уже написали, там проблема в том, что клиент-клиент, сделать общую локальную сеть не получилось.

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

ВАЖНО: это топология с петлями! Поэтому категорически не советую запускать это без какого-либо протокола STP - хотя бы чистого STP, который есть в родных линуксовых мостах. Лучше конечно RSTP, но его ядро в чистом виде не умеет, только через openvswitch - а у тебя и так хватает доков на почитать, openvswitch надо курить отдельно(штука хорошая, но cli там наркоманский).

Работать будет шустро, но важно понимать, что в отличие от OpenVPN, где шифрование предполагается из коробки - тут его как раз и не будет - нужно будет еще крутить IPSEC.

По поводу tinc ничего не могу сказать - сам его не щупал.

Есть еще vtun - он простой как тапок(даже проще OpenVPN), но он тоже юзерспейсный, я его щупал только на крошечных скоростях(до десяти мегабит), как у него с масштабируемостью - хз.

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

Так что если в будущем планируется расширение - я бы советовал сразу смотреть в сторону каких-нибудь full-mesh решений и отбросить gretap и OpenVPN вот прямо сейчас.

Update: тред не читай - сразу отвечай!

Использую десяток серверов Hetzner, локальная сеть до 1 gbit, канал ~500 мбит.
десяток

Это однозначный no way для OpenVPN и gretap. Ты просто заколебешься настраивать и поддерживать это, я гарантирую.

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

Если нужна L2-связность, про чистый GRE лучше забудь. gretap(он же grelan) - твой выбор, а т.к. сегмент внутри будет один, то динамическая маршрутизация тебе нафиг не сдалась

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

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

Идея стремная, как минимум потому что кластер прокса очень любит низкие задержки в сети. Если хочется дергать статистику, лучше глянуть в сторону snmp или еще каких-то мониторилок. Если очень нужен именно кластер прокса, я бы доплатил провайдеру, чтобы он VLAN между серверами поднял (хотя, если они географически в разных дц, то это не поможет).

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

Активно тащат wireguard, но он точка-точка, а не mesh.

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

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

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

stave ★★★★★
()

Вставлю свои 30мс (пинг от pve01 до pve02) если больше 55мс то у одной ноды теряется кворум и кластер рассыпается (не всегда, потом востанавливается, но не есть тру). Пров один и там и там но разные города (Екб. Тюмень) поднят vpn (cisco). Каналы Екб-50М Тю-30М. vpn выдает не более 5-10 по факту. Миграция точно не реальна т.к. в этом vpn бродит ip-sip, lxc можно мигрировать работает (!!!НО ГЕМОРА БОЛЬШЕ чем на 30мс (МИНУТ)). Ну и итог НЕ СОВЕТУЮ.

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

Миграция точно не реальна т.к. в этом vpn бродит ip-sip, lxc можно мигрировать работает (!!!НО ГЕМОРА БОЛЬШЕ чем на 30мс (МИНУТ)).

Если включена zfs репликация, то при миграции будет докачена только разница от последней репликации. Соответственно если там не много, то и смигрируем быстро.

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

Пинг между хезнер серверами в районе ~2 мс, но пока решил повременить с кластером

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