Проект

Общее

Профиль

Настройка сети » История » Версия 2

Dmitry Chernyak, 05.02.2013 10:47

1 1 Dmitry Chernyak
h1. Настройка сети
2 1 Dmitry Chernyak
3 1 Dmitry Chernyak
{{toc}}
4 1 Dmitry Chernyak
5 2 Dmitry Chernyak
Назад на страницу [[НАСТРОЙКА]]
6 1 Dmitry Chernyak
7 1 Dmitry Chernyak
Схемы настройки сети могут сильно различаться в зависимости от условий установки и назначения кластера.
8 1 Dmitry Chernyak
Далее мы рассмотрим несколько распространенных примеров.
9 1 Dmitry Chernyak
10 1 Dmitry Chernyak
h3. Простая схема - один ethernet для всего
11 1 Dmitry Chernyak
12 1 Dmitry Chernyak
Один интерфейс, одна подсеть, подключение к интернет предоставляется сторонним(не входящим в кластер) сетевым оборудованием.
13 1 Dmitry Chernyak
В данной настройке обе ноды должны быть подключены к гигабитному свитчу.
14 1 Dmitry Chernyak
По умолчанию установщик создает бридж xen-br0. Вы можете изменить параметры, изменяя /etc/network/interfaces.
15 1 Dmitry Chernyak
Изначально он выглядит примерно так:
16 1 Dmitry Chernyak
<pre>
17 1 Dmitry Chernyak
auto xen-br0
18 1 Dmitry Chernyak
iface xen-br0 inet static
19 1 Dmitry Chernyak
        address 192.168.5.88
20 1 Dmitry Chernyak
        netmask 255.255.255.0
21 1 Dmitry Chernyak
        network 192.168.5.0
22 1 Dmitry Chernyak
        broadcast 192.168.5.255
23 1 Dmitry Chernyak
        gateway 192.168.5.1
24 1 Dmitry Chernyak
        bridge_ports eth0
25 1 Dmitry Chernyak
        bridge_stp off
26 1 Dmitry Chernyak
        bridge_fd 0
27 1 Dmitry Chernyak
#       up ifconfig eth0 mtu 9000
28 1 Dmitry Chernyak
#       up ifconfig xen-br0 mtu 9000
29 1 Dmitry Chernyak
</pre>
30 1 Dmitry Chernyak
Важные параметры, помимо настроек ipv4:
31 1 Dmitry Chernyak
<pre>
32 1 Dmitry Chernyak
bridge_ports eth0
33 1 Dmitry Chernyak
</pre>
34 1 Dmitry Chernyak
Означает, какое сетевое устройство привязано к бриджу.
35 1 Dmitry Chernyak
<pre>
36 1 Dmitry Chernyak
up ifconfig eth0 mtu 9000
37 1 Dmitry Chernyak
up ifconfig xen-br0 mtu 9000
38 1 Dmitry Chernyak
</pre>
39 1 Dmitry Chernyak
Настройка jumbo frame на бридже для большей скорости сети и меньшей нагрузки на процессор
40 1 Dmitry Chernyak
Это актуально для интерфейса, на котором будет drbd линк.
41 1 Dmitry Chernyak
Однако, включение jumbo frame приведет к проблемам со связью с любым сетевым оборудованием,
42 1 Dmitry Chernyak
не поддерживающим это. Поэтому данные параметры закомментированы по умолчанию.
43 1 Dmitry Chernyak
44 1 Dmitry Chernyak
h3. Рекомендуемая схема - 2 ethernet: для интерлинка (ganeti и drbd) и для локальной сети
45 1 Dmitry Chernyak
46 1 Dmitry Chernyak
Эта схема предпочтительна для большинства ситуаций.
47 1 Dmitry Chernyak
Она не требует наличия гигабитных свитчей, предоставляет неплохую надежность и производительность при низких затратах.
48 1 Dmitry Chernyak
Два гигабитных интерфейса на нодах подключены друг к другу напрямую или через гигабитный свитч(если Вы хотите более чем 2 ноды в кластере).
49 1 Dmitry Chernyak
Остальные интерфейсы подключаются в lan.
50 1 Dmitry Chernyak
В этой схеме сбой в локальной сети не влияет на работоспособность кластера.
51 1 Dmitry Chernyak
Пример конфигурации /etc/network/interfaces для этой схемы.
52 1 Dmitry Chernyak
<pre>auto xen-br0
53 1 Dmitry Chernyak
iface xen-br0 inet static
54 1 Dmitry Chernyak
	address 192.168.236.1
55 1 Dmitry Chernyak
	netmask 255.255.255.0
56 1 Dmitry Chernyak
	network 192.168.236.0
57 1 Dmitry Chernyak
	broadcast 192.168.236.255
58 1 Dmitry Chernyak
        bridge_ports eth0
59 1 Dmitry Chernyak
        bridge_stp off
60 1 Dmitry Chernyak
        bridge_fd 0
61 1 Dmitry Chernyak
#	up ifconfig eth0 mtu 9000
62 1 Dmitry Chernyak
#	up ifconfig xen-br0 mtu 9000
63 1 Dmitry Chernyak
64 1 Dmitry Chernyak
auto xen-lan
65 1 Dmitry Chernyak
iface xen-lan inet static
66 1 Dmitry Chernyak
	address 192.168.5.55
67 1 Dmitry Chernyak
	netmask 255.255.255.0
68 1 Dmitry Chernyak
	network 192.168.5.0
69 1 Dmitry Chernyak
	broadcast 192.168.5.255
70 1 Dmitry Chernyak
	gateway 192.168.5.1
71 1 Dmitry Chernyak
	bridge_ports eth1
72 1 Dmitry Chernyak
	bridge_stp off
73 1 Dmitry Chernyak
	bridge_fd 0
74 1 Dmitry Chernyak
</pre>
75 1 Dmitry Chernyak
Бридж xen-br0 используется для drbd и ganeti обмена, он настроен при установке нод.
76 1 Dmitry Chernyak
Также адрес днс сервера настроен установщиком - это будет адрес нашей сервисной машины(sci).
77 1 Dmitry Chernyak
Бридж xen-lan используется для подключения к локальной сети и должен быть настроен вручную.
78 1 Dmitry Chernyak
В такой конфигурации Вы должны заполнить следующие переменные в sci.conf:
79 1 Dmitry Chernyak
NODE1_IP - Уже настроено установщиком.
80 1 Dmitry Chernyak
NODE1_NAME - Уже настроено установщиком.
81 1 Dmitry Chernyak
NODE2_IP - укажите ip адрес второй ноды на интерлинке(например, 192.168.236.2)
82 1 Dmitry Chernyak
NODE2_NAME - укажите имя второй ноды(напр. gnt2)
83 1 Dmitry Chernyak
NODE1_LAN_IP - ip адрес первой ноды в локальной сети. Он будет доступен в днс под именем $NODE1_NAME-lan.$DOMAIN(напр. 192.168.5.55)
84 1 Dmitry Chernyak
NODE2_LAN_IP - ip адрес второй ноды в локальной сети. Он будет доступен в днс под именем $NODE2_NAME-lan.$DOMAIN(напр. 192.168.5.56)
85 1 Dmitry Chernyak
CLUSTER_IP - Адрес кластера в локальной сети. НЕ должен совпадать с любым другим существующим адресом. Напр. 192.168.5.35.
86 1 Dmitry Chernyak
CLUSTER_NAME - Имя кластера в локальной сети. Будет доступно в днс под $CLUSTER_NAME.
87 1 Dmitry Chernyak
SCI_LAN_IP - если Вы хотите, чтобы виртуальная машина sci присутствовала в lan, назначьте этот адрес, напр. 192.168.5.95
88 1 Dmitry Chernyak
89 1 Dmitry Chernyak
h3. Много ethernet-интерфейсов с маршрутизацией и прямым доступом в интернет
90 1 Dmitry Chernyak
91 1 Dmitry Chernyak
Это немного более сложная конфигурация сети.
92 1 Dmitry Chernyak
В этом примере мы имеем две приватные сети и одно подключение к wan. Вся маршрутизация и фильтрация трафика
93 1 Dmitry Chernyak
выполняется отдельной виртуальной машиной-фаерволом внутри кластера.
94 1 Dmitry Chernyak
Такая конфигурация подходит Вам, если у Вас нет дорогого и качественного сетевого оборудования для маршутизации и фильтрации.
95 1 Dmitry Chernyak
/etc/default/interfaces на нодах будет выглядить наподобие этого:
96 1 Dmitry Chernyak
<pre>
97 1 Dmitry Chernyak
auto lan
98 1 Dmitry Chernyak
iface lan inet static
99 1 Dmitry Chernyak
	address 192.168.21.10
100 1 Dmitry Chernyak
	netmask 255.255.255.0
101 1 Dmitry Chernyak
        bridge_ports eth0
102 1 Dmitry Chernyak
        bridge_stp off
103 1 Dmitry Chernyak
        bridge_fd 0
104 1 Dmitry Chernyak
105 1 Dmitry Chernyak
auto server
106 1 Dmitry Chernyak
iface server inet static
107 1 Dmitry Chernyak
	address 192.168.20.10
108 1 Dmitry Chernyak
	netmask 255.255.255.0
109 1 Dmitry Chernyak
	gateway 192.168.20.1
110 1 Dmitry Chernyak
        bridge_ports eth1
111 1 Dmitry Chernyak
        bridge_stp off
112 1 Dmitry Chernyak
        bridge_fd 0
113 1 Dmitry Chernyak
        up ifconfig eth1 mtu 9000
114 1 Dmitry Chernyak
        up ifconfig dmz mtu 9000
115 1 Dmitry Chernyak
116 1 Dmitry Chernyak
auto wan1
117 1 Dmitry Chernyak
iface wan1 inet manual
118 1 Dmitry Chernyak
        bridge_ports eth2
119 1 Dmitry Chernyak
        bridge_stp off
120 1 Dmitry Chernyak
        bridge_fd 0
121 1 Dmitry Chernyak
</pre>
122 1 Dmitry Chernyak
123 1 Dmitry Chernyak
Здесь мы имеем отдельный интерфейс для lan, серверный интерфейс (в данном примере сервера отделены от локальной
124 1 Dmitry Chernyak
сети и клиенты подключаются к серверам через роутер в виртуальной машине) и подключение к wan.
125 1 Dmitry Chernyak
Серверный интерфейс служит еще и для ganeti обмена и drbd линка, так что на нем установлен mtu 9000.
126 1 Dmitry Chernyak
В этом примере мы не имеем адреса в wan на гипервизорах, однако мы рекомендуем Вам получить у Вашего провайдера
127 1 Dmitry Chernyak
подесь для того, чтобы можно было назначить гипервизору публичные ip адреса для того, чтобы иметь доступ к ним
128 1 Dmitry Chernyak
даже если виртуальная машина с маршрутизатором не функционирует.
129 1 Dmitry Chernyak
В этом примере мы должны назначить следующие переменные в sci.conf:
130 1 Dmitry Chernyak
NODE1_IP - Уже настроено установщиком.
131 1 Dmitry Chernyak
NODE1_NAME - Уже настроено установщиком.
132 1 Dmitry Chernyak
NODE2_IP - укажите ip адрес второй ноды на интерлинке(например, 192.168.20.2)
133 1 Dmitry Chernyak
NODE2_NAME - укажите имя второй ноды(напр. gnt2)
134 1 Dmitry Chernyak
NODE1_LAN_IP - ip адрес первой ноды в локальной сети. Он будет доступен в днс под именем $NODE1_NAME-lan.$DOMAIN(напр. 192.168.21.55)
135 1 Dmitry Chernyak
NODE2_LAN_IP - ip адрес второй ноды в локальной сети. Он будет доступен в днс под именем $NODE2_NAME-lan.$DOMAIN(напр. 192.168.21.56)
136 1 Dmitry Chernyak
CLUSTER_IP - Адрес кластера в сегменте серверов. НЕ должен совпадать с любым другим существующим адресом. Напр. 192.168.20.35.
137 1 Dmitry Chernyak
CLUSTER_NAME - Имя кластера в сегменте серверов. Будет доступно в днс под $CLUSTER_NAME.
138 1 Dmitry Chernyak
SCI_LAN_IP - если Вы хотите, чтобы виртуальная машина sci присутствовала в lan, назначьте этот адрес, напр. 192.168.20.95
139 1 Dmitry Chernyak
140 1 Dmitry Chernyak
А это пример /etc/network/interfaces на виртуальной машине-роутере:
141 1 Dmitry Chernyak
<pre>
142 1 Dmitry Chernyak
auto eth0
143 1 Dmitry Chernyak
iface eth0 inet static
144 1 Dmitry Chernyak
   address 192.168.20.1
145 1 Dmitry Chernyak
   netmask 255.255.255.0
146 1 Dmitry Chernyak
147 1 Dmitry Chernyak
auto eth1
148 1 Dmitry Chernyak
iface eth1 inet static
149 1 Dmitry Chernyak
   address 192.168.21.1
150 1 Dmitry Chernyak
   netmask 255.255.255.0
151 1 Dmitry Chernyak
152 1 Dmitry Chernyak
auto eth2
153 1 Dmitry Chernyak
iface eth2 inet static
154 1 Dmitry Chernyak
   address 1.1.1.2
155 1 Dmitry Chernyak
   netmask 255.255.255.0
156 1 Dmitry Chernyak
   address 1.1.1.1
157 1 Dmitry Chernyak
</pre>
158 1 Dmitry Chernyak
Где eth0 подключен к server, eth1 к lan, eth2 к wan.
159 1 Dmitry Chernyak
160 1 Dmitry Chernyak
h3. Схема для датацентров - отдельные интерфейсы для lan, ganeti, drbd
161 1 Dmitry Chernyak
162 1 Dmitry Chernyak
Если у Вас мощная сетевая инфраструктура и есть выделенный высокоскоростной сегмент SAN, и выделенный сегмент для меж-серверного обмена, то имеет смысл трафик drbd пустить через SAN, а координацию ganeti-узлов и межузловые пересылки файлов осуществлять через серверный сегмент.
163 1 Dmitry Chernyak
<pre>auto mgmt
164 1 Dmitry Chernyak
iface mgmt inet static
165 1 Dmitry Chernyak
    address 192.168.236.1
166 1 Dmitry Chernyak
    netmask 255.255.255.0
167 1 Dmitry Chernyak
    network 192.168.236.0
168 1 Dmitry Chernyak
    gateway 192.168.236.1
169 1 Dmitry Chernyak
    broadcast 192.168.236.255
170 1 Dmitry Chernyak
        bridge_ports eth0
171 1 Dmitry Chernyak
        bridge_stp off
172 1 Dmitry Chernyak
        bridge_fd 0
173 1 Dmitry Chernyak
174 1 Dmitry Chernyak
auto xen-san
175 1 Dmitry Chernyak
iface xen-san inet static
176 1 Dmitry Chernyak
    address 192.168.237.1
177 1 Dmitry Chernyak
    netmask 255.255.255.0
178 1 Dmitry Chernyak
    network 192.168.237.0
179 1 Dmitry Chernyak
    broadcast 192.168.237.255
180 1 Dmitry Chernyak
    bridge_ports eth1
181 1 Dmitry Chernyak
    bridge_stp off
182 1 Dmitry Chernyak
    bridge_fd 0
183 1 Dmitry Chernyak
    up ifconfig eth1 mtu 9000
184 1 Dmitry Chernyak
    up ifconfig xen-san mtu 9000
185 1 Dmitry Chernyak
186 1 Dmitry Chernyak
auto xen-lan
187 1 Dmitry Chernyak
iface xen-lan inet manual
188 1 Dmitry Chernyak
    bridge_ports eth2
189 1 Dmitry Chernyak
    bridge_stp off
190 1 Dmitry Chernyak
    bridge_fd 0
191 1 Dmitry Chernyak
</pre>
192 1 Dmitry Chernyak
В данном примере ноды не имеют адреса в lan.
193 1 Dmitry Chernyak
Вы должны заполнить следующие переменные в sci.conf:
194 1 Dmitry Chernyak
NODE1_IP - Уже настроено установщиком.
195 1 Dmitry Chernyak
NODE1_NAME - Уже настроено установщиком.
196 1 Dmitry Chernyak
NODE2_IP - укажите ip адрес второй ноды на интерлинке(например, 192.168.236.2)
197 1 Dmitry Chernyak
NODE2_NAME - укажите имя второй ноды(напр. gnt2)
198 1 Dmitry Chernyak
NODE1_SAN_IP - ip адрес первой ноды в SAN. Он будет доступен в днс под именем $NODE1_NAME-san.$DOMAIN(напр. 192.168.237.1)
199 1 Dmitry Chernyak
NODE2_SAN_IP - ip адрес второй ноды в SAN. Он будет доступен в днс под именем $NODE2_NAME-san.$DOMAIN(напр. 192.168.237.2)
200 1 Dmitry Chernyak
CLUSTER_IP - Адрес кластера в локальной сети. НЕ должен совпадать с любым другим существующим адресом. Напр. 192.168.35.5.
201 1 Dmitry Chernyak
CLUSTER_NAME - Имя кластера в локальной сети. Будет доступно в днс под $CLUSTER_NAME.
202 1 Dmitry Chernyak
SCI_LAN_IP - если Вы хотите, чтобы виртуальная машина sci присутствовала в lan, назначьте этот адрес, напр. 192.168.35.95
203 1 Dmitry Chernyak
SCI_LAN_NETMASK - ноды не имеют адреса в lan, поэтому требуется указать маску для этой сети, напр. 255.255.255.0
204 1 Dmitry Chernyak
SCI_LAN_GATEWAY - ноды не имеют адреса в lan, поэтому требуется указать шлюз для этой сети, напр. 192.168.35.1
205 1 Dmitry Chernyak
206 1 Dmitry Chernyak
Конечно, в данных условиях удобно использовать VLAN-ы. Следующий пример опишет, как. Однако, следует помнить, что drbd линк
207 1 Dmitry Chernyak
должен быть на отдельном сетевом интерфейсе.
208 1 Dmitry Chernyak
209 1 Dmitry Chernyak
h3. Схема с VLAN
210 1 Dmitry Chernyak
211 1 Dmitry Chernyak
Если ваша сеть построена на управляемых коммутаторах и в ней используется 802.1q VLAN для разделения сетей, то для подключения у конкретному VLAN нужно  его в конфигурацию как отдельный интерфейс следующим образом:
212 1 Dmitry Chernyak
<pre>
213 1 Dmitry Chernyak
auto eth0.55
214 1 Dmitry Chernyak
iface eth0.55 inet manual
215 1 Dmitry Chernyak
        up ifconfig eth0.55 up
216 1 Dmitry Chernyak
217 1 Dmitry Chernyak
auto bridge-example-vlan
218 1 Dmitry Chernyak
iface bridge-example-vlan inet manual
219 1 Dmitry Chernyak
        up brctl addbr bridge-example-vlan
220 1 Dmitry Chernyak
        up brctl addif bridge-example-vlan eth0.55
221 1 Dmitry Chernyak
        up brctl stp bridge-example-vlan off
222 1 Dmitry Chernyak
        up ifconfig bridge-example-vlan up
223 1 Dmitry Chernyak
        down ifconfig bridge-example-vlan down
224 1 Dmitry Chernyak
        down brctl delbr bridge-example-vlan
225 1 Dmitry Chernyak
</pre>
226 1 Dmitry Chernyak
Где 55 - номер VLAN.
227 1 Dmitry Chernyak
В этом примере узел не имеет адреса в этой VLAN, однако вы можете назначить адрес узлу в этой сети на бридже bridge-example-vlan так же, как и на обычном бридже.
228 1 Dmitry Chernyak
229 1 Dmitry Chernyak
Альтернативный способ конфигурации VLAN:
230 1 Dmitry Chernyak
<pre>
231 1 Dmitry Chernyak
auto vlan55
232 1 Dmitry Chernyak
iface vlan55 inet manual
233 1 Dmitry Chernyak
        vlan_raw_device eth0
234 1 Dmitry Chernyak
235 1 Dmitry Chernyak
auto bridge-example-vlan
236 1 Dmitry Chernyak
iface bridge-example-vlan inet manual
237 1 Dmitry Chernyak
        bridge_ports vlan55
238 1 Dmitry Chernyak
        bridge_stp off
239 1 Dmitry Chernyak
        bridge_fd 0
240 1 Dmitry Chernyak
</pre>
241 1 Dmitry Chernyak
То же самое, но другим путем.