Проект

Общее

Профиль

НАСТРОЙКА » История » Версия 4

Dmitry Chernyak, 26.11.2012 00:07

1 1 Владимир Ипатов
h1. НАСТРОЙКА
2 1 Владимир Ипатов
3 2 Владимир Ипатов
{{toc}}
4 2 Владимир Ипатов
5 4 Dmitry Chernyak
[[УСТАНОВКА]] | [[СБОРКА-ISO]] | [[НАСТРОЙКА]] | [[ОПЕРАЦИИ]] | [[ЛИЦЕНЗИЯ]] | [[СОСТОЯНИЕ]]
6 4 Dmitry Chernyak
in English: [[OVERVIEW]] | [[INSTALL]] | [[BUILD-ISO]] | [[SETUP]] | [[OPERATIONS]] | [[GITMAGIC]] | [[LICENSE]] | [[STATUS]]
7 4 Dmitry Chernyak
8 2 Владимир Ипатов
Перед началом настройки убедитесь, что обе ноды включены и функционируют.
9 2 Владимир Ипатов
10 2 Владимир Ипатов
Если Вы планируете использовать второй сетевой адаптер для drbd линка, перед инициализацией кластера Вы должны настроить его.
11 2 Владимир Ипатов
Войдите на первую ноду по ssh. Из-за недоступности DNS на ноде на данный момент, перед запросом пароля возможна
12 2 Владимир Ипатов
пауза до минуты.
13 2 Владимир Ипатов
14 1 Владимир Ипатов
h2. Настройка сети
15 2 Владимир Ипатов
16 2 Владимир Ипатов
Схемы настройки сети могут сильно различаться.
17 2 Владимир Ипатов
Далее мы рассмотрим несколько распространенных примеров.
18 2 Владимир Ипатов
19 2 Владимир Ипатов
h3. Простая схема - один ethernet для всего
20 2 Владимир Ипатов
21 2 Владимир Ипатов
Один интерфейс, одна подсеть, подключение к интернет предоставляется сторонним(не входящим в кластер) сетевым оборудованием.
22 2 Владимир Ипатов
В данной настройке обе ноды должны быть подключены к гигабитному свитчу.
23 2 Владимир Ипатов
По умолчанию установщик создает бридж xen-br0. Вы можете изменить параметры, изменяя /etc/network/interfaces.
24 2 Владимир Ипатов
Изначально он выглядит примерно так:
25 2 Владимир Ипатов
<pre>
26 2 Владимир Ипатов
auto xen-br0
27 2 Владимир Ипатов
iface xen-br0 inet static
28 2 Владимир Ипатов
        address 192.168.5.88
29 2 Владимир Ипатов
        netmask 255.255.255.0
30 2 Владимир Ипатов
        network 192.168.5.0
31 2 Владимир Ипатов
        broadcast 192.168.5.255
32 2 Владимир Ипатов
        gateway 192.168.5.1
33 2 Владимир Ипатов
        bridge_ports eth0
34 2 Владимир Ипатов
        bridge_stp off
35 2 Владимир Ипатов
        bridge_fd 0
