Назад | Перейти на главную страницу

Переход с одного выделенного Linux-сервера на другой?

У меня есть выделенный сервер под управлением ubuntu server 9.04 для Интернета, базы данных и почты. На всем жестком диске около 5 ГБ данных.

Я хочу перенести сервер на более доступного поставщика выделенных серверов, но не знаю, как это сделать.

Я предлагаю сделать резервные копии всего и восстановить на новом сервере. Т.е.:

  1. Дамп баз данных и восстановление их на новом сервере
  2. Скопируйте веб-сервер, базу данных, конфиги электронной почты на новый

Конечно, это требует небольшого простоя. Чтобы сократить время простоя, вы можете сделать следующее:

  1. Выполните предыдущую rsync для всех данных электронной почты, затем после того, как все настроено и протестировано, остановите службу на старом сервере, rsync только для новых данных и запустите новый сервер.
  2. Используйте репликацию mysql, чтобы хранить данные на обоих серверах до момента «переключения»
  3. Подход rsync можно использовать со всеми другими данными (даже с db, но я предлагаю вам использовать дамп или репликацию, чтобы минимизировать выбор ошибки).

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

Несколько важных вещей, которые я узнал методом проб и ошибок (в основном ошибок):

  • Задокументируйте шаги по мере продвижения, чтобы у вас была запись, когда вы сделаете это в следующий раз (всегда будет следующий раз). Таким образом, вы не забудете ни одного шага, и это позволит сделать это и кому-то другому.
  • Если вы можете переключать компоненты по частям, будет легче диагностировать проблемы. Например, оставьте почту / базу данных на исходном сервере и просто переместите веб-сервер на новый сервер. Пропустите это, если ваше приложение не может легко справиться с межсерверной обработкой, но это следует учитывать, если вам нужно масштабировать вашу систему на несколько серверов. Этот метод особенно полезен, если вам нужно минимизировать время простоя.
  • Я бы не стал просто копировать необработанные файлы базы данных с одного сервера на другой, если вы не уверены, что база данных поддерживает это. Если у вас всего несколько 100 МБ баз данных, я бы просто создал дамп на старом сервере и восстановил на новом. Для больших баз данных будет значительно быстрее настроить репликацию.
  • Если вы используете rsync или scp для копирования файлов с одного сервера на другой, убедитесь, что у пользователя, которого вы используете, есть права на чтение для всех файлов. Например, однажды я использовал rsync для копирования некоторых файлов из / etc, но не имел разрешений на чтение для некоторых файлов. К тому времени, когда я обнаружил, что некоторые файлы отсутствуют, было уже слишком поздно (старый сервер был уничтожен). С тех пор я всегда использовал tar как root на старом сервере для резервного копирования каталогов, а затем rsync / scp для архива tar.

Возможно, вам будет интересно изучить возможность использования FSArchiver, http://www.fsarchiver.org/Main_Page

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

Кроме того, информация о простоте миграции и доступной поддержке может помочь вам выбрать нового провайдера!