alibek Posted April 29, 2021 Posted April 29, 2021 Есть у меня сервер с RAID-контроллером и корзиной на 4 диска, из которых только в одной корзине есть диск (десктопный SATA на небольшой объем). На сервере установлен Debian и сделаны некоторые настройки, которые мне не хотелось бы делать заново. В скором времени к серверу я возьму четыре серверных диска, два соберу в зеркало, еще два оставлю автономными. И хотелось бы просто перенести на них систему целиком. Поскольку сейчас системный диск подключен как автономный, а новый системный диск будет RAID-1, то просто клонировать диск я не могу (к тому же на новых дисках будет другой размер сектора и не исключено, что клонировать так просто не получится). Я планирую сделать следующим образом: 1. Переключить текущий диск в слот 4, перенастроить RAID. 2. Включить в первые два слота новые диски, создать зеркало. 3. Загрузиться со старого диска (в слоте 4), создать на новом диске (который RAID-1 в первых двух слотах) файловую систему, с такой же разбивкой. 4. Скопировать партиции с помощью dd. 5. Загрузиться с нового диска, проверить, что ничего не поломалось. 6. Вытащить из слота 4 старый диск, вставить в слоты 3 и 4 новые диски. 7. Настроить в RAID-контроллере как новые автономные диски. 8. В системе добавить их как новые разделы. Ничего не упустил? Вставить ник Quote
snvoronkov Posted April 29, 2021 Posted April 29, 2021 dd зачем? cpio, dump/restore, tar чем не угодили? Да, и приготовится к пляскам с бубном при переустановке grub & initrd. blkid-же изменятся. Вставить ник Quote
alibek Posted April 29, 2021 Author Posted April 29, 2021 dd по-моему самый быстрый. Да и я не уверен, что tar или cpio смогут правильно скопировать специальные файлы. С изменением blkid само собой придется повозиться. В крайнем случае на новый диск поставлю новую систему с аналогичной дисковой разбивкой, а затем загружусь с live-cd и скопирую разделы. Вставить ник Quote
lugoblin Posted April 30, 2021 Posted April 30, 2021 Вы разработали замечательный план, но, возможно, имеет смысл расширить некоторые ограничения. Чай не удалённый марсоход перепрошиваете. Во первых, нет необходимости жонглировать дисками туда сюда. Во вторых, не надо клонировать загруженную живую систему из неё же. В третьих, ваш старый диск, в нетронутом состоянии, можно будет убрать в шкафчик на карантин, а то как бы чего не вышло с новым 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. Вставить ник Quote
Ivan_83 Posted April 30, 2021 Posted April 30, 2021 14 часов назад, alibek сказал: На сервере установлен Debian и сделаны некоторые настройки, которые мне не хотелось бы делать заново. Ну да, перенести /etc, /var так трудно :) 14 часов назад, alibek сказал: И хотелось бы просто перенести на них систему целиком. Я в таких случаях делаю так: размечаю руками новый диск, заливаю загрузчики, форматирую, и дальше вливаю туда используя rsync, правлю fstab (у меня uuid используются для рутового раздела). Ноль ребутов. Вставить ник Quote
snvoronkov Posted April 30, 2021 Posted April 30, 2021 @lugoblin +1 Обычно примерно так и делаю. Вставить ник Quote
alibek Posted April 30, 2021 Author Posted April 30, 2021 6 часов назад, lugoblin сказал: Во вторых, не надо клонировать загруженную живую систему из неё же. Вот же ш. Слепое пятно прямо. Да, это логичнее и проще. 3 часа назад, Ivan_83 сказал: Ну да, перенести /etc, /var так трудно У меня пока еще не выпадало случая делать перенос в рамках одного дистрибутива. Обычно в лучшем случае на пару единиц меняется мажорная версия, а обычно и дистрибутив, а то и платформа. Проще клонировать, чем разбираться в отличиях между версиями. Вставить ник Quote
vop Posted April 30, 2021 Posted April 30, 2021 9 hours ago, Ivan_83 said: Ну да, перенести /etc, /var так трудно :) В Debian большинство конфигов настраиваются путем добавления отдельных файлов. Поэтому совершенно разумно держать отдельную корзинку со всеми конфигами для /etc, не трогая фалы дистрибутива, где это возможно. Тогда перенос (или восстановление) системы заметно облегчится. Вставить ник Quote
boco Posted April 30, 2021 Posted April 30, 2021 11 часов назад, Ivan_83 сказал: Я в таких случаях делаю так: размечаю руками новый диск, заливаю загрузчики, форматирую, и дальше вливаю туда используя rsync, правлю fstab (у меня uuid используются для рутового раздела). Ноль ребутов. +1, только можно даже не править фстаб, у mkfs и mkswap есть ключ -U Вставить ник Quote
NiTr0 Posted April 30, 2021 Posted April 30, 2021 создать рэйд, потом создать разделы, подмонтировать их, создать каталоги /proc, /sys, потом - rsync кроме /proc и /sys (возможно и /dev туда же но точно не помню), потом - заинсталлить загрузчик на рэйд. всё. и да, это быстрее чем dd (который будет усердно копировать и пустое место, и фрагментацию в том числе). Вставить ник Quote
jffulcrum Posted April 30, 2021 Posted April 30, 2021 В 29.04.2021 в 16:17, alibek сказал: сервер с RAID-контроллером С настоящим? А то будет как у меня: Вставить ник Quote
Ivan_83 Posted May 1, 2021 Posted May 1, 2021 15 часов назад, boco сказал: +1, только можно даже не править фстаб, у mkfs и mkswap есть ключ -U У меня на фре таких нет :) Кроме того, мне выгоднее иметь разные UUID, на случай когда я диски перетыкаю, чтобы исключить ситуацию когда я хочу загрузится с одного диска а мне загрузчик хватает рут раздел с первого попавшегося диска. Вставить ник Quote
passer Posted May 1, 2021 Posted May 1, 2021 В 30.04.2021 в 18:46, NiTr0 сказал: dd (который будет усердно копировать и пустое место, и фрагментацию в том числе). Зависит от заполнения носителя, после некоего порога посекторное копирование будет быстрее, особенно, если в основной массе файлы в несколько десятков КБ. В зависимости от ситуации практикую и посекторное с помощью dd/ddrescue и копирование rsync/cp. Вставить ник Quote
NiTr0 Posted May 3, 2021 Posted May 3, 2021 В 02.05.2021 в 00:06, passer сказал: Зависит от заполнения носителя, после некоего порога посекторное копирование будет быстрее, особенно, если в основной массе файлы в несколько десятков КБ. да понятно что сильно фрагментированный диск пофайлово будет читаться медленнее, чем посекторная копия))) Вставить ник Quote
passer Posted May 4, 2021 Posted May 4, 2021 Даже при невысокой фрагментации файлы на диске расположены отнюдь не в алфавитном порядке, адаптированном высшим разумом для копирования на другой носитель. А дальше посильный, но весомый вклад вносит латентность доступа к данным данного накопителя из-за позиционирования считывающей головки. Вставить ник Quote
NiTr0 Posted May 4, 2021 Posted May 4, 2021 зато бонусом получаем на выходе нефрагментированный носитель, без лишних тормозов при обращении. как по мне - оно того стоит. Вставить ник Quote
taf_321 Posted May 5, 2021 Posted May 5, 2021 В 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. И совсем не понял смысла с жонглированием дисками из гнезда в гнездо. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.