LinuxForum.Fans
Тема

Перенос системы с RAID (mdadm) на обычный диск

Автор: drozel 15 сообщений 4203 просмотров
#278526

Здравствуйте. Нужно перенести работающий Ubuntu Server с программного RAID1 массива на обычный жесткий диск.

Возникли несколько вопросов:
Возможно ли это сделать с помощью простого dd if=/dev/md0 of=/dev/sda? Какие могут быть подводные камни?
Можно ли использовать clonezilla, умеет ли он работать с программным RAID?

Заранее спасибо

#278538
"drozel" написал:
Возможно ли это сделать с помощью простого dd if=/dev/md0 of=/dev/sda? Какие могут быть подводные камни?

возможно...
по идее надо только переустановить grub... + может потребоваться подправить fstab.
ещё надо не забыть потом ресайзнуть партишн к размеру разделов, если копировать будешь по разделам (не обязательно, но разумно)...
ещё если раздел сильно больше, чем на нём данных, то проще сделать это tar'ом или rsync'ом... тогда надо будет поменять uid'ы в fstab'е.

вроде ничего не упустил...

#278601

Только tar и никаких заморочек.
Потом поправил fstab загрузчик ну и /etc/udev/rules.d/что-то-там.net.rule, поправить под новые маки и интерфйсы.

#278709

А при этом не важны исходные и конечные размеры разделов?

#278716

При переносе системы с помощью tar размеры разделов не важны. Важно то чтобы корень фс, который вы запаковали в архив вместилса на новый раздел, при разпаковывании.

#278719
"kisil" написал:
При переносе системы с помощью tar размеры разделов не важны. Важно то чтобы корень фс, который вы запаковали в архив вместилса на новый раздел, при разпаковывании.

а ещё важно не забыть ключик -p
это так, на всякий пожарный...
если через dd, то размер раздела-преемника должен быть не меньше размера fs

#278721
Fat-Zer написал:
[quote="kisil"]При переносе системы с помощью tar размеры разделов не важны. Важно то чтобы корень фс, который вы запаковали в архив вместилса на новый раздел, при разпаковывании.

а ещё важно не забыть ключик -p
это так, на всякий пожарный...
если через dd, то размер раздела-преемника должен быть не меньше размера fs[/quote]

Это верно, просто я писал про то вместитса или нет, а не про то как. Я переношу систему так

text
tar -cpzf system.tar.gzip --exclude=/proc --exclude=/sys --exclude=dev --exclude=/mnt это если есть примонтирование другие фс

Далее на новом разделе с подготовленой фс

text
tar -xpzf system.tar.gzip
mkdir dev
mkdir proc
mkdir sys

Востанавливаю загрузчик через chroot, предварительно смонтировав в нужные точки монтирования /dev /proc /sys и правлю fstab. Всё.

#278723
"kisil" написал:
--exclude=dev

плохая практика... если грузится без initrd, то init'у нужны /dev/{null,consle,zero}. вроде ещё что-то, но я постоянно забываю четвёртого...
если снимаешь скальп с рабочей системы, то лучше просто второй раз корень смонтировать в /mnt/root и уже с него снимать...

#278724
"Fat-Zer" написал:
вроде ещё что-то, но я постоянно забываю четвёртого...

/dev/initctl

#278763
"Fat-Zer" написал:
если снимаешь скальп с рабочей системы, то лучше просто второй раз корень смонтировать в /mnt/root и уже с него снимать...

Поясните, пожалуйста. Если смонтировать корень в /mnt/root, то там будут папки /dev и т.д.? Их нужно архивировать или нет?

"kisil" написал:
Востанавливаю загрузчик через chroot

Ни разу не пользовался. А grub-install?

#278766
"drozel" написал:
Поясните, пожалуйста. Если смонтировать корень в /mnt/root, то там будут папки /dev и т.д.? Их нужно архивировать или нет?

mount /dev/sdXX /mnt/root
/proc и /sys будут, но должны быть пустыми... /dev должен от нескольких штук до нескольких десятков устройств - это как задумал разраб. дистра.
архивировать всё....
ну можно кроме содержимого /tmp /var/{tmp,lock,run} /run, но обычно это лишняя морока их исключать... + иногда не все каталоги в /run'ах создаются стартовыми скриптами(зависит от дистра)

#279134

А никак не влияет то, что система грузится с md0 и загружает mdadm, а потом слепок этой системы переносится на один жесткий диск?
Или это все автоматически определяется на этапе загрузки?

#279137

При загрузке системы устройства инициализируются ядром. Чтобы оно смогло найти все необходимое, ему нужно знать, где все это взять. Загрузчик сообщает ядру, где искать корневую ФС, поэтому, поправив все необходимые файлы и переустановив загрузчик, мы сделаем эту информацию вновь корректной. С виндой такой номер не пройдет :)

#279221
"yars" написал:
С виндой такой номер не пройдет

на самом деле пройдёт.... но делается это через такие [CENSORED by Lupo Alberto], что срвсем не очевидно...(а конкретнее реестр)
по крайней мере можно сменить драйвер контроллера жёстких дисков, чтобы она относительно нормально загрузилась...

#279223
Fat-Zer написал:
на самом деле пройдёт.... но делается это через такие [CENSORED by Lupo Alberto], что срвсем не очевидно...(а конкретнее реестр)
по крайней мере можно сменить драйвер контроллера жёстких дисков, чтобы она относительно нормально загрузилась...

Ну, это уже шаманство и красноглазие ;)

Войдите или зарегистрируйтесь, чтобы ответить.