Blog the XELFAER

Заметки *NIX

Клонирование HDD в Linux —

На днях подвернулась небольшая подработка — необходимо сделать полный клон жесткого диска с рейда сервера на котором крутиться Ubuntu 14.04.
Работа в принципе не пыльная, но есть некоторые нюансы и разные методы которыми это можно выполнить. Поделюсь одним из методов который использовался мной.

Для начала что мы имеем в исходном варианте:
— сервер IBM System x3400 M3 Server с физическим RAID 0 (самое забавное что администратор данного сервера утверждал что там диски в RAID 1, ну да ладно…);
— ОС Linux — дистрибутив Ubuntu 14.04;

Что необходимо получить:
— полный клон жесткого диска (в данном случае мне выдали обычный SATA HDD);
— клон должен быть работоспособный.

Так как данных на HDD сервера не особо много, сразу была идея использовать dd, но после взвешивания за/против этот вариант был отметен и взят другой.
Для выполнения поставленной задачи нам понадобиться загрузочный диск или флешка с дистрибутивом Linux к примеру System Rescue CD и Ubuntu 14.04(хотя можно обойтись спокойно последним вариантом).

Для начала необходимо подключить к серверу HDD на который мы будем выполнять перенос системы.
Загружаемся с Live дистрибутива, в моем случае я использовал сразу System Rescue CD.
Теперь необходимо определиться на каком HDD у нас крутиться боевая система, а на какой мы будем переносить клон.

Для этого можно воспользоваться утилитой fdisk или cfdisk:

# fdisk -l /dev/sda
# fdisk -l /dev/sdb

Программа выдаст все разделы которые содержит каждый HDD.
В моем случае /dev/sda — исходный диск, а /dev/sdb — диск на который будем клонировать.

На исходном HDD содержался всего один раздел — корневой, он же «/» с файловой системой EXT4.
Определившись где какой у нас HDD, необходимо подготовить к переносу второй жесткий диск. Для этого мы воспользуемся утилитой cfdisk:

# cfdisk /dev/sdb

Перед нами предстанет окно с небольшим меню. В принципе работа с данной программой интуитивно понятна. Создаем только один раздел.
Теперь необходимо созданный раздел отформатировать в файловую систему (ФС) EXT4:

# mkfs -t ext4 /dev/sdb1

Разметка диска на этом закончена и переходим непосредственно к созданию клона.

Создадим каталоги к которым мы будем монтировать разделы:

# mkdir /mnt/oldfs
# mkdir /mnt/newfs

где: oldfs — каталог в который будет монтироваться исходный раздел HDD, а newfs соответственно новый.
Примонтируем разделы HDD в созданные каталоги:

# mount /dev/sda1 /mnt/oldfs
# mount /dev/sdb1 /mnt/newfs

Теперь необходимо скопировать все данные с одного раздела на другой, с сохранением всех атрибутов, прав доступа:

# cp -rav /mnt/oldfs/* /mnt/newfs

Теперь терпеливо ждем пока у нас скопируется все содержимое.

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

# vim /mnt/newfs/etc/fstab

Здесь следует обратить внимание на то что в новых версиях дистрибутивов разделы указываются в новом формате — по UUID.
Получим UUID раздела нашего нового HDD, для это воспользуемся командой blkid:

# blkid /dev/sdb1

Далее в редактируемом файле fstab нам необходимо заменить старый UUID соответственно на новый.

Последнее что требуется — восстановить загрузчик.
Для начала смотрим таблицу разделов:

# fdisk -l

Согласно вывода, в данном случае, система находиться на разделе /dev/sdb1.
Восстанавливаем загрузчик:

# grub-install --root-directory=/mnt/newfs /dev/sdb

На этом создание клона HDD можно считать оконченным.

© 2017, XELFAER. Все права защищены.

Print Friendly, PDF & Email

Рубрики: Linux



Добавить комментарий