Проект

Общее

Профиль

Планирование топологии » История » Версия 4

« Предыдущее - Версия 4/11 (Разница(diff)) - Следующее » - Текущая версия
Dmitry Chernyak, 01.11.2012 00:01


Планирование топологии

Назначение сетевых соединений

назначение условно
для связи между узлами кластера gnt
для drbd-трафика (только его) san
для офисной локальной сети lan
для доступа в Интернет wan

Варианты топологии

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

описание топология требования примечания
для тестирования (gnt+lan+san) один коммутатор 1Gbit невысокая производительность
SOHO (gnt+san)+lan интерлинк/SAN + подключение к офисному коммутатору для gnt выбран более надежный сегмент сети
серверная (gnt+lan)+san надежный коммутатор LAN + интерлинк/SAN когда сетевая инфраструктура надежна и управляема
датацентр gnt+san+lan отдельная SAN, отдельный сегмент для gnt когда все по-взрослому

Конфигурирование

Основы

  1. Для работы кластер использует идентификацию узла (hostname и т.п.). Идентификация конфигурируется при установке и назначенное имя узла и IP адрес должны относиться к сегменту gnt.
  2. Если предполагается наличие отдельного сегмента LAN, то его надо конфигурировать дополнительно.
    1. В больших инфраструктурах выдача адресов и имен хостов в LAN может находиться в чужой зоне ответственности. Поэтому для узлов кластера адресация в LAN носит дополнительный характер.
    2. Имя и адрес узла в LAN для функционирования узла значения не имеет - его не нужно прописывать в hosts, достаточно записи в DNS-сервере.
    3. В то же время универсальный IP-адрес кластера (который автоматически активируется на текущем мастер-узле) удобно назначать именно в сегменте lan (--master-netdev).
  3. Отдельный сегмент SAN - это опция ganeti и назначается как secondary-ip (gnt-node add -s).

Ввод конфигурационных данных

На этапе установки узла (инсталлятор на CD-ROM)
  1. Выбирается имя узла (оно предзаполнено строкой "gntX", и предлагается самостоятельно заменить "X" на цифру, хотя можно заменить полностью).
  2. Выбирается адрес узла в сети gnt (оно предзаполнено строкой "192.168.236.XXX").
  3. Выбирается адрес DNS (192.168.236.YYY) - это будущий адрес виртуальной машины sci/puppet/etc.
  4. Роутер указывается в случае, если сегменты gnt и lan совмещены, иначе - не указывается.

На этапе инициализаци кластера, в sci.conf
Перед выполнением sci-setup cluster

CLUSTER_NAME=(предзаполнено "gnt", можно менять по вкусу)
CLUSTER_IP=(пусто, требуется заполнить адресом в сегменте lan)
CLUSTER_NETDEV=(пусто, это параметр кластера --master-netdev. Если не заполнять, он вычисляется из LAN_IP, если LAN_IP тоже не заполнен, то --master-netdev не указывается и вычисляется ganeti самостоятельно)
NODE1_NAME=(автозаполнено из hostname при установке)
NODE1_INT_IP=(автозаполнено из hosts при установке)
NODE1_SAN_IP=(пусто, если вписать, будет инициализация узла с опцией -s; в момент инициализации IP-адрес должен быть сконфигурирован и активен на узле)
NODE1_LAN_IP=(пусто, если вписать, из него будет автоматически вычислен master-netdev; в момент инициализации IP-адрес должен быть сконфигурирован и активен на узле)
NODE1_WAN_IP=(пусто, если вписать, ничего не будет, в момент инициализации IP-адрес должен быть сконфигурирован и активен на узле)
NODE2_*=(то же самое; если не указывать совсем - кластер будет проинициализирован в одно-узловом режиме)
SCI_INT_IP=(автозаполнено при установке из адреса nameserver в resolv.conf)
SCI_LAN_IP=(пусто, если заполнено, то виртуальная машина sci получит второй интерфейс с этим адресом)

  • Чтобы использовать сети, кроме NODE1_INT_IP, их надо до запуска sci-setup cluster сконфигурировать в interfaces и активировать.
    (Возможно впоследствии это будет делать мастер).
  • При выполнении sci-setup cluster все NODE1_*_IP проверяются по ifconfig, CLUSTER_NETDEV проверяется по interfaces и ifconfig, заполняется /etc/ganeti/networks.
  • При выполнении sci-setup sci виртуальной машине передается либо один адрес, либо два. link вычисляется автоматически из /etc/ganeti/networks.

Это проект. Теперь надо это сделать :)