Мигрировать живой сервер

11

У меня проблемы , у меня работает сервер с обычными службами (httpd, mail, sql), и похоже, что я должен быть очень быстрым, чтобы предотвратить полную потерю данных (мой RAID-массив вышел из строя, поэтому я зависел от одного жесткий диск сейчас).

Вся система, построенная на принципах HowtoForge, и когда я читаю ту, что написана на Squeeze , похоже, я могу легко? перенести моих (виртуальных) пользователей в новое окно.

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

Немного справочной информации:

  • Два сервера находятся на расстоянии 200 км друг от друга, поэтому миграция должна происходить через Интернет.
  • Оба сервера будут Debian, старый Etch, новый Squeeze
  • Важнейшим сервисом является почта, веб-сайты могут быть приостановлены на некоторое время
  • RAID означает два диска в RAID 1 (оба компьютера)
  • Старый ящик DNS1 для всех размещенных доменов

Моя (действительно) основная схема:

  • Создание подобной системы, подобной старой (аналогичная структура виртуальной почты, пароли, хранящиеся с тем же типом шифрования, потому что я не могу определить старые)
  • создать один домен, где я могу проверить, что все в порядке (DNS, электронная почта, www все в порядке)
  • Миграция домена за доменом, пока старый ничего не делает

Мои слепые пятна:

  • Не можете найти краткое описание о том, как сделать RAID-1 на Squeeze (вам хватит инструкции Lenny?)
  • Как при необходимости копировать определенные папки (например, почтовые папки пользователей) с определенными правами пользователя? (rsync сделает это?)
  • Как настроить DNS на новой машине (старая - DNS1) (новая машина тоже должна быть DNS, а перенесенные домены должны использовать себя как DNS1?)
  • Как я могу предотвратить потерю электронной почты (из-за времени обновления DNS) (мне нужно настроить новый компьютер как MX?)
Fabrik
источник

Ответы:

8

Ваш основной план более или менее правильный.

Программа установки Squeeze прекрасно подойдет для программного RAID. Одно из отличий состоит в том, что squeeze по умолчанию использует grub2; Ленни использовал Grub-Legacy (я думаю, 0,9). Это несколько отличает администрирование grub, особенно в том, что в случае сбоя grub будет загружаться с обоих дисков. Вы всегда можете вернуться к grub-legacy, что я и сделал в прошлый раз, когда столкнулся с этой проблемой. Однако стоит проверить, что вы делаете, чтобы убедиться, что вы можете перезагрузиться, если какой-либо из дисков выйдет из строя.

Для копирования данных используйте rsync точно. Я бы позаботился о том, чтобы сначала были настроены правильные учетные записи с теми же uids / gids, а затем с rsync, но вы всегда можете исправить это позже. rsync -avPHAX должен получить все (-a получает большинство вещей, кроме -H [ard links] -A [CLs] и -X [тендерные атрибуты], так что это полезно).

Учитывая, что вы одновременно производите эффективное обновление, подготовьтесь к тому, чтобы сервисы ломались неуловимым образом. Конфигурации будут слегка изменены. Сделав что-то похожее в последнее время, я думаю, что я предпочел бы выполнить миграцию «как -> как», а затем обновить конечный хост через некоторое время после факта, поскольку миграция всего и одновременное управление обновлениями делали это гигантской задачей.

Обновлено для ваших дополнительных болевых точек:

Для DNS я бы переместил весь DNS- хостинг на новую машину за один шаг. Оставьте записи такими, какими они должны быть, но установите обновление прямо (10 минут или около того). Это дает вам возможность перемещать записи DNS на новый компьютер, когда вы завершаете перемещение каждого домена. Перемещение DNS может потребовать обновления записей whois для любых доменов, которые вы размещаете, так что имейте это в виду. Фактически, прежде чем запускать что-либо еще, установите обновление для всех доменов - ничего хуже, чем плохо кэшированный результат, вызывающий проблемы.

Относительно потери электронной почты. При перемещении почты на новый сервер убедитесь, что записи DNS были обновлены, чтобы указывать основной MX на новый сервер, и убедитесь, что старый сервер все еще настроен для разрешения ретрансляции для ваших доменов. Пока и на старом, и на новом серверах обновляются представления DNS, ваша почтовая служба на старом сервере будет работать уже не как первичный MX, а будет пересылать любую электронную почту на новый первичный сервер. Почта также будет иметь дело с короткими задержками в доставке - так что вы можете просто закрыть или заблокировать весь доступ к электронной почте на обоих компьютерах, переместить все сразу, проверить это на новом компьютере, затем переместить записи MX и открыть почту на новом компьютере. , SMTP предназначен для работы с перебоями, и любой разумно короткий перерыв (я думаю, менее 4 часов) даже не будет генерировать временные уведомления об ошибках.

Обновлено, чтобы добавить:

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

Дэниел Лоусон
источник
Спасибо за ваш быстрый ответ. В то же время я нашел описание Squeeze и RAID, надеюсь, он сработает. Конечно, RAID будет проверен перед тем, как я установлю машину в серверной комнате. В конечном счете, важно ли, чтобы пользователи получали одинаковые uid / guids? Можете ли вы уточнить это немного?
Фабрика
Не важно давать пользователям одинаковые uids / gids, но если вы этого не сделаете, вам придется потом все пересмотреть и исправить разрешения. Если вы назначите одинаковые uids и gids заранее, это будет меньше работы.
Дэниел Лоусон,
Хорошо, я приложу все усилия на этом, потому что временные рамки важны. Думаю, если я сделаю то, что ты сказал, у меня будет много свободного времени.
Фабрика
потрясающий пост, спасибо! Может быть, я должен пометить как правильный, но это близко к моему вопросу, поэтому я подожду немного.
Фабрика
2
@fabrik: нет проблем. Я чувствую твою боль после того, как недавно пережил подобное. Я перешел со старой, потрепанной установки Gentoo на установку Squeeze, и мне потребовалось много времени, чтобы убедиться, что у меня все есть.
Дэниел Лоусон,