36 2 Владимир Ипатов
#       up ifconfig eth0 mtu 9000
37 2 Владимир Ипатов
#       up ifconfig xen-br0 mtu 9000
38 2 Владимир Ипатов
</pre>
39 2 Владимир Ипатов
Важные параметры, помимо настроек ipv4:
40 2 Владимир Ипатов
<pre>
41 2 Владимир Ипатов
bridge_ports eth0
42 2 Владимир Ипатов
</pre>
43 2 Владимир Ипатов
Означает, какое сетевое устройство привязано к бриджу.
44 2 Владимир Ипатов
<pre>
45 2 Владимир Ипатов
up ifconfig eth0 mtu 9000
46 2 Владимир Ипатов
up ifconfig xen-br0 mtu 9000
47 2 Владимир Ипатов
</pre>
48 2 Владимир Ипатов
Настройка jumbo frame на бридже для большей скорости сети и меньшей нагрузки на процессор
49 2 Владимир Ипатов
Это актуально для интерфейса, на котором будет drbd линк.
50 2 Владимир Ипатов
Однако, включение jumbo frame приведет к проблемам со связью с любым сетевым оборудованием,
51 2 Владимир Ипатов
не поддерживающим это. Поэтому данные параметры закомментированы по умолчанию.
52 2 Владимир Ипатов
53 2 Владимир Ипатов
h3. Схема по умолчанию - 2 ethernet, один для интерлинка(взаимодействия ganeti и drbd линка) и один для локальной сети.
54 2 Владимир Ипатов
55 2 Владимир Ипатов
Эта схема предпочтительна для большинства ситуаций.
56 2 Владимир Ипатов
Она не требует наличия гигабитных свитчей, предоставляет неплохую надежность и производительность при низких затратах.
57 2 Владимир Ипатов
Два гигабитных интерфейса на нодах подключены друг к другу напрямую или через гигабитный свитч(если Вы хотите более чем 2 ноды в кластере).
58 2 Владимир Ипатов
Остальные интерфейсы подключаются в lan.
59 2 Владимир Ипатов
В этой схеме сбой в локальной сети не влияет на работоспособность кластера.
60 2 Владимир Ипатов
Пример конфигурации /etc/network/interfaces для этой схемы.
61 2 Владимир Ипатов
<pre>auto xen-br0
62 2 Владимир Ипатов
iface xen-br0 inet static
63 2 Владимир Ипатов
	address 192.168.236.1
64 2 Владимир Ипатов
	netmask 255.255.255.0
65 2 Владимир Ипатов
	network 192.168.236.0
66 2 Владимир Ипатов
	broadcast 192.168.236.255
67 2 Владимир Ипатов
        bridge_ports eth0
68 2 Владимир Ипатов
        bridge_stp off
69 2 Владимир Ипатов
        bridge_fd 0
70 2 Владимир Ипатов
#	up ifconfig eth0 mtu 9000
71 2 Владимир Ипатов
#	up ifconfig xen-br0 mtu 9000
72 2 Владимир Ипатов
73 2 Владимир Ипатов
auto xen-lan
74 2 Владимир Ипатов
iface xen-lan inet static
75 2 Владимир Ипатов
	address 192.168.5.55
76 2 Владимир Ипатов
	netmask 255.255.255.0
77 2 Владимир Ипатов
	network 192.168.5.0
78 2 Владимир Ипатов
	broadcast 192.168.5.255
79 2 Владимир Ипатов
	gateway 192.168.5.1
80 2 Владимир Ипатов
	bridge_ports eth1
81 2 Владимир Ипатов
	bridge_stp off
82 2 Владимир Ипатов
	bridge_fd 0
