Назад |
Перейти на главную страницу
Переход с одного выделенного Linux-сервера на другой?
У меня есть выделенный сервер под управлением ubuntu server 9.04 для Интернета, базы данных и почты. На всем жестком диске около 5 ГБ данных.
Я хочу перенести сервер на более доступного поставщика выделенных серверов, но не знаю, как это сделать.
- Могу ли я клонировать весь жесткий диск? А как насчет аппаратных файлов / каталогов?
- Или, может быть, есть более разумный подход?
- В будущем хостинге, вероятно, будет другая версия ubuntu, поэтому следует ли мне обновить текущий сервер перед миграцией? Как насчет миграции apache, mysql и postfix?
Я предлагаю сделать резервные копии всего и восстановить на новом сервере. Т.е.:
- Дамп баз данных и восстановление их на новом сервере
- Скопируйте веб-сервер, базу данных, конфиги электронной почты на новый
Конечно, это требует небольшого простоя. Чтобы сократить время простоя, вы можете сделать следующее:
- Выполните предыдущую rsync для всех данных электронной почты, затем после того, как все настроено и протестировано, остановите службу на старом сервере, rsync только для новых данных и запустите новый сервер.
- Используйте репликацию mysql, чтобы хранить данные на обоих серверах до момента «переключения»
- Подход rsync можно использовать со всеми другими данными (даже с db, но я предлагаю вам использовать дамп или репликацию, чтобы минимизировать выбор ошибки).
Также помните, что это процедура, которую необходимо тщательно спланировать и выполнить, иначе может произойти потеря данных.
Несколько важных вещей, которые я узнал методом проб и ошибок (в основном ошибок):
- Задокументируйте шаги по мере продвижения, чтобы у вас была запись, когда вы сделаете это в следующий раз (всегда будет следующий раз). Таким образом, вы не забудете ни одного шага, и это позволит сделать это и кому-то другому.
- Если вы можете переключать компоненты по частям, будет легче диагностировать проблемы. Например, оставьте почту / базу данных на исходном сервере и просто переместите веб-сервер на новый сервер. Пропустите это, если ваше приложение не может легко справиться с межсерверной обработкой, но это следует учитывать, если вам нужно масштабировать вашу систему на несколько серверов. Этот метод особенно полезен, если вам нужно минимизировать время простоя.
- Я бы не стал просто копировать необработанные файлы базы данных с одного сервера на другой, если вы не уверены, что база данных поддерживает это. Если у вас всего несколько 100 МБ баз данных, я бы просто создал дамп на старом сервере и восстановил на новом. Для больших баз данных будет значительно быстрее настроить репликацию.
- Если вы используете rsync или scp для копирования файлов с одного сервера на другой, убедитесь, что у пользователя, которого вы используете, есть права на чтение для всех файлов. Например, однажды я использовал rsync для копирования некоторых файлов из / etc, но не имел разрешений на чтение для некоторых файлов. К тому времени, когда я обнаружил, что некоторые файлы отсутствуют, было уже слишком поздно (старый сервер был уничтожен). С тех пор я всегда использовал tar как root на старом сервере для резервного копирования каталогов, а затем rsync / scp для архива tar.
Если вы нашли своего нового провайдера, спрашивали ли вы его, как им это нравится? Возможно, вы захотите узнать подробности о средах от / до, включая оборудование, чтобы выбрать лучший подход.
Кроме того, информация о простоте миграции и доступной поддержке может помочь вам выбрать нового провайдера!