Jump to content
Калькуляторы

Перенос сервера на абсолютно другое железо

Здравствуйте все! Встала задача создать дублирующую железку рабочего сервера (на случай выхода из строя онного). Железо абсолютно разное. На сервере крутятся mysql, www, php, ftp, sntp, cacti.

 

Что было проделано мной:

   

*  Создал архив нужных директорий донора tar-ом;

*  Установил на реципиента такую-же ось, как и на доноре;

*  Удалил на реципиенте те директории, которые планировал заменить;

*  Залил на реципиента из архива донора нужные директории;

*  Вписал в /etc/modules нужные модули, полученные списком через lsmod;

 

Что в итоге:

 

*  Реципиент заработал коряво, некоторые сервисы и службы не работают;

*  Пропал доступ по телнет и ssh;

*  Cacti работает, но статистика из баз данных не доступна;

*  Смотрел базы и таблицы mysql, всё вроде на месте;

*  Php работает;

*  sntp работает коряво, короче не пашет;

 

Буду рад любым советам и подсказкам по теме. Только не ругайте сильно, linux осваиваю не так дано.

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Ок. Спасибо, сегодня попробую, завтра отпишусь о результатах.

Share this post


Link to post
Share on other sites
31 минуту назад, Алек-НТК сказал:

Смотрел базы и таблицы mysql, всё вроде на месте;

Вы базы файлом копировали? Такое весьма не рекомендуется. Но если уже сделано, то обязательны:

a) проверка прав на /var/lib/mysql/ для пользователя, от которого пашет сервер

б) выполнение mysqladmin -reload для восстановления grant tables

 

48 минут назад, Алек-НТК сказал:

Пропал доступ по телнет и ssh;

C SSH далеко не всегда корректно переносятся ключи. По-хорошему, это делается с помощью ssh-copy-id, но в вашем случае это не вариант. Смотрите права на /.ssh после копирования

ОС, случаем, не Убунта?

Share this post


Link to post
Share on other sites

Рекомендую сразу мигрировать сервер в виртуальную среду.

 

Share this post


Link to post
Share on other sites

Виртуальную среду тоже надо обновлять.

Разные версии ПО, в том числе версии PHP == много веселого и не очень.

Share this post


Link to post
Share on other sites
3 hours ago, vlad11 said:

Виртуальную среду тоже надо обновлять.[/quote]

 

Надо... Но, все же, с железом возиться не надо. :) Присоединяюсь к рекомендации.

 

3 hours ago, vlad11 said:

Разные версии ПО, в том числе версии PHP == много веселого и не очень.

Если PHP мешает, надо от него избавиться.:) :) :)

 

Share this post


Link to post
Share on other sites
В 27.08.2019 в 13:33, Алек-НТК сказал:

Ок. Спасибо, сегодня попробую, завтра отпишусь о результатах.

получилось через dd?

Share this post


Link to post
Share on other sites
1 час назад, s.lobanov сказал:

получилось через dd?

Вчера не было времени попробовать. Работы с абонентами было много. Сегодня сделаю 100%. Только один момент, после переноса через dd мне наверное надо будет править файл /etc/fstab и как-то установить загрузчик. Правильно ли я понимаю суть дела?

Share this post


Link to post
Share on other sites
2 минуты назад, Алек-НТК сказал:

Только один момент, после переноса через dd мне наверное надо будет править файл /etc/fstab и как-то установить загрузчик. Правильно ли я понимаю суть дела?

может и не потребоваться. загрузчик тоже будет скопирован dd (если вы будете копировать всё условное /dev/sda, а не /dev/sda1). относительно того потребуется ли править /etc/fstab - тоже не факт, если блочные устройства будут называться также, то не потребуется

Share this post


Link to post
Share on other sites
8 минут назад, s.lobanov сказал:

может и не потребоваться. загрузчик тоже будет скопирован dd (если вы будете копировать всё условное /dev/sda, а не /dev/sda1). относительно того потребуется ли править /etc/fstab - тоже не факт, если блочные устройства будут называться также, то не потребуется

Ок. Спасибо. После обеда сделаю и напишу о результатах...

Share this post


Link to post
Share on other sites

Я так делал (сервера были на Centos/5/6):

 

1. На исходном сервере грузиться в init 1 (однопользовательский режим), отключить по возможности все сервисы mysql, apache и т.п. и скопировать все его содержимое на отдельный диск.

 

2. На новом сервере грузиться с linux rescue диска. Разбить диск по аналогии с исходным (корневой раздел, swap и т..д. ) и создавать на разделах необходимую ФС. 

 

3. Скопировать содержимое старого сервера на новый в те же места, что и на старом сервере.

 