83 2 Владимир Ипатов
</pre>
84 2 Владимир Ипатов
Бридж xen-br0 используется для drbd и ganeti обмена, он настроен при установке нод.
85 2 Владимир Ипатов
Также адрес днс сервера настроен установщиком - это будет адрес нашей сервисной машины(sci).
86 2 Владимир Ипатов
Бридж xen-lan используется для подключения к локальной сети и должен быть настроен вручную.
87 2 Владимир Ипатов
В такой конфигурации Вы должны заполнить следующие переменные в sci.conf:
88 2 Владимир Ипатов
NODE1_IP - Уже настроено установщиком.
89 2 Владимир Ипатов
NODE1_NAME - Уже настроено установщиком.
90 2 Владимир Ипатов
NODE2_IP - укажите ip адрес второй ноды на интерлинке(например, 192.168.236.2)
91 2 Владимир Ипатов
NODE2_NAME - укажите имя второй ноды(напр. gnt2)
92 2 Владимир Ипатов
NODE1_LAN_IP - ip адрес первой ноды в локальной сети. Он будет доступен в днс под именем $NODE1_NAME-lan.$DOMAIN(напр. 192.168.5.55)
93 2 Владимир Ипатов
NODE2_LAN_IP - ip адрес второй ноды в локальной сети. Он будет доступен в днс под именем $NODE2_NAME-lan.$DOMAIN(напр. 192.168.5.56)
94 2 Владимир Ипатов
CLUSTER_IP - Адрес кластера в локальной сети. НЕ должен совпадать с любым другим существующим адресом. Напр. 192.168.5.35.
95 1 Владимир Ипатов
CLUSTER_NAME - Имя кластера в локальной сети. Будет доступно в днс под $CLUSTER_NAME.
96 3 Владимир Ипатов
SCI_LAN_IP - если Вы хотите, чтобы виртуальная машина sci присутствовала в lan, назначьте этот адрес, напр. 192.168.5.95
97 2 Владимир Ипатов
98 2 Владимир Ипатов
h3. Много бриджей с маршрутизацией и прямым доступом в интернет.
99 1 Владимир Ипатов
100 3 Владимир Ипатов
Это немного более сложная конфигурация сети.
101 3 Владимир Ипатов
В этом примере мы имеем две приватные сети и одно подключение к wan. Вся маршрутизация и фильтрация трафика
102 3 Владимир Ипатов
выполняется отдельной виртуальной машиной-фаерволом внутри кластера.
103 3 Владимир Ипатов
Такая конфигурация подходит Вам, если у Вас нет дорогого и качественного сетевого оборудования для маршутизации и фильтрации.
104 3 Владимир Ипатов
/etc/default/interfaces на нодах будет выглядить наподобие этого:
105 2 Владимир Ипатов
<pre>
106 2 Владимир Ипатов
auto lan
107 2 Владимир Ипатов
iface lan inet static
108 2 Владимир Ипатов
	address 192.168.21.10
109 2 Владимир Ипатов
	netmask 255.255.255.0
110 2 Владимир Ипатов
        bridge_ports eth0
111 2 Владимир Ипатов
        bridge_stp off
112 2 Владимир Ипатов
        bridge_fd 0
113 2 Владимир Ипатов
114 2 Владимир Ипатов
auto server
115 2 Владимир Ипатов
iface server inet static
116 2 Владимир Ипатов
	address 192.168.20.10
117 2 Владимир Ипатов
	netmask 255.255.255.0
118 2 Владимир Ипатов
	gateway 192.168.20.1
119 2 Владимир Ипатов
        bridge_ports eth1
120 2 Владимир Ипатов
        bridge_stp off
121 2 Владимир Ипатов
        bridge_fd 0
122 2 Владимир Ипатов
        up ifconfig eth1 mtu 9000
123 2 Владимир Ипатов
        up ifconfig dmz mtu 9000
124 2 Владимир Ипатов
125 1 Владимир Ипатов
auto wan1
126 1 Владимир Ипатов
iface wan1 inet manual
127 1 Владимир Ипатов
        bridge_ports eth2
128 1 Владимир Ипатов
        bridge_stp off
129 1 Владимир Ипатов
        bridge_fd 0
