LINUX.ORG.RU
ФорумAdmin

миграция debian 10

 ,


0

1

Товарищ попросил ему помочь с миграцией линукс сервера на более дешевый хостинг без сапорта, решил экономить. У него все сайты крутятся на debian 10, там 2 десятка сайтов и каша с движками, php разных версий, perl с множеством модулей, и под самой ОС установленного много всякой экзотики в виде Сфинкс и разных древних версий архиваторов. Читаю разные блоги и форумы где обсуждают тему миграции, множество разных примеров, очень отличающихся по обьему работ и рисков. Множество готовых sh скриптов для миграции. Правильно ли я понял что нужно на новом хостинге заказать такую же версию ОС, остановить вэб сервисы и мускул сервисы на старом хостинге и запустить синхронизацию по папкам пользователей? И по системным папкам с настройками модулей которые за пределами var/user1 ?

Если цель переехать на более дешёвый хостинг, то

«в лоб»: dd образа диска со старой системы, залить полученное на новую VM.

Если не загрузится - sysrescueCD и распинать до рабочего состояния.

Если цель разобраться во внутренностях, перебрать их и воссоздать на новом сервере, то да, куча работы.

Flotsky ★★
()
Ответ на: комментарий от Flotsky

цель - однозначно сэкономить. Дело в том что это уже второй переезд за этот год будет. Опять таки с целью сэкономить. Услуги хостинга растут , по этому так изголяемся. Первый раз товарищ перезжал практически без моей помощи, переезд был на другой дата центр и на более дешовый сервер, раза в 2-3 дешевле. Но там сапорт помогал, там делали вот как раз синхронизацию образов дисков. Нам же сейчас нужно будет перебираться к другому хостеру и переносить как раз самое муторное это разные компоненты и службы ОС.

daglas1
() автор топика
Ответ на: комментарий от daglas1

Не понимаю. Какие сервисы?

dd перенесёт всё вообще. Вам надо только убедиться, что на новом сервере диск будет не меньше чем на старом.

И если оно не загрузится само, то ещё и починить загрузчик.

Может вы переходите с kvm виртуализации на какую-то openVZ, ну там наверное чуть муторнее с «подбросить старую систему» будет.

Flotsky ★★
()

У себя дома ещё до того, как устроиться Linux эникеем, паковал Linux в tar архивы как бекапы целиком. И успешно разворачивал из. Там делать нечего. А способ с dd, что тут советовали, и того проще, хотя и может занимать больше времени и места.

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

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Flotsky

Есть способ ещё более в лоб: выключаем сервер, даем команду системе виртуализации запаковать в архив сжатый образ дисков и файл с характеристиками ВМ, качаем этот архив, потом загружаем на иной системе виртуализации и даем команду на разворот. VMware и VirtualBox так умеют, например.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

Не встречал хостеров, которые без помощи поддержки позволяли так сделать, да и с поддержкой не охотно. Поэтому всегда на обоих серверах грузил RescueCD и dd over ssh. За одно и прогресс видел(pv).

Может он говорит о перенастройке на новые IP адреса

Да, об этом я не подумал. Может ещё что-то потребуется на новом севрере править, внешний dns к примеру раз там сайты крутятся.

Flotsky ★★
()
Ответ на: комментарий от Flotsky

dd over ssh

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

Но в способе с упаковкой архива нужно гонять существенно меньше данных по сети, впрочем.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от aol

Срач в системе не надо делать. Но кривое уродство под названием докер всё равно не нужно. Для контейнеров есть нормальные инструменты, даже в линуксе (LXC). А вообще для серверов предпочитаю FreeBSD, там есть крайне удобные jails с древних времён ещё.

firkax ★★★★★
()
Ответ на: комментарий от anc

Привычка. К тому же, если у него не всё в одном разделе, то fstab придётся править и загрузчик чинить.

А с dd есть шанс просто перебросить образ и сразу загрузиться успешно.

Flotsky ★★
()
Последнее исправление: Flotsky (всего исправлений: 1)

Любой Linux можно перенести разными способами:

  • через снятие образа;
  • через архив;
  • через копирование всех файлов с помощью ssh и rsync по сети на целевой сервер.

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

На системе источнике загружаешься с livecd или настраиваешь, чтобы файловые системы монтировались в режиме только чтения и далее:

dd if=/dev/sdX | ssh root@ip 'dd of=/dev/sdY

Дамп в принципе можно лить сразу на накопитель, перезатирая данные на диске загруженного linux, но лучше так же загрузиться с livecd.