4. Установить загрузчик (в моем случае grub).

 

5. Отредактировать grub.conf и fstab

 

6. Перезагрузка.

 

Как-то так.

 

Есть ньюанс, если система не поддерживает новый диск, то нужно будет пере собрать initrd файл, куда добавить модуль для поддержки нового диска. Я таким образом переносил "железные" сервера на виртуальные (пока не узнал, что в ESXi есть специальная утилита для этого) взлетели все, даже самые старые (на RHEL4)

 

 

 

Edited by fox_m

Share this post


Link to post
Share on other sites

А можно загрузить на втором сервере какой-то лайвсд. И после остановки бд с сервисами dd over ssh. Главное чтобы на втором сервере жесткий был как минимум такого же размера.

Share this post


Link to post
Share on other sites

Всем доброго дня! Сделал копию через dd, залил на другую железку. Бегло проверил на идентичность, вроде всё как надо. Но при загрузке в grub валится ошибка:

chdir: /etc/syslog.d: No such file or directory

 

Ну и потом, спустя паузу валятся:

initrd: udev: Error: Unable to mount root

initrd: Stage 'udev' failed

 

Что нужно сделать, чтобы исправить это? Буду благодарен.

 

 

 

Забыл сказать... Загрузился с liveusb, поставил grub заново и обновил его. Ситуация не поменялась.

Share this post


Link to post
Share on other sites
14 часов назад, Алек-НТК сказал:

Забыл сказать... Загрузился с liveusb, поставил grub заново и обновил его. Ситуация не поменялась.

Скорее всего в initrd просто нет модуля с драйвером дисковой подсистемы под новое железо. Говорите, у вас там ALT? Тогда загрузитесь с их официального ISO образа в режиме rescue, потом скажите

 

mount-system

 

и далее

 

chroot /mnt/system1

 

и уже внутри чрута сделайте

 

mkinitrd-make-initrd -f /boot/initrd.img КАКАЯ_ТАМ_У_ВАС_ВЕРСИЯ_ЯДРА

 

Share this post


Link to post
Share on other sites
33 минуты назад, taf_321 сказал:

Скорее всего в initrd просто нет модуля с драйвером дисковой подсистемы под новое железо. Говорите, у вас там ALT? Тогда загрузитесь с их официального ISO образа в режиме rescue, потом скажите

 

mount-system

 

и далее

 

chroot /mnt/system1

 

и уже внутри чрута сделайте

 

mkinitrd-make-initrd -f /boot/initrd.img КАКАЯ_ТАМ_У_ВАС_ВЕРСИЯ_ЯДРА

 

Спасибо за вектор. Приеду на работу, попробую первым делом.

Share this post


Link to post
Share on other sites
7 часов назад, Алек-НТК сказал:

Спасибо за вектор. Приеду на работу, попробую первым делом.

Записал на флешку Alt Linux Rescue, начал было делать, но блин один из разделов побился что ли после dd... Проверил через gparted, раздел с ошибкой. Пошел делать новую копию. Кстати этот поломанный раздел размером около 300Гб. Для dd есть разница, зависимость от объёма?

Share this post


Link to post
Share on other sites
18 часов назад, jffulcrum сказал:

Вы dd как запускали?

dd if=/dev/sda of=/mnt/backup.img bs=8M conv=sync,noerror

Share this post


Link to post
Share on other sites

Блин, не пойму, что происходит! Второй раз снимаю копию с сервера и второй раз один из разделов записывается с ошибкой, после которой linux rescue не хочет работать с этим битым разделом. Размер раздела 300гб, занято 120гб.

IMG_20190904_110108.jpg

Share this post


Link to post
Share on other sites

Там точно все 300 гигов заняты данными? Может просто на старой системе подмонтировать новый носитель, разметить его как старый диск и просто в rescue или live-загрузкой скопировать файлы через mc?

Share this post


Link to post
Share on other sites
2 минуты назад, taf_321 сказал:

Там точно все 300 гигов заняты данными? Может просто на старой системе подмонтировать новый носитель, разметить его как старый диск и просто в rescue или live-загрузкой скопировать файлы через mc?

Данными занято 120гб. Создать раздел заново и скопировать туда данные - это крайний вариант. Всё таки хочу понять, почему ошибка возникает только на определённом разделе.

 

Парни, а может попробовать проверить раздел виндоусовским chkdsk? Может он поправит и исправит?

Share this post


Link to post
Share on other sites
33 минуты назад, Алек-НТК сказал:

а может попробовать проверить раздел виндоусовским chkdsk? Может он поправит и исправит?

Конечно исправит. Неправильную ext3 заменит правильной NTFS или extFAT. :-)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now