Проект

Общее

Профиль

FAILOVER-процедуры » История » Версия 28

Николай Алексеев, 18.12.2017 16:59

1 27 Dmitry Chernyak
h1. FAILOVER-процедуры
2 1 Dmitry Chernyak
3 27 Dmitry Chernyak
{{toc}}
4 27 Dmitry Chernyak
5 27 Dmitry Chernyak
[[OVERVIEW]] | [[INSTALL]] | [[SETUP]] | [[OPERATIONS]] | [[LICENSE]]
6 27 Dmitry Chernyak
[[ОБЗОР]] | [[УСТАНОВКА]] | [[НАСТРОЙКА]] | [[ОПЕРАЦИИ]] | [[ЛИЦЕНЗИЯ]]
7 1 Dmitry Chernyak
8 1 Dmitry Chernyak
h1. FAILOVER-процедуры
9 1 Dmitry Chernyak
10 1 Dmitry Chernyak
Обозначения:
11 1 Dmitry Chernyak
<pre>
12 1 Dmitry Chernyak
gnt# - запуск команды на мастер-узле
13 1 Dmitry Chernyak
gntX# - запуск команды на обычном узле
14 1 Dmitry Chernyak
gntY# - запуск команды на другом узле
15 1 Dmitry Chernyak
# - запуск команды на любом узле
16 1 Dmitry Chernyak
</pre>
17 1 Dmitry Chernyak
18 12 Dmitry Chernyak
h2. Запуск на одном действующем мастер-узле
19 1 Dmitry Chernyak
20 1 Dmitry Chernyak
При запуске на одном узле, управление кластером ganeti-masterd не стартует автоматически, даже на master-узле.
21 1 Dmitry Chernyak
Это связано с тем, что невозможно отличить крах второго узла от потери связи, когда на втором узле продолжают работать запущенные виртуалки.
22 1 Dmitry Chernyak
23 12 Dmitry Chernyak
h3. Запуск управляющего демона:
24 12 Dmitry Chernyak
25 1 Dmitry Chernyak
<pre>
26 1 Dmitry Chernyak
gnt# ganeti-masterd --no-voting
27 11 Dmitry Chernyak
</pre>
28 24 Владимир Ипатов
для ganeti 2.10:
29 24 Владимир Ипатов
<pre>
30 25 Владимир Ипатов
gnt-cluster master-failover --no-voting
31 25 Владимир Ипатов
</pre>
32 25 Владимир Ипатов
<pre>
33 24 Владимир Ипатов
su - gnt-masterd -s /bin/bash -c "/usr/sbin/ganeti-masterd --no-voting"
34 24 Владимир Ипатов
</pre>
35 11 Dmitry Chernyak
36 11 Dmitry Chernyak
h3. Перенос виртуальных машин с аварийного узла
37 11 Dmitry Chernyak
38 13 Dmitry Chernyak
Эта операция выполняется один раз. Она поменяет узел запуска для виртуальной машины.
39 13 Dmitry Chernyak
Перенесенные машины автоматически запустятся, если таково их состояние по-умолчанию.
40 13 Dmitry Chernyak
41 13 Dmitry Chernyak
Лучше мигрировать или перезапустить виртуальные машины в штатном режиме, до того, как их узел будет отключен.
42 13 Dmitry Chernyak
Однако, если это случилось внезапно, тогда необходимо дать команду:
43 13 Dmitry Chernyak
44 11 Dmitry Chernyak
<pre>
45 11 Dmitry Chernyak
gnt# gnt-node failover --ignore-consistency gntX
46 11 Dmitry Chernyak
</pre>
47 11 Dmitry Chernyak
48 11 Dmitry Chernyak
49 11 Dmitry Chernyak
h3. Запуск всех виртуальных машин
50 11 Dmitry Chernyak
51 11 Dmitry Chernyak
<pre>
52 11 Dmitry Chernyak
gnt# gnt-instance startup --force --all
53 11 Dmitry Chernyak
</pre>
54 11 Dmitry Chernyak
55 1 Dmitry Chernyak
h2. Штатное переключение master-узла
56 1 Dmitry Chernyak
57 1 Dmitry Chernyak
Оба узла запущены, смена master-узла производится в штатном режиме.
58 1 Dmitry Chernyak
На master-candidate (gntX):
59 1 Dmitry Chernyak
<pre>
60 1 Dmitry Chernyak
gntX# gnt-cluster master-failover
61 1 Dmitry Chernyak
</pre>
62 1 Dmitry Chernyak
63 28 Николай Алексеев
h2. Перевод виртуалки слейва дрбд на другую ноду
64 28 Николай Алексеев
65 28 Николай Алексеев
Переносим слейв дрбд виртуалки на другую ноду gntX
66 28 Николай Алексеев
67 28 Николай Алексеев
<pre>
68 28 Николай Алексеев
replace-disks --new-secondary gntX instance_name
69 28 Николай Алексеев
</pre>
70 28 Николай Алексеев
71 1 Dmitry Chernyak
h2. Выход из строя master-узла
72 1 Dmitry Chernyak
73 1 Dmitry Chernyak
Основной узел (в примере - gnt1) оказывается выключен в результате аппаратной аварии.
74 1 Dmitry Chernyak
75 1 Dmitry Chernyak
Запустить управляющий демон на узле master-candidate (gntX):
76 1 Dmitry Chernyak
<pre>
77 1 Dmitry Chernyak
gntX# ganeti-masterd --no-voting
78 1 Dmitry Chernyak
</pre>
79 1 Dmitry Chernyak
80 1 Dmitry Chernyak
Активировать новый master-узел:
81 1 Dmitry Chernyak
<pre>
82 1 Dmitry Chernyak
gntX# gnt-cluster master-failover --no-voting
83 1 Dmitry Chernyak
</pre>
84 9 Dmitry Chernyak
85 26 Dmitry Chernyak
</pre>
86 26 Dmitry Chernyak
для ganeti 2.10:
87 26 Dmitry Chernyak
<pre>
88 26 Dmitry Chernyak
su - gnt-masterd -s /bin/bash -c "/usr/sbin/ganeti-masterd --no-voting"
89 26 Dmitry Chernyak
</pre>
90 26 Dmitry Chernyak
<pre>
91 26 Dmitry Chernyak
gnt-cluster master-failover --no-voting
92 26 Dmitry Chernyak
</pre>
93 26 Dmitry Chernyak
94 9 Dmitry Chernyak
Пометить отключенный узел offline, чтобы master в него не долбился
95 9 Dmitry Chernyak
-С = master-candidate
96 9 Dmitry Chernyak
-O = offline
97 9 Dmitry Chernyak
<pre>
98 9 Dmitry Chernyak
gnt# gnt-node modify -C no -O yes gntY
99 9 Dmitry Chernyak
</pre>
100 10 Dmitry Chernyak
101 9 Dmitry Chernyak
Запустить все виртуалки отключенного узла на резервном:
102 9 Dmitry Chernyak
<pre>
103 9 Dmitry Chernyak
gnt# gnt-node failover --ignore-consistency gnt1
104 9 Dmitry Chernyak
</pre>
105 9 Dmitry Chernyak
106 1 Dmitry Chernyak
h2. Возврат основного узла в строй
107 1 Dmitry Chernyak
108 1 Dmitry Chernyak
Старый основной узел не будет автоматически запускать управляющего демона.
109 1 Dmitry Chernyak
* если не найдет парного узла,
110 1 Dmitry Chernyak
* если найдет парный узел и узнает, что он стал новым master-ом.
111 1 Dmitry Chernyak
112 15 Dmitry Chernyak
Если при отключении узла он помечался как offline (см. выше), то надо вернуть его в строй:
113 15 Dmitry Chernyak
<pre>
114 15 Dmitry Chernyak
gnt# gnt-node modify -C yes -O no gntX
115 15 Dmitry Chernyak
</pre>
116 15 Dmitry Chernyak
117 1 Dmitry Chernyak
Если на узле сохранились данные, то для включения его обратно в кластер:
118 1 Dmitry Chernyak
119 1 Dmitry Chernyak
Скопировать на него свежую конфигурацию с нового master-а
120 1 Dmitry Chernyak
<pre>
121 1 Dmitry Chernyak
gnt# gnt-cluster redist-conf
122 1 Dmitry Chernyak
</pre>
123 1 Dmitry Chernyak
124 1 Dmitry Chernyak
Запустить на нем ganeti-демоны
125 1 Dmitry Chernyak
<pre>
126 1 Dmitry Chernyak
gntX# /etc/init.d/ganeti restart
127 1 Dmitry Chernyak
</pre>
128 1 Dmitry Chernyak
129 2 Владимир Ипатов
h2. Плановый вывод узла из эксплуатации
130 3 Владимир Ипатов
131 2 Владимир Ипатов
Мигрируем виртуальные машины:
132 2 Владимир Ипатов
<pre>
133 8 Dmitry Chernyak
gnt# gnt-instance migrate имя_машины
134 2 Владимир Ипатов
</pre>
135 2 Владимир Ипатов
136 8 Dmitry Chernyak
Если выводимый узел - мастер, то нужно назначить нового мастера(см. выше *Штатное переключение master узла*).
137 1 Dmitry Chernyak
138 8 Dmitry Chernyak
Вывести узел из списка кандидатов на мастера и перевести его в режим offline (это предотвратит появление сообщений об "аварии"):
139 2 Владимир Ипатов
<pre>
140 8 Dmitry Chernyak
gnt# gnt-node modify -C no -O yes УЗЕЛ
141 2 Владимир Ипатов
</pre>
142 2 Владимир Ипатов
143 2 Владимир Ипатов
Далее узел можно просто выключить.
144 1 Dmitry Chernyak
145 1 Dmitry Chernyak
h3. Возврат узла в кластер
146 1 Dmitry Chernyak
147 8 Dmitry Chernyak
После включения узла нужно сообщить кластеру, что узел вернулся в строй:
148 1 Dmitry Chernyak
<pre>
149 8 Dmitry Chernyak
gnt# gnt-node modify -C yes -O no УЗЕЛ
150 8 Dmitry Chernyak
</pre>
151 8 Dmitry Chernyak
152 8 Dmitry Chernyak
Однако, если у вас имеются сомнения в том, что узел остался в рабочем состоянии, то лучше выполнить:
153 8 Dmitry Chernyak
<pre>
154 2 Владимир Ипатов
gnt# gnt-node add --readd УЗЕЛ
155 8 Dmitry Chernyak
</pre> 
156 8 Dmitry Chernyak
157 7 Dmitry Chernyak
В любом случае, после этого нужно подождать около 5 минут, чтобы демон watcher поднял drbd, либо инициировать процесс вручную:
158 8 Dmitry Chernyak
<pre>
159 5 Владимир Ипатов
gnt# gnt-cluster verify-disks
160 8 Dmitry Chernyak
</pre>
161 1 Dmitry Chernyak
162 1 Dmitry Chernyak
h2. Замена узла на новый
163 17 Dmitry Chernyak
164 1 Dmitry Chernyak
Удалить старый узел из /root/.ssh/known_hosts
165 1 Dmitry Chernyak
166 1 Dmitry Chernyak
Добавить узел в кластер
167 1 Dmitry Chernyak
<pre>
168 1 Dmitry Chernyak
gnt# gnt-node add --readd gntX
169 1 Dmitry Chernyak
</pre>
170 26 Dmitry Chernyak
<pre>
171 26 Dmitry Chernyak
gnt# gnt-cluster redist-conf
172 26 Dmitry Chernyak
</pre>
173 5 Владимир Ипатов
Для всех виртуалок, которые имеют secondary на подключенном узле:
174 1 Dmitry Chernyak
<pre>
175 26 Dmitry Chernyak
gnt# gnt-instance replace-disks --auto INSTANCE
176 18 Dmitry Chernyak
</pre>
177 18 Dmitry Chernyak
178 1 Dmitry Chernyak
Перерегистрировать узел в puppet
179 1 Dmitry Chernyak
<pre>
180 1 Dmitry Chernyak
gnt# gnt-instance console sci
181 17 Dmitry Chernyak
sci# puppetca --clean gntX.fqdn
182 1 Dmitry Chernyak
</pre>
183 1 Dmitry Chernyak
184 1 Dmitry Chernyak
<pre>
185 17 Dmitry Chernyak
gntX# rm -r /var/lib/puppet/ssl/*
186 1 Dmitry Chernyak
gntX# /etc/init.d/puppet restart
187 1 Dmitry Chernyak
</pre>
188 1 Dmitry Chernyak
189 1 Dmitry Chernyak
h2. Замена жесткого диска
190 1 Dmitry Chernyak
191 1 Dmitry Chernyak
Скопировать разметку с существующего (только для дисков одной модели!)
192 1 Dmitry Chernyak
<pre>
193 1 Dmitry Chernyak
# sfdisk -d /dev/sda|sfdisk /dev/sdX
194 1 Dmitry Chernyak
</pre>
195 1 Dmitry Chernyak
Проверить
196 1 Dmitry Chernyak
<pre>
197 1 Dmitry Chernyak
# fdisk -l
198 1 Dmitry Chernyak
</pre>
199 1 Dmitry Chernyak
Добавить в RAID
200 1 Dmitry Chernyak
<pre>
201 1 Dmitry Chernyak
# mdadm --manage /dev/md0 --add /dev/sdX1
202 1 Dmitry Chernyak
# mdadm --manage /dev/md1 --add /dev/sdX2
203 1 Dmitry Chernyak
# mdadm --manage /dev/md2 --add /dev/sdX3
204 1 Dmitry Chernyak
</pre>
205 1 Dmitry Chernyak
Проверить
206 1 Dmitry Chernyak
<pre>
207 1 Dmitry Chernyak
cat /proc/mdstat
208 1 Dmitry Chernyak
</pre>
209 21 Владимир Ипатов
210 21 Владимир Ипатов
h2. Восстановление при split-brain:
211 21 Владимир Ипатов
212 21 Владимир Ипатов
Если при activate-disks или при команде запуска/фейловера drbd ругается следующим образом в dmesg:
213 21 Владимир Ипатов
<pre>
214 21 Владимир Ипатов
[10893282.055705] block drbd21: Handshake successful: Agreed network protocol version 96
215 21 Владимир Ипатов
[10893282.056003] block drbd21: Peer authenticated using 16 bytes of 'md5' HMAC
216 21 Владимир Ипатов
[10893282.056008] block drbd21: conn( WFConnection -> WFReportParams ) 
217 21 Владимир Ипатов
[10893282.056031] block drbd21: Starting asender thread (from drbd21_receiver [20355])
218 21 Владимир Ипатов
[10893282.056303] block drbd21: data-integrity-alg: <not-used>
219 21 Владимир Ипатов
[10893282.056319] block drbd21: drbd_sync_handshake:
220 21 Владимир Ипатов
[10893282.056322] block drbd21: self 5323ED521900E1F9:FCBCCB0FBF14BA04:480CD30FE2A601EA:480BD30FE2A601EB bits:46 flags:0
221 21 Владимир Ипатов
[10893282.056324] block drbd21: peer F3B949426796C7F8:FCBCCB0FBF14BA05:480CD30FE2A601EB:480BD30FE2A601EB bits:12288 flags:2
222 21 Владимир Ипатов
[10893282.056326] block drbd21: uuid_compare()=100 by rule 90
223 21 Владимир Ипатов
[10893282.056329] block drbd21: helper command: /bin/true initial-split-brain minor-21
224 21 Владимир Ипатов
[10893282.073918] block drbd21: meta connection shut down by peer.
225 21 Владимир Ипатов
[10893282.073976] block drbd21: conn( WFReportParams -> NetworkFailure ) 
226 21 Владимир Ипатов
[10893282.073981] block drbd21: asender terminated
227 21 Владимир Ипатов
[10893282.073983] block drbd21: Terminating drbd21_asender
228 21 Владимир Ипатов
[10893282.080752] block drbd21: helper command: /bin/true initial-split-brain minor-21 exit code 0 (0x0)
229 21 Владимир Ипатов
[10893282.080754] block drbd21: Split-Brain detected but unresolved, dropping connection!
230 21 Владимир Ипатов
[10893282.080844] block drbd21: helper command: /bin/true split-brain minor-21
231 21 Владимир Ипатов
[10893282.081481] block drbd21: helper command: /bin/true split-brain minor-21 exit code 0 (0x0)
232 21 Владимир Ипатов
[10893282.081484] block drbd21: conn( NetworkFailure -> Disconnecting ) 
233 21 Владимир Ипатов
[10893282.081487] block drbd21: error receiving ReportState, l: 4!
234 21 Владимир Ипатов
[10893282.081577] block drbd21: Connection closed
235 21 Владимир Ипатов
[10893282.081582] block drbd21: conn( Disconnecting -> StandAlone ) 
236 21 Владимир Ипатов
[10893282.081603] block drbd21: receiver terminated
237 21 Владимир Ипатов
[10893282.081604] block drbd21: Terminating drbd21_receiver
238 21 Владимир Ипатов
[10893282.711704] block drbd22: Handshake successful: Agreed network protocol version 96
239 21 Владимир Ипатов
[10893282.712019] block drbd22: Peer authenticated using 16 bytes of 'md5' HMAC
240 21 Владимир Ипатов
[10893282.712024] block drbd22: conn( WFConnection -> WFReportParams ) 
241 21 Владимир Ипатов
[10893282.712047] block drbd22: Starting asender thread (from drbd22_receiver [23709])
242 21 Владимир Ипатов
[10893282.712301] block drbd22: data-integrity-alg: <not-used>
243 21 Владимир Ипатов
[10893282.712332] block drbd22: drbd_sync_handshake:
244 21 Владимир Ипатов
[10893282.712334] block drbd22: self CD794FB0989E2B95:DD71B308E6D3FE88:AD335B3ED83CE576:AD325B3ED83CE577 bits:7 flags:0
245 21 Владимир Ипатов
[10893282.712336] block drbd22: peer 17B47E98FD204408:DD71B308E6D3FE89:AD335B3ED83CE577:AD325B3ED83CE577 bits:3072 flags:2
246 21 Владимир Ипатов
[10893282.712338] block drbd22: uuid_compare()=100 by rule 90
247 21 Владимир Ипатов
[10893282.712341] block drbd22: helper command: /bin/true initial-split-brain minor-22
248 21 Владимир Ипатов
[10893282.713155] block drbd22: helper command: /bin/true initial-split-brain minor-22 exit code 0 (0x0)
249 21 Владимир Ипатов
[10893282.713157] block drbd22: Split-Brain detected but unresolved, dropping connection!
250 21 Владимир Ипатов
[10893282.713251] block drbd22: helper command: /bin/true split-brain minor-22
251 21 Владимир Ипатов
[10893282.713820] block drbd22: meta connection shut down by peer.
252 21 Владимир Ипатов
[10893282.713889] block drbd22: conn( WFReportParams -> NetworkFailure ) 
253 21 Владимир Ипатов
[10893282.713895] block drbd22: asender terminated
254 21 Владимир Ипатов
[10893282.713897] block drbd22: Terminating drbd22_asender
255 21 Владимир Ипатов
[10893282.713945] block drbd22: helper command: /bin/true split-brain minor-22 exit code 0 (0x0)
256 21 Владимир Ипатов
[10893282.713948] block drbd22: conn( NetworkFailure -> Disconnecting ) 
257 21 Владимир Ипатов
[10893282.713952] block drbd22: error receiving ReportState, l: 4!
258 21 Владимир Ипатов
[10893282.714046] block drbd22: Connection closed
259 21 Владимир Ипатов
[10893282.714050] block drbd22: conn( Disconnecting -> StandAlone ) 
260 21 Владимир Ипатов
[10893282.714070] block drbd22: receiver terminated
261 21 Владимир Ипатов
[10893282.714072] block drbd22: Terminating drbd22_receiver
262 21 Владимир Ипатов
[10893283.140310] block drbd21: conn( StandAlone -> Unconnected ) 
263 21 Владимир Ипатов
[10893283.140323] block drbd21: Starting receiver thread (from drbd21_worker [23682])
264 21 Владимир Ипатов
[10893283.140363] block drbd21: receiver (re)started
265 21 Владимир Ипатов
[10893283.140366] block drbd21: conn( Unconnected -> WFConnection ) 
266 21 Владимир Ипатов
[10893283.498632] block drbd22: conn( StandAlone -> Unconnected ) 
267 21 Владимир Ипатов
[10893283.498646] block drbd22: Starting receiver thread (from drbd22_worker [23702])
268 21 Владимир Ипатов
[10893283.498705] block drbd22: receiver (re)started
269 21 Владимир Ипатов
[10893283.498710] block drbd22: conn( Unconnected -> WFConnection ) 
270 21 Владимир Ипатов
</pre>
271 21 Владимир Ипатов
Здесь мы видим:
272 21 Владимир Ипатов
<pre>
273 21 Владимир Ипатов
[10893282.713155] block drbd22: helper command: /bin/true initial-split-brain minor-22 exit code 0 (0x0)
274 21 Владимир Ипатов
[10893282.713157] block drbd22: Split-Brain detected but unresolved, dropping connection!
275 21 Владимир Ипатов
</pre>
276 21 Владимир Ипатов
277 21 Владимир Ипатов
то, во-первых, нужно установить, где находятся актуальные данные.
278 21 Владимир Ипатов
Когда когда точно установлено, где актуальные данные, мы идем на ноду, где данные *битые*, и там даем команду:
279 21 Владимир Ипатов
<pre>
280 21 Владимир Ипатов
drbdsetup /dev/drbd23 invalidate
281 21 Владимир Ипатов
</pre>
282 21 Владимир Ипатов
Затем на мастере дать activate-disks для этого инстанса, и проследить, что все drbd ресурсы отсинкались.
283 22 Dmitry Chernyak
284 22 Dmitry Chernyak
h2. Восстановление outdated диска
285 22 Dmitry Chernyak
286 22 Dmitry Chernyak
Ситуация: primary узел умер, диск на secondary узле считает себя outdated.
287 22 Dmitry Chernyak
Watcher пишет письма, содержащие в логе такую строку:
288 22 Dmitry Chernyak
<pre>
289 23 Dmitry Chernyak
Error while assembling disk: drbd7: can't make drbd device primary:
290 23 Dmitry Chernyak
 /dev/drbd7: State change failed: (-2) Need access to UpToDate data\n
