Апгрейд с wheezy на stretch (2x до 3х) » История » Версия 3
Владимир Ипатов, 19.01.2020 14:46
1 | 1 | Владимир Ипатов | h1. Апгрейд с wheezy на stretch (2x до 3х) |
---|---|---|---|
2 | 1 | Владимир Ипатов | |
3 | 1 | Владимир Ипатов | Данный апгрейд может проводиться с минимальным простоем, т.к. внутри одного кластера могут успешно работать узлы версии 2.х и 3.х, в том числе работает репликация DRBD между узлами версии 2.х и 3.х |
4 | 1 | Владимир Ипатов | |
5 | 1 | Владимир Ипатов | В случае Linux виртуальных машин требуется только одна перезагрузка при переносе с 2.x узла на 3.х узла. |
6 | 1 | Владимир Ипатов | |
7 | 1 | Владимир Ипатов | В случае Windows виртуальных машин иногда требуется однократная загрузка в безопасном режиме и/или заход под пользователем в локальную консоль виртуальной машины для установки "нового" эмулируемого диска и сетевой карты. |
8 | 1 | Владимир Ипатов | |
9 | 1 | Владимир Ипатов | h2. Общая процедура апгрейда |
10 | 1 | Владимир Ипатов | |
11 | 1 | Владимир Ипатов | 1) обновляются все резервные узлы кластера. Это можно сделать обновлением дистрибутива (см. выше) или переустановкой узлов с нуля. Переустановка узлов с нуля - менее сложный процесс, но более длительный, т.к. придется заново ресинкать все тома всех виртуальных машин. |
12 | 1 | Владимир Ипатов | 2) после обновления всех резервных узлов делаются настройки кластера, позволяющие работать в смешанном окружении. Смешанный кластер до момента перенастройки не может выполнять операции по старту/остановке виртуальных машин, их переносу, перенастройке и т.д. |
13 | 1 | Владимир Ипатов | 3) все виртуальные машины переносятся на резервные узлы, их проверяется работоспособность. |
14 | 1 | Владимир Ипатов | 4) обновляются узлы второй половины кластера. |
15 | 1 | Владимир Ипатов | |
16 | 1 | Владимир Ипатов | h2. Апгрейд узла |
17 | 1 | Владимир Ипатов | |
18 | 1 | Владимир Ипатов | Для апгрейда узла два способа: |
19 | 1 | Владимир Ипатов | 1) Переустановка узла (легкий, но долгий путь, требует ресинка дрбд на всех виртуальных машинах) |
20 | 1 | Владимир Ипатов | 2) Обновление пакетов (трудоемкий путь, но позволяет быстрее выполнить миграцию, не требует ресинка дрбд) |
21 | 1 | Владимир Ипатов | |
22 | 1 | Владимир Ипатов | h3. Переустановка узла |
23 | 1 | Владимир Ипатов | |
24 | 1 | Владимир Ипатов | Для апгрейда с переустановкой узла требуется: |
25 | 1 | Владимир Ипатов | |
26 | 1 | Владимир Ипатов | 1) сохранить содержимое файла /etc/network/interfaces и /etc/hostname на обновляемом узле |
27 | 1 | Владимир Ипатов | 2) загрузиться с флешки/диска и установить на обновляемый узел SkyCover 3.x. При этом нужно при установке ввести такой же lan ip, хостнейм, домен, какой был. подробнее: [[УСТАНОВКА]] |
28 | 1 | Владимир Ипатов | 3) настроить конфиг сетевых интерфейсов /etc/network/interfaces, используя сохраненное содержимое, перезапустить сеть с помощью service networking restart. |
29 | 1 | Владимир Ипатов | 4) порядок сетевых интерфейсов мог поменяться, проверить пинг до мастера через backbone, lan и т.д. Если что-то не совпадает, то, отключая кабель по одному сетевому интерфейсу и запуска ip link show (показывает, где нет линка) идентифицировать сетевые интерфейсы и переназначить их в /etc/network/interfaces, перезапустить сеть |
30 | 1 | Владимир Ипатов | 5) с мастера выполнить команды: |
31 | 1 | Владимир Ипатов | <pre> |
32 | 1 | Владимир Ипатов | gnt-node add --readd ХОСТНЕЙМ |
33 | 1 | Владимир Ипатов | gnt-cluster redist-conf |
34 | 1 | Владимир Ипатов | </pre> |
35 | 1 | Владимир Ипатов | |
36 | 1 | Владимир Ипатов | h3. Обновление пакетов |
37 | 1 | Владимир Ипатов | |
38 | 3 | Владимир Ипатов | Обновление пакетов идет в 2 приема. с Wheezy на Jessie, с Jessie на Stretch. |
39 | 3 | Владимир Ипатов | После обновления с Wheezy на Jessie узел будет в неработособном состоянии, так что оба обновления нужно делать сразу один за другим. |
40 | 3 | Владимир Ипатов | |
41 | 3 | Владимир Ипатов | Отключаем puppet: |
42 | 3 | Владимир Ипатов | service puppet stop |
43 | 3 | Владимир Ипатов | в /etc/default/puppet прописываем START=no |
44 | 3 | Владимир Ипатов | |
45 | 3 | Владимир Ипатов | Перенастраиваем apt: |
46 | 3 | Владимир Ипатов | |
47 | 3 | Владимир Ипатов | меняем содержимое /etc/apt/sources.list. |
48 | 3 | Владимир Ипатов | было: |
49 | 3 | Владимир Ипатов | <pre> |
50 | 3 | Владимир Ипатов | # |
51 | 3 | Владимир Ипатов | # stable |
52 | 3 | Владимир Ипатов | # |
53 | 3 | Владимир Ипатов | deb http://archive.debian.org/debian wheezy main |
54 | 3 | Владимир Ипатов | deb http://archive.debian.org/debian-security wheezy/updates main |
55 | 3 | Владимир Ипатов | # |
56 | 3 | Владимир Ипатов | # backports |
57 | 3 | Владимир Ипатов | # |
58 | 3 | Владимир Ипатов | deb http://archive.debian.org/debian/ wheezy-backports main |
59 | 3 | Владимир Ипатов | </pre> |
60 | 3 | Владимир Ипатов | |
61 | 3 | Владимир Ипатов | стало: |
62 | 3 | Владимир Ипатов | <pre> |
63 | 3 | Владимир Ипатов | # |
64 | 3 | Владимир Ипатов | # stable |
65 | 3 | Владимир Ипатов | # |
66 | 3 | Владимир Ипатов | deb http://archive.debian.org/jessie wheezy main |
67 | 3 | Владимир Ипатов | deb http://archive.debian.org/debian-security jessie/updates main |
68 | 3 | Владимир Ипатов | # |
69 | 3 | Владимир Ипатов | # backports |
70 | 3 | Владимир Ипатов | # |
71 | 3 | Владимир Ипатов | deb http://archive.debian.org/debian/ jessie-backports main |
72 | 3 | Владимир Ипатов | </pre> |
73 | 3 | Владимир Ипатов | |
74 | 3 | Владимир Ипатов | меняем содержимое /etc/apt/apt.conf.d/99stable |
75 | 3 | Владимир Ипатов | <pre> |
76 | 3 | Владимир Ипатов | APT::Default-Release "jessie"; |
77 | 3 | Владимир Ипатов | </pre> |
78 | 3 | Владимир Ипатов | |
79 | 3 | Владимир Ипатов | меняем содержимое /etc/apt/sources.list.d/sci-dev.list |
80 | 3 | Владимир Ипатов | <pre> |
81 | 3 | Владимир Ипатов | deb http://sci-dev.skycover.ru/apt stretch main |
82 | 3 | Владимир Ипатов | </pre> |
83 | 3 | Владимир Ипатов | |
84 | 3 | Владимир Ипатов | скачиваем и устанавливаем новый ключ для sci-dev: |
85 | 3 | Владимир Ипатов | <pre> |
86 | 3 | Владимир Ипатов | wget -O- http://sci-dev.skycover.ru/apt/stretch.pub|sudo apt-key add - |
87 | 3 | Владимир Ипатов | </pre> |
88 | 3 | Владимир Ипатов | |
89 | 1 | Владимир Ипатов | h2. Перенастройка кластера для работы в смешанном окружении. |
90 | 1 | Владимир Ипатов | |
91 | 1 | Владимир Ипатов | Смешанный кластер до момента перенастройки не может выполнять операции по старту/остановке виртуальных машин, их переносу, перенастройке и т.д. |
92 | 1 | Владимир Ипатов | Суть настроек заключается в том, что в узлах версии 3 больше нет toolstack xm, есть только xl. Поэтому нужно перенастроить все узлы и кластер на использование xl. |
93 | 1 | Владимир Ипатов | Также в узлах версии 2.х и 3.х несовпадают некоторые пути, это решается за счет симлинков |
94 | 1 | Владимир Ипатов | |
95 | 1 | Владимир Ипатов | h3. перенастройка кластера на xl |
96 | 1 | Владимир Ипатов | |
97 | 1 | Владимир Ипатов | h3. добавление симлинков |
98 | 1 | Владимир Ипатов | |
99 | 1 | Владимир Ипатов | h2. перенос виртуальных машин |
100 | 1 | Владимир Ипатов | |
101 | 2 | Владимир Ипатов | перенос следует делать по одной машине, с проверкой работоспособности |
102 | 2 | Владимир Ипатов | |
103 | 2 | Владимир Ипатов | 1) произвести failover виртуальной машины: |
104 | 2 | Владимир Ипатов | <pre> |
105 | 2 | Владимир Ипатов | gnt-instance failover МАШИНА |
106 | 2 | Владимир Ипатов | </pre> |
107 | 2 | Владимир Ипатов | |
108 | 2 | Владимир Ипатов | 2) проверить работоспособность машины с помощью ping и захода по ssh/rdp |
109 | 2 | Владимир Ипатов | |
110 | 2 | Владимир Ипатов | В случае windows иногда требуется зайти через vnc на локальную консоль виртуальной машины и однократно либо залогиниться юзером, либо зайти в безопасный режим. После чего перезагрузить систему как обычно. |
111 | 2 | Владимир Ипатов | |
112 | 1 | Владимир Ипатов | h2. апгрейд второй половины кластера |
113 | 1 | Владимир Ипатов | |
114 | 1 | Владимир Ипатов | для апгрейда второй половины кластера следует повторить операцию апгрейда узла для оставшихся узлов версии 2.x (процедуру см. выше) |