130 1 Владимир Ипатов
</pre>
131 3 Владимир Ипатов
Здесь мы имеем отдельный интерфейс для lan, серверный интерфейс (в данном примере сервера отделены от локальной
132 3 Владимир Ипатов
сети и клиенты подключаются к серверам через роутер в виртуальной машине) и подключение к wan.
133 3 Владимир Ипатов
Серверный интерфейс служит еще и для ganeti обмена и drbd линка, так что на нем установлен mtu 9000.
134 3 Владимир Ипатов
В этом примере мы не имеем адреса в wan на гипервизорах, однако мы рекомендуем Вам получить у Вашего провайдера
135 3 Владимир Ипатов
подесь для того, чтобы можно было назначить гипервизору публичные ip адреса для того, чтобы иметь доступ к ним
136 3 Владимир Ипатов
даже если виртуальная машина с маршрутизатором не функционирует.
137 3 Владимир Ипатов
В этом примере мы должны назначить следующие переменные в sci.conf:
138 3 Владимир Ипатов
NODE1_IP - Уже настроено установщиком.
139 3 Владимир Ипатов
NODE1_NAME - Уже настроено установщиком.
140 3 Владимир Ипатов
NODE2_IP - укажите ip адрес второй ноды на интерлинке(например, 192.168.20.2)
141 3 Владимир Ипатов
NODE2_NAME - укажите имя второй ноды(напр. gnt2)
142 3 Владимир Ипатов
NODE1_LAN_IP - ip адрес первой ноды в локальной сети. Он будет доступен в днс под именем $NODE1_NAME-lan.$DOMAIN(напр. 192.168.21.55)
143 3 Владимир Ипатов
NODE2_LAN_IP - ip адрес второй ноды в локальной сети. Он будет доступен в днс под именем $NODE2_NAME-lan.$DOMAIN(напр. 192.168.21.56)
144 3 Владимир Ипатов
CLUSTER_IP - Адрес кластера в сегменте серверов. НЕ должен совпадать с любым другим существующим адресом. Напр. 192.168.20.35.
145 3 Владимир Ипатов
CLUSTER_NAME - Имя кластера в сегменте серверов. Будет доступно в днс под $CLUSTER_NAME.
146 3 Владимир Ипатов
SCI_LAN_IP - если Вы хотите, чтобы виртуальная машина sci присутствовала в lan, назначьте этот адрес, напр. 192.168.20.95
147 2 Владимир Ипатов
148 3 Владимир Ипатов
А это пример /etc/network/interfaces на виртуальной машине-роутере:
149 2 Владимир Ипатов
<pre>
150 2 Владимир Ипатов
auto eth0
151 2 Владимир Ипатов
iface eth0 inet static
152 1 Владимир Ипатов
   address 192.168.20.1
153 2 Владимир Ипатов
   netmask 255.255.255.0
154 2 Владимир Ипатов
155 1 Владимир Ипатов
auto eth1
156 1 Владимир Ипатов
iface eth1 inet static
157 2 Владимир Ипатов
   address 192.168.21.1
158 2 Владимир Ипатов
   netmask 255.255.255.0
159 2 Владимир Ипатов
160 2 Владимир Ипатов
auto eth2
161 2 Владимир Ипатов
iface eth2 inet static
162 2 Владимир Ипатов
   address 1.1.1.2
163 2 Владимир Ипатов
   netmask 255.255.255.0
164 2 Владимир Ипатов
   address 1.1.1.1
165 2 Владимир Ипатов
</pre>
166 3 Владимир Ипатов
Где eth0 подключен к server, eth1 к lan, eth2 к wan.
167 2 Владимир Ипатов
168 2 Владимир Ипатов
h3. Datacenter schema - separate interfaces for lan, ganeti interoperation, drbd link.
169 3 Владимир Ипатов
h3. Схема для датацентров - отдельные интерфейсы для lan, ganeti обмена, drbd линка.
170 2 Владимир Ипатов
171 3 Владимир Ипатов
Если у Вас мощная сетевая инфраструктура.
172 3 Владимир Ипатов
Здесь мы имеем отдельный интерфейс для ganeti обмена(в данной конфигурации его можно называть сегментом для управления)
173 2 Владимир Ипатов
<pre>auto mgmt
174 2 Владимир Ипатов
iface mgmt inet static
175 2 Владимир Ипатов
    address 192.168.236.1
176 2 Владимир Ипатов
    netmask 255.255.255.0
177 2 Владимир Ипатов
    network 192.168.236.0
178 2 Владимир Ипатов
    gateway 192.168.236.1
179 2 Владимир Ипатов
    broadcast 192.168.236.255
180 2 Владимир Ипатов
        bridge_ports eth0
181 2 Владимир Ипатов
        bridge_stp off
182 2 Владимир Ипатов
        bridge_fd 0
183 2 Владимир Ипатов
184 2 Владимир Ипатов
auto xen-san
185 1 Владимир Ипатов
iface xen-san inet static
186 1 Владимир Ипатов
    address 192.168.237.1
187 1 Владимир Ипатов
    netmask 255.255.255.0
188 1 Владимир Ипатов
    network 192.168.237.0
189 1 Владимир Ипатов
    broadcast 192.168.237.255