291 22 Dmitry Chernyak
</pre>
292 22 Dmitry Chernyak
293 22 Dmitry Chernyak
Виртуалка не поднимается, диски не собираются (точнее собираются и отключаются обратно).
294 22 Dmitry Chernyak
Требуется собрать диск вручную и сказать ему что он primary
295 22 Dmitry Chernyak
296 22 Dmitry Chernyak
<pre>
297 22 Dmitry Chernyak
root@gnt1:~# gnt-instance info ИНСТАНС
298 22 Dmitry Chernyak
[skip]
299 22 Dmitry Chernyak
    - disk/0: drbd8, size 117.2G
300 22 Dmitry Chernyak
      access mode: rw
301 22 Dmitry Chernyak
      nodeA:       gnt2.XXXX.ru, minor=2
302 22 Dmitry Chernyak
      nodeB:       gnt3.XXXX.ru, minor=0
303 22 Dmitry Chernyak
      port:        11012
304 22 Dmitry Chernyak
      auth key:    06ca8046f1323d0b154c500f41c0d625cbd796c3
305 22 Dmitry Chernyak
      on primary:  /dev/drbd2 (147:2) in sync, status *DEGRADED*
306 22 Dmitry Chernyak
      child devices:
307 22 Dmitry Chernyak
        - child 0: lvm, size 117.2G