Второй способ - запаковка установленной системы в архив. Распаковка архива на целевой системе, установка загрузчика и правка конфигурационных файлов /etc/fstab, переустановка загрузчика и генерация его конфига. В этом случае объём переносимых данных меньше. Возможно, потребуется пересоздание разделов (файловых систем) на целевой системе. Можно так же работать поверх ssh, снимать архив и отправлять его через ssh на распаковку на целевой системе.

Третий способ rsync по сети - ещё более простой способ, потребуется так же правка конфигов, но этот способ наиболее быстрый.

rsync -zavp / root@IP:/

Плюс этот способ поддерживает продолжение в случае перебоев в сети.

Это всё делается точно так же как устанавливается Gentoo.

Вот описание gentoo stage4: https://aidalinux.ru/w/Stage4

Но собственно просто stage3 ничем сильно не отличается.

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

Единственная проблема, с чем ты можешь столкнуться - это перенастройка сети в перенесённой системе в соответствие с конфигурацией твоего хостера. Как на LiveCD, так и потом в перенесенной системе.

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

Для более лёгкого переноса рекомендую делать тот или иной способ загрузившись с LiveCD. Для этого в панели администрирования должна быть возможность выбрать ISO образ системы и загрузиться с него.

Если у тебя там контейнерная виртуализация, то всё немного по-другому.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 4)
Ответ на: комментарий от aol

По вводным данным. Сервер под управлением дебиан 10, на нем LAmp, 2 десятка сайтов на разных движках, и много разных серверных утилит и процессов.Сейчас жесткий диск на 500 гб, из них занято 420 гб. На новом сервере будет 1000 гб винт, ось тоже будет дебиан 10. Новый сервер будет у другого хостера, айпишник будет другим и датацентр тоже будет другим. Сапорта у нового хостера не будет. Планировал отключить на старом сервере мускул и все вэб сервисы и через rsync переливать файлы на новый сервер.

daglas1
() автор топика
Ответ на: комментарий от daglas1

Планировал отключить на старом сервере мускул и все вэб сервисы и через rsync переливать файлы на новый сервер.

Ну так и делай. Можно перелить и целиком систему.

Но ты не написал, это контейнер или полноценная виртуальная машина.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Он много чего не написал. При изменении IP ведь может потребоваться вносить изменения в конфигурацию сетевых сервисов. А для того, чтобы запланировать такие изменения, нужно знать текущую.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от daglas1

На твое описание в общих чертах уже в общих чертах предложили достаточное количество работающих способов переезда.

Более подробная консультация уже по сути является выполнением переезда вместо тебя, или обучению тебя до уровня полноценного админа.

Обе задачи в разделе Job решаются. Извини, но чудес не бывает, и одна тема на форуме не сделает из нуба грамотного админа, который требуется для выполнения этой задачи.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Да это так, но я ему на это так же указал. И если он это не написал - значит понимает как настроить сеть в системе после переноса и в лайв системе, посредством которой будет делать перенос. Точнее посредством которой лучше делать перенос.

kostik87 ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

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

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

У меня возникло ощущение, что это нуб, который ищет джинна, что вылезет из монитора и сделает за него всю работу, ну или наделит его знаниями по Linux при помощи магии. Как в фильме }{отт@бь)ч.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

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

daglas1
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

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

daglas1
() автор топика
Ответ на: комментарий от daglas1

Если ты уверен, что это полноценная виртуальная машину, а не контейнер, то читай wiki статью про Gentoo Stage4. Или попросту документацию по установке Gentoo. Тебе важны разделы про файл /etc/fstab, раздел про установку загрузчика, прописывание его в основную загрузочную запись и генерацию его конфига. Ещё может потребоваться перегенерировать файл с initramfs.

В Debian перегенарция initramfs делается командой dpkg-reconfigure initramfs-tools.

Ну и ты должен понимать как настраивается сеть в Linux, в каких файлах в Debian настраивается сеть. И понимать основные принципы работы сети.

Если не хочешь разбираться во всём этом, то лучше сразу ищи специалиста, который выполнит требуемые операции.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 2)
Ответ на: комментарий от kostik87

я буду 5 дней готовиться к переносу, будем с товарищем изучать тему. Но если мы не справимся то однозначно будем платить. Поднял тему в разделе с работой перенос debian +lamp на новый сервер

daglas1
() автор топика
Ответ на: комментарий от daglas1

Сделал первый прогон rsync. Оба сервера включены. Сейчас на старом отключил мускул и nginx. Новый сервер запустил в rescue mode , выбрал ubunty 18 в списке образов у хостера. А вот теперь загадка пароль root для live образа, спросил у хостера ибо пароли от старого и нового сервера не подходят.

daglas1
() автор топика