190 1 Владимир Ипатов
    bridge_ports eth1
191 1 Владимир Ипатов
    bridge_stp off
192 1 Владимир Ипатов
    bridge_fd 0
193 1 Владимир Ипатов
    up ifconfig eth1 mtu 9000
194 1 Владимир Ипатов
    up ifconfig xen-san mtu 9000
195 1 Владимир Ипатов
196 1 Владимир Ипатов
auto xen-lan
197 1 Владимир Ипатов
iface xen-lan inet manual
198 1 Владимир Ипатов
    bridge_ports eth2
199 1 Владимир Ипатов
    bridge_stp off
200 1 Владимир Ипатов
    bridge_fd 0
201 1 Владимир Ипатов
</pre>
202 3 Владимир Ипатов
В данном примере ноды не имеют адреса в lan.
203 3 Владимир Ипатов
Вы должны заполнить следующие переменные в sci.conf:
204 3 Владимир Ипатов
NODE1_IP - Уже настроено установщиком.
205 3 Владимир Ипатов
NODE1_NAME - Уже настроено установщиком.
206 3 Владимир Ипатов
NODE2_IP - укажите ip адрес второй ноды на интерлинке(например, 192.168.236.2)
207 3 Владимир Ипатов
NODE2_NAME - укажите имя второй ноды(напр. gnt2)
208 3 Владимир Ипатов
NODE1_SAN_IP - ip адрес первой ноды в СХД. Он будет доступен в днс под именем $NODE1_NAME-san.$DOMAIN(напр. 192.168.237.1)
209 3 Владимир Ипатов
NODE2_SAN_IP - ip адрес второй ноды в СХД. Он будет доступен в днс под именем $NODE2_NAME-san.$DOMAIN(напр. 192.168.237.2)
210 3 Владимир Ипатов
CLUSTER_IP - Адрес кластера в локальной сети. НЕ должен совпадать с любым другим существующим адресом. Напр. 192.168.35.5.
211 3 Владимир Ипатов
CLUSTER_NAME - Имя кластера в локальной сети. Будет доступно в днс под $CLUSTER_NAME.
212 3 Владимир Ипатов
SCI_LAN_IP - если Вы хотите, чтобы виртуальная машина sci присутствовала в lan, назначьте этот адрес, напр. 192.168.35.95
213 3 Владимир Ипатов
SCI_LAN_NETMASK - ноды не имеют адреса в lan, поэтому требуется указать маску для этой сети, напр. 255.255.255.0
214 3 Владимир Ипатов
SCI_LAN_GATEWAY - ноды не имеют адреса в lan, поэтому требуется указать шлюз для этой сети, напр. 192.168.35.1
215 1 Владимир Ипатов
216 3 Владимир Ипатов
Конечно, в данных условиях удобно использовать VLAN-ы. Следующий пример опишет, как. Однако, следует помнить, что drbd линк
217 3 Владимир Ипатов
должен быть на отдельном сетевом интерфейсе.
218 1 Владимир Ипатов
219 3 Владимир Ипатов
h3. Схема с VLAN
220 1 Владимир Ипатов
221 3 Владимир Ипатов
Если у Вас есть управляемые свитчи, Вы можете настроить сеть в кластере с VLAN.
222 3 Владимир Ипатов
Вы должны добавить в конфиг на каждый вилан что-то наподобие этого:
223 1 Владимир Ипатов
<pre>
224 2 Владимир Ипатов
auto eth0.55
225 1 Владимир Ипатов
iface eth0.55 inet manual
226 1 Владимир Ипатов
        up ifconfig eth0.55 up
227 1 Владимир Ипатов
228 2 Владимир Ипатов
auto bridge-example-vlan
229 2 Владимир Ипатов
iface bridge-example-vlan inet manual
230 2 Владимир Ипатов
        up brctl addbr bridge-example-vlan
231 2 Владимир Ипатов
        up brctl addif bridge-example-vlan eth0.55
232 2 Владимир Ипатов
        up brctl stp bridge-example-vlan off
