Product SiteDocumentation Site

3.2. Как мигрировать

Чтобы гарантировать бесперебойную работу служб, необходимо спланировать миграцию каждого компьютера и следовать этому плану. Этот принцип применяется вне зависимости от используемой операционной системы.

3.2.1. Обследование и определение служб

Данный этап очень важен вне зависимости от того, насколько простым он кажется. Ответственный администратор хорошо осознаёт роль каждого сервера, но эти роли могут изменяться, а опытные пользователи могут самостоятельно установить некоторые службы. Информация о таких службах позволит вам принять взвешенное решение о их необходимости, и вы не удалите такие службы случайно.
Поэтому Вам стоит проинформировать пользователей о предстоящем проекте до переноса сервера. Вы можете установить наиболее распространённые свободные программы на рабочие места пользователей до начала процесса миграции и, тем самым, привлечь самих пользователей к проекту; лучшими примерами здесь будут Libre Office и пакет Mozilla.

3.2.1.1. Сеть и процессы

Инструмент nmap (из одноимённого пакета) позволит быстро определить службы Интернет, которые размещены на подключенной к сети машине, при этом даже не потребуется входить на эту машину под своей учётной записью. Просто наберите следующую команду на любой другой машине, подключенной к той же сети:
$ nmap mirwiz
Starting Nmap 7.40 ( https://nmap.org ) at 2017-06-06 14:41 CEST
Nmap scan report for mirwiz (192.168.1.104)
Host is up (0.00062s latency).
Not shown: 992 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
111/tcp  open  rpcbind
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
5666/tcp open  nrpe
9999/tcp open  abyss

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
Если сервер является Unix-машиной, предоставляющей пользователям учётные записи в командной оболочке, то необходимо определить процессы, выполняемые в фоновом режиме во время отсутствия своего владельца. Команда ps auxw отобразит список всех процессов совместно с идентификаторами пользователей. Сравнив полученный список с выводом команды who, которая отображает список всех зарегистрированных пользователей, вы можете установить несанкционированно установленные серверы и программы, работающие в фоновом режиме. Просмотр crontabs (список автоматически выполняемых действий, запланированных пользователем) часто помогает выявить интересные детали о выполняемых сервером функциях (полное описание cron находится по ссылке Раздел 9.7, «Планирование задач с помощью cron и atd»).
Создание резервной копии вашего сервера — важная процедура в любом случае. Вы можете восстановить информацию из резервной копии после того, как пользователи сообщат об особых проблемах в процессе миграции.

3.2.2. Создание резервной копии настроек

Имеет смысл сохранить конфигурацию каждой обнаруженной службы с тем, чтобы восстановить аналогичные настройки на обновлённом сервере. Как минимум стоит сделать резервную копию конфигурационных файлов.
На компьютерах с системой Unix конфигурационные файлы обычно находятся в каталоге /etc/, но они также могут быть в подкаталоге /usr/local/. Такое бывает при установке программы из исходных кодов, а не из пакета. В отдельных случаях они могут быть в каталоге /opt/.
В случае служб управления данными (таких как базы данных) настоятельно рекомендуется экспортировать данные в какой-либо стандартный формат, который можно будет легко импортировать в новом программном обеспечении. Такие форматы обычно имеют текстовый вид и хорошо документированы; например, это может быть SQL дамп для базы данных, или файл LDIF в случае LDAP сервера.
Резервные копии баз данных

Рисунок 3.2. Резервные копии баз данных

Каждый сервер имеет свой собственный набор программного обеспечения, и детально описать все существующие варианты практически невозможно. Внимательно прочтите документацию на существующее и новое программное обеспечение с целью установления экспортируемых (а следовательно и импортируемых) форматов, а также тех форматов, которые потребуют переноса данных в ручном режиме. После прочтения этой книги у вас будет больше ясности по вопросам настройки основных программ, используемых на серверах под управлением Linux.

3.2.3. Анализ существующего сервера под управлением Debian

Для эффективного начала работы с принятой в обслуживание системой Debian вы можете проанализировать уже настроенную и работающую систему Debian.
Первый файл, на который следует обратить внимание, — /etc/debian_version, в котором обычно содержится номер версии установленной системы Debian (файл является частью пакета base-files). Если в этом файле содержится строка кодовое_имя/sid, то в системе установлены пакеты из одного из находящихся в разработке дистрибутивов (либо тестируемый, либо нестабильный).
Программа apt-show-versions (из одноимённого пакета Debian) проверит список установленных пакетов и определит доступные версии этих пакетов. С этой же целью можно использовать aptitude, хоть и менее систематичным образом.
Взгляд на файл /etc/apt/sources.list (и на каталог /etc/apt/sources.list.d/), покажет вероятный источник установленных пакетов Debian. Если этот файл содержит множество неизвестных источников, то администратор может предпочесть полностью переустановить систему для обеспечения оптимальной совместимости с тем программным обеспечением, которое предоставляется проектом Debian.
Файл sources.list часто служит хорошим индикатором: большинство администраторов содержат полный список всех использованных ранее источников APT, хотя бы и в закомментированном виде. Не стоит забывать, что использованные ранее источники могли быть удалены, а некоторые пакеты могли быть загружены из сети Интернет и установлены вручную (командой dpkg). В этом случае система может быть ошибочно принята за «стандартную» систему Debian. Именно по этой причине вам следует обратить внимание на любые признаки, которые помогут вам определить присутствие внешних пакетов (наличие файлов deb в необычных для них каталогах; номера версий пакетов со специальными суффиксами, которые могут указывать на происхождения пакетов не из проекта Debian, а из таких проектов как ubuntu или lmde, и т. д.)
По этой же причине полезно проанализировать содержимое каталога /usr/local/, который предназначен для собранных и установленных вручную программ. Список установленного таким образом программного обеспечения может быть поучительным в том плане, что вам предстоит установить причины, по которым не были использованы соответствующие пакеты Debian, если они существуют.

3.2.4. Установка Debian

Как только вы собрали всю необходимую информацию о текущем сервере, можно его вывести из работы и начать установку Debian.
Нам потребуется установить архитектуру компьютера для выбора соответствующей версии дистрибутива. В случае достаточно нового компьютера архитектура будет amd64 (для более старых компьютеров — i386). Во всех остальных случаях выбор сведётся к той архитектуре, что использовалась на предыдущей системе.
Таблица 3.1 не является исчерпывающей, но может быть полезной. В любом случае, оригинальная документация на компьютер является наиболее надёжным источником информации подобного рода.

Таблица 3.1. Выбор операционной системы для вашей архитектуры

Операционная системаАрхитектура(ы)
DEC Unix (OSF/1)alpha, mipsel
HP Unixia64, hppa
IBM AIXpowerpc
Irixmips
OS Xamd64, powerpc, i386
z/OS, MVSs390x, s390
Solaris, SunOSsparc, i386, m68k
Ultrixmips
VMSalpha
Windows 95/98/MEi386
Windows NT/2000i386, alpha, ia64, mipsel
Windows XP / Windows Server 2008i386, amd64, ia64
Windows RTarmel, armhf, arm64
Windows Vista / Windows 7-8-10i386, amd64

3.2.5. Установка и настройка выбранных служб

Как только Debian будет установлен, нам потребуется поочерёдно установить и настроить все службы, которые закреплены за данным компьютером. Новая конфигурация должна учитывать предыдущую с целью плавного перехода между ними. Для успешного завершения этой части пригодится вся информация, собранная за первые два шага.
Установка выбранных служб

Рисунок 3.3. Установка выбранных служб

Прежде чем с головой погрузиться в это занятие, мы настоятельно рекомендуем вам прочитать оставшуюся часть книги. После прочтения вы будете точно знать, как настраиваются необходимые вам службы.