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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

В третьих, ваш старый диск, в нетронутом состоянии, можно будет убрать в шкафчик на карантин, а то как бы чего не вышло с новым 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.

 

Share this post


Link to post
Share on other sites

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

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

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

 

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

 

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

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

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

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

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

Share this post


Link to post
Share on other sites

9 hours ago, Ivan_83 said:

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

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

 

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

В 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.

 

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

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.