308 22 Dmitry Chernyak
          logical_id: xenvg/813feab3-f7a5-41bb-8a34-5b053ad1c8a6.disk0_data
309 22 Dmitry Chernyak
          on primary: /dev/xenvg/813feab3-f7a5-41bb-8a34-5b053ad1c8a6.disk0_data (253:11)
310 22 Dmitry Chernyak
        - child 1: lvm, size 128M
311 22 Dmitry Chernyak
          logical_id: xenvg/813feab3-f7a5-41bb-8a34-5b053ad1c8a6.disk0_meta
312 22 Dmitry Chernyak
          on primary: /dev/xenvg/813feab3-f7a5-41bb-8a34-5b053ad1c8a6.disk0_meta (253:12)
313 22 Dmitry Chernyak
314 22 Dmitry Chernyak
</pre>
315 1 Dmitry Chernyak
316 1 Dmitry Chernyak
<pre>
317 23 Dmitry Chernyak
root@gnt2:~# drbdsetup /dev/drbd8 disk /dev/xenvg/813feab3-f7a5-41bb-8a34-5b053ad1c8a6.disk0_data \
318 23 Dmitry Chernyak
 /dev/xenvg/813feab3-f7a5-41bb-8a34-5b053ad1c8a6.disk0_meta 0
319 22 Dmitry Chernyak
</pre>
320 22 Dmitry Chernyak
321 22 Dmitry Chernyak
<pre>
322 22 Dmitry Chernyak
root@gnt2:~# drbd-overview 
323 22 Dmitry Chernyak
  0:??not-found??  Connected  Secondary/Primary UpToDate/UpToDate C      r----- 
324 22 Dmitry Chernyak
  8:??not-found??  StandAlone Secondary/Unknown Outdated/DUnknown r-----
325 22 Dmitry Chernyak
</pre> 
326 22 Dmitry Chernyak
327 22 Dmitry Chernyak
root@gnt2:~# drbdsetup /dev/drbd8 primary -f
328 22 Dmitry Chernyak
329 22 Dmitry Chernyak
<pre>
330 22 Dmitry Chernyak
root@gnt2:~# drbd-overview 
331 22 Dmitry Chernyak
  0:??not-found??  Connected  Secondary/Primary UpToDate/UpToDate C      r----- 
332 22 Dmitry Chernyak
  8:??not-found??  StandAlone Primary/Unknown   UpToDate/DUnknown r-----
333 22 Dmitry Chernyak
</pre> 
334 22 Dmitry Chernyak
335 22 Dmitry Chernyak
<pre>
336 22 Dmitry Chernyak
root@gnt2:~# drbdsetup /dev/drbd8 down
337 22 Dmitry Chernyak
</pre>