Перейти к содержимому
Калькуляторы

Переезд ОС на другой диск

Есть у меня сервер с RAID-контроллером и корзиной на 4 диска, из которых только в одной корзине есть диск (десктопный SATA на небольшой объем).

На сервере установлен Debian и сделаны некоторые настройки, которые мне не хотелось бы делать заново.

В скором времени к серверу я возьму четыре серверных диска, два соберу в зеркало, еще два оставлю автономными.

И хотелось бы просто перенести на них систему целиком.

 

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

Я планирую сделать следующим образом:

1. Переключить текущий диск в слот 4, перенастроить RAID.

2. Включить в первые два слота новые диски, создать зеркало.

3. Загрузиться со старого диска (в слоте 4), создать на новом диске (который RAID-1 в первых двух слотах) файловую систему, с такой же разбивкой.

4. Скопировать партиции с помощью dd.

5. Загрузиться с нового диска, проверить, что ничего не поломалось.

6. Вытащить из слота 4 старый диск, вставить в слоты 3 и 4 новые диски.

7. Настроить в RAID-контроллере как новые автономные диски.

8. В системе добавить их как новые разделы.

 

Ничего не упустил?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

dd зачем? cpio, dump/restore, tar чем не угодили?

 

Да, и приготовится к пляскам с бубном при переустановке grub & initrd. blkid-же изменятся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

dd по-моему самый быстрый. Да и я не уверен, что tar или cpio смогут правильно скопировать специальные файлы.

 

С изменением blkid само собой придется повозиться.

В крайнем случае на новый диск поставлю новую систему с аналогичной дисковой разбивкой, а затем загружусь с live-cd и скопирую разделы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Во первых, нет необходимости жонглировать дисками туда сюда.

Во вторых, не надо клонировать загруженную живую систему из неё же.

В третьих, ваш старый диск, в нетронутом состоянии, можно будет убрать в шкафчик на карантин, а то как бы чего не вышло с новым RAID-ом.

 

Дoбудьте временную внешнюю корзину SATA-USB3 (USB2 тоже сойдёт).

Скачайте какой-нибудь Live дистрибутив, заточенный на работу с дисками, например GParted или CloneZilla, и создайте загрузочную флешку.

Вытащите старый диск и поставьте его во внешнюю корзину USB.

Установите новые диски, настройте RAID, подключите корзину USB.

Загрузитесь в LiveUSB.

Следуйте какой-нибудь тривиальной доке. Например:

https://www.addictivetips.com/ubuntu-linux-tips/clone-a-linux-hard-drive-with-gparted/

http://ridz1ba.blogspot.com/2015/11/how-to-clone-hdd-or-sdd-using-gparted.html

 

Специализированный дистрибутив на флешке не обязателен. Попанковать можно хоть на Knoppix, хоть на Ubuntu Live, хоть на том-же Debian в rescue mode.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

14 часов назад, alibek сказал:

На сервере установлен Debian и сделаны некоторые настройки, которые мне не хотелось бы делать заново.

Ну да, перенести /etc, /var так трудно :)

 

14 часов назад, alibek сказал:

И хотелось бы просто перенести на них систему целиком.

Я в таких случаях делаю так: размечаю руками новый диск, заливаю загрузчики, форматирую, и дальше вливаю туда используя rsync, правлю fstab (у меня uuid используются для рутового раздела).

Ноль ребутов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@lugoblin 
+1
Обычно примерно так и делаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

6 часов назад, lugoblin сказал:

Во вторых, не надо клонировать загруженную живую систему из неё же.

Вот же ш. Слепое пятно прямо.

Да, это логичнее и проще.

 

3 часа назад, Ivan_83 сказал:

Ну да, перенести /etc, /var так трудно

У меня пока еще не выпадало случая делать перенос в рамках одного дистрибутива.

Обычно в лучшем случае на пару единиц меняется мажорная версия, а обычно и дистрибутив, а то и платформа.

Проще клонировать, чем разбираться в отличиях между версиями.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

9 hours ago, Ivan_83 said:

Ну да, перенести /etc, /var так трудно :)

В Debian большинство конфигов настраиваются путем добавления отдельных файлов. Поэтому совершенно разумно держать отдельную корзинку со всеми конфигами для /etc, не трогая фалы дистрибутива, где это возможно. Тогда перенос (или восстановление) системы заметно облегчится.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

11 часов назад, Ivan_83 сказал:

Я в таких случаях делаю так: размечаю руками новый диск, заливаю загрузчики, форматирую, и дальше вливаю туда используя rsync, правлю fstab (у меня uuid используются для рутового раздела).

Ноль ребутов.

+1, только можно даже не править фстаб, у mkfs и mkswap есть ключ -U

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

создать рэйд, потом создать разделы, подмонтировать их, создать каталоги /proc, /sys, потом - rsync кроме /proc и /sys (возможно и /dev туда же но точно не помню), потом - заинсталлить загрузчик на рэйд. всё.

 

и да, это быстрее чем dd (который будет усердно копировать и пустое место, и фрагментацию в том числе).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 29.04.2021 в 16:17, alibek сказал:

сервер с RAID-контроллером

С настоящим? А то будет как у меня:

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

15 часов назад, boco сказал:

+1, только можно даже не править фстаб, у mkfs и mkswap есть ключ -U

У меня на фре таких нет :)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 30.04.2021 в 18:46, NiTr0 сказал:

dd (который будет усердно копировать и пустое место, и фрагментацию в том числе).

Зависит от заполнения носителя, после некоего порога посекторное копирование будет быстрее, особенно, если в основной массе файлы в несколько десятков КБ.

 

В зависимости от ситуации практикую и посекторное с помощью dd/ddrescue и копирование rsync/cp.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 02.05.2021 в 00:06, passer сказал:

Зависит от заполнения носителя, после некоего порога посекторное копирование будет быстрее, особенно, если в основной массе файлы в несколько десятков КБ.

да понятно что сильно фрагментированный диск пофайлово будет читаться медленнее, чем посекторная копия)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Даже при невысокой фрагментации файлы на диске расположены отнюдь не в алфавитном порядке, адаптированном высшим разумом для копирования на другой носитель. А дальше посильный, но весомый вклад вносит латентность доступа к данным данного накопителя из-за позиционирования считывающей головки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

зато бонусом получаем на выходе нефрагментированный носитель, без лишних тормозов при обращении. как по мне - оно того стоит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 29.04.2021 в 21:17, alibek сказал:

Ничего не упустил?

Я бы в пункте 3 загрузился бы с какого-нибудь LiveCD, провел бы манипуляции по разбиению пространства на новых носителях и создания там новой ФС. А потом тупо скопировал бы содержимое старого диска на новый пофайлово (cp, rsync или банальный mc по вкусу). После чего на новом месте вносятся правки на тему uuid новых устройств/файловых систем (у меня это свелось к правке в /etc/fstab и /etc/default/grub). И далее в каком-нибудь /mnt монтируем все новые файловые системы чтобы был и полный / и /usr и /var c /home если они разнесены по разным ФС), в эту же иерархию через -o bind пробрасываем существующие /dev /proc и /sys. Далее просто chroot /mnt и уже из-под chroot'а колдунствуем на тему grub-install/grub-mkconfig и перегенерацию initrd.

 

И совсем не понял смысла с жонглированием дисками из гнезда в гнездо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.