233 2 Владимир Ипатов
        up ifconfig bridge-example-vlan up
234 2 Владимир Ипатов
        down ifconfig bridge-example-vlan down
235 2 Владимир Ипатов
        down brctl delbr bridge-example-vlan
236 2 Владимир Ипатов
</pre>
237 3 Владимир Ипатов
Где 55 - номер вилана.
238 3 Владимир Ипатов
В этом примере нода не имеет адреса в этом вилане, однако Вы можете назначить адрес ноде на этом бридже
239 3 Владимир Ипатов
так же, как и на обычном бридже.
240 2 Владимир Ипатов
241 3 Владимир Ипатов
Альтернативный способ конфигурации:
242 2 Владимир Ипатов
<pre>
243 1 Владимир Ипатов
auto vlan55
244 1 Владимир Ипатов
iface vlan55 inet manual
245 1 Владимир Ипатов
   vlan_raw_device eth0
246 1 Владимир Ипатов
247 2 Владимир Ипатов
auto bridge-example-vlan
248 2 Владимир Ипатов
iface bridge-example-vlan inet manual
249 2 Владимир Ипатов
           bridge_ports vlan55
250 2 Владимир Ипатов
        bridge_stp off
251 1 Владимир Ипатов
        bridge_fd 0
252 2 Владимир Ипатов
</pre>
253 3 Владимир Ипатов
Это делает то же самое, но другим путем.
254 2 Владимир Ипатов
255 3 Владимир Ипатов
h2. Задание параметров для кластера
256 2 Владимир Ипатов
257 3 Владимир Ипатов
Для задания параметров следует отредактировать @/etc/sci/sci.conf@
258 1 Владимир Ипатов
259 3 Владимир Ипатов
Большинство параметров уже было описано выше в секции "Настройка сети".
260 3 Владимир Ипатов
Здесь указаны дополнительные замечания по поводу настройки:
261 2 Владимир Ипатов
262 3 Владимир Ипатов
* Вы должны указывать параметры двух нод в соотвествии с тем, как Вы их настроили.
263 2 Владимир Ипатов
264 3 Владимир Ипатов
* *ПРИМЕЧАНИЕ*: Вы можете настроить кластер и с одной нодой. В этом случае оставьте переменные NODE2_* пустыми.
265 3 Владимир Ипатов
По факту это опасная конфигурация, о чем Вы и будете предупреждены во время инициализации кластера.
266 2 Владимир Ипатов
267 3 Владимир Ипатов
* Вы обязательно должны указать имя кластера и его ip адрес
268 1 Владимир Ипатов
269 3 Владимир Ипатов
* NODE#_SAN_IP должен быть указан для обоих нод или ни для одной.
270 2 Владимир Ипатов
271 3 Владимир Ипатов
* NODE#_LAN_IP должен быть указан для обоих нод или ни для одной.
272 1 Владимир Ипатов
273 3 Владимир Ипатов
* Если Вы не имеете подключения к интернету или имеете локальные зеркала для apt, скорректируйте переменные APT_*
274 1 Владимир Ипатов
275 3 Владимир Ипатов
* Если Вы хотите передавать запросы на сторонние днс сервера, заполните DNS_FORWARDERS (не забудьте на конце ';').
276 1 Владимир Ипатов
277 3 Владимир Ипатов
* MASTER_NETDEV - имя сетевого интерфейса для поднятия ip адреса кластера. Авто-определение по умолчанию.
278 1 Владимир Ипатов
279 3 Владимир Ипатов
* LAN_NETDEV - Сетевой интерфейс по умолчанию для виртуальных машин. Авто-определение по умолчанию.
280 1 Владимир Ипатов
281 3 Владимир Ипатов
* RESERVED_VOLS - Список lvm томов, игнорируемых ganeti. Разделяется запятой. Следует указывать VG для каждого элемента списка.
282 1 Владимир Ипатов
283 2 Владимир Ипатов
284 3 Владимир Ипатов
h2. Инициализация кластера
285 2 Владимир Ипатов
286 3 Владимир Ипатов
Запустите:
287 2 Владимир Ипатов
288 2 Владимир Ипатов
<pre>
289 2 Владимир Ипатов
# sci-setup cluster
290 2 Владимир Ипатов
</pre>
291 2 Владимир Ипатов
292 3 Владимир Ипатов
Проверьте выведенные настройке и примите их, либо скорректируйте и запустите скрипт еще раз.
293 3 Владимир Ипатов
После принятия настроек запустится процесс инициализации кластера.
294 3 Владимир Ипатов
Далее Вы должны принять ssh ключ для второй ноды и набрать root пароль для второй ноды.
295 3 Владимир Ипатов
В конце Вы увидите вывод команды диагностики кластера. Он будет выглядеть наподобие этого:
296 2 Владимир Ипатов
<pre>
297 2 Владимир Ипатов
Verify
298 2 Владимир Ипатов
Wed Jan 12 15:36:10 2011 * Verifying global settings
299 2 Владимир Ипатов
Wed Jan 12 15:36:10 2011 * Gathering data (1 nodes)
300 2 Владимир Ипатов
Wed Jan 12 15:36:11 2011 * Verifying node status
301 2 Владимир Ипатов
Wed Jan 12 15:36:11 2011 * Verifying instance status
302 2 Владимир Ипатов
Wed Jan 12 15:36:11 2011 * Verifying orphan volumes
303 2 Владимир Ипатов
Wed Jan 12 15:36:11 2011 * Verifying orphan instances
304 2 Владимир Ипатов
Wed Jan 12 15:36:11 2011 * Verifying N+1 Memory redundancy
305 2 Владимир Ипатов
Wed Jan 12 15:36:11 2011 * Other Notes
306 2 Владимир Ипатов
Wed Jan 12 15:36:11 2011 * Hooks Results
307 2 Владимир Ипатов
Node                    DTotal  DFree MTotal MNode MFree Pinst Sinst
308 2 Владимир Ипатов
gnt1.ganeti.example.org 100.0G 100.0G  1020M  379M  625M     0     0
309 2 Владимир Ипатов
gnt2.ganeti.example.org 100.0G 100.0G  1020M  379M  625M     0     0
310 2 Владимир Ипатов
If all is ok, proceed with /usr/local/sbin/sci-setup service
311 2 Владимир Ипатов
</pre>
312 2 Владимир Ипатов
313 3 Владимир Ипатов
h2. Установка сервисной виртуальной машины
314 2 Владимир Ипатов
315 3 Владимир Ипатов
Имя хоста для нашей сервисной виртуальной машине - sci, также имеются несколько алиасов.
316 3 Владимир Ипатов
Ее основной ip адрес берется из @/etc/resolv.conf@ на первой нодею
317 3 Владимир Ипатов
Эта виртуальная машина должна присутствовать в @/etc/hosts@ на обоих нодах.
318 2 Владимир Ипатов
319 3 Владимир Ипатов
Запустите:
320 2 Владимир Ипатов
321 2 Владимир Ипатов
<pre>
322 2 Владимир Ипатов
# sci-setup service
323 2 Владимир Ипатов
</pre>
324 2 Владимир Ипатов
325 3 Владимир Ипатов
Вы увидите индикатор процесса синхронизации drbd дисков, затем:
326 2 Владимир Ипатов
<pre>
327 2 Владимир Ипатов
* running the instance OS create scripts...
328 2 Владимир Ипатов
</pre>
329 2 Владимир Ипатов
appears. The further may take a while. The process finishes with
330 2 Владимир Ипатов
<pre>
331 2 Владимир Ипатов
* starting instance...
332 2 Владимир Ипатов
</pre>
333 2 Владимир Ипатов
334 3 Владимир Ипатов
Теперь Вы можете подключиться к консоли виртуальной машины:
335 2 Владимир Ипатов
336 2 Владимир Ипатов
<pre>
337 2 Владимир Ипатов
# gnt-instance console sci
338 2 Владимир Ипатов
</pre>
339 2 Владимир Ипатов
340 3 Владимир Ипатов
Логиньтесь под рутом, пароль пустой.
341 3 Владимир Ипатов
*ПРИМЕЧАНИЕ*: Т.е. рутовый пароль пуст, ssh соединения запрещены. Установите пароль и установите @openssh-server@.
342 2 Владимир Ипатов
343 3 Владимир Ипатов
h2. Автонастройка сервисной машины
344 2 Владимир Ипатов
345 3 Владимир Ипатов
Система будет настроена автоматически посредством puppet.
346 3 Владимир Ипатов
Вы можете следить за процессом выполнения в @/var/log/daemon.log@.
347 3 Владимир Ипатов
Поначалу в системе не будет команды @less@, но Вы можете использовать @more@, @cat@, @tail@ или @tail -f@
348 3 Владимир Ипатов
пока @less@ не будет автоматически установлен.
349 3 Владимир Ипатов
В процессе автонастройки может потребоваться перезапустить puppet. По умолчанию он запускается каждые полчаса.
350 3 Владимир Ипатов
При желании можно перезапустить его руками:
351 2 Владимир Ипатов
<pre>
352 2 Владимир Ипатов
# /etc/init.d/puppet restart
353 2 Владимир Ипатов
</pre>
354 2 Владимир Ипатов
355 3 Владимир Ипатов
Повторяйте это раз в несколько минут, пока не увидите, что puppet больше ничего не делает.
356 2 Владимир Ипатов
357 3 Владимир Ипатов
h2. Установка новых виртуальных машин
358 2 Владимир Ипатов
359 3 Владимир Ипатов
Новые виртуальные машины добавляются стандартными командами ganeti:
360 2 Владимир Ипатов
361 2 Владимир Ипатов
<pre>
362 2 Владимир Ипатов
gnt-instance add -t drbd -o debootstrap+default -s 10g -B memory=256m -n NODE1_NAME:NODE2_NAME INSTANCE_NAME
363 2 Владимир Ипатов
</pre>
364 2 Владимир Ипатов
365 3 Владимир Ипатов
Однако, наш проект дополняет процесс несколькими специфичными хуками:
366 3 Владимир Ипатов
# На каждую машину ставится @puppet@ для автоконфигурации, @openssh-client@ для обмена файлами и т.д.
367 3 Владимир Ипатов
# На каждую машину ставится pygrub.
368 3 Владимир Ипатов
# Сетевые настройки для машины могут быть назначены автоматически(см. ниже).
369 2 Владимир Ипатов
370 3 Владимир Ипатов
h3. Автонастройка сети на виртуальных машинах.
371 2 Владимир Ипатов
372 3 Владимир Ипатов
Если Вам необходимо, чтобы виртуальные машины могли быть подключены к нескольким сетям и Вам необходимы статичные
373 3 Владимир Ипатов
настройки сети на неих, Вы должны заполнить файл @/etc/ganeti/networks@ всеми нужными для подключения машин сетями.
374 3 Владимир Ипатов
Каждая строчка файла имеет формат:
375 2 Владимир Ипатов
376 1 Владимир Ипатов
|NETWORK|NETMASK|BROADCAST|GATEWAY|
377 1 Владимир Ипатов
378 1 Владимир Ипатов
379 3 Владимир Ипатов
Ganeti instance debootstrap хук смотрит в этот файл, находит сеть для заданного ip и настраивает сеть
380 3 Владимир Ипатов
на виртуальной машине автоматически.
381 1 Владимир Ипатов
382 3 Владимир Ипатов
*ПРИМЕЧАНИЕ*: Этот файл заполняется при инициализации кластера, так что в большинстве случаев Вам не потребуетя
383 3 Владимир Ипатов
туда что-то добавлять.
384 3 Владимир Ипатов
*ПРИМЕЧАНИЕ*: файл networs должен присутствовать на каждой ноде (еще не автоматизировано).
385 1 Владимир Ипатов
386 3 Владимир Ипатов
h2. Операции с кластером
387 3 Владимир Ипатов
388 3 Владимир Ипатов
Читайте в [[OPERATIONS]].