Настройка сети » История » Версия 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 | То же самое, но другим путем. |