Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Серверы Linux. Часть X. Приложения

Оригинал: Cloning
Автор: Paul Cobbaut
Дата публикации: 24 мая 2015 г.
Перевод: A.Панин
Дата перевода: 15 июля 2015 г.

Приложение A. Клонирование файловой системы сервера

A.1. О процессе клонирования файловой системы сервера

Вы можете руководствоваться различными целями при принятии решения о клонировании файловой системы сервера. Например, копия данных клонируемого сервера может использоваться при создании системы для восстановления работоспособности сервера в ручном режиме в случае неполадок. Также данные клонируемого сервера могут использоваться при создании отдельного окружения для тестирования изменений. Или же вам может понадобиться практически идентичный сервер. Давайте рассмотрим несколько способов клонирования неиспользуемой или используемой файловой системы сервера на основе Linux.

A.2. О процессе клонирования неиспользуемой файловой системы сервера

Клонирование неиспользуемой файловой системы сервера на основе Linux (иногда обозначаемое с помощью термина "оффлайн-клонирование") осуществляется после отключения питания работающего сервера. Данный метод клонирования файловой системы является достаточно простым, так как вам не придется беспокоиться об открытых файлах и пропускать такие виртуальные файловые системы, как /dev и /sys. Описанный процесс клонирования неиспользуемой файловой системы может быть разделен на следующие этапы:

  1. Загрузка исходного и целевого серверов с помощью загрузочных оптических дисков

  2. Создание, форматирование и монтирование разделов жестких дисков целевого сервера

  3. Копирование файлов/разделов с жестких дисков исходного сервера на жесткие диски целевого сервера по сети

Первый этап является тривиальным. Второй этап в подробностях описан в разделе "Управление дисками" книги "Администрирование систем Linux". На третьем этапе вы можете воспользоваться комбинацией из таких инструментов, как ssh или netcat с такими инструментами, как cp, dd, dump, а также restore, tar, cpio, rsync или даже cat.

A.3. Пример клонирования неиспользуемой файловой системы сервера

Предположим, что у нас в распоряжении имеется сервер, работающий под управлением дистрибутива Red Hat Enterprise Linux 5, и мы хотим создать точную копию файловой системы этого сервера на новом оборудовании. В первую очередь мы должны исследовать схему размещения разделов на жестких дисках.

[root@RHEL5 ~]# df -h 
Файловая система Размер Использовано  Дост Использовано% Cмонтировано в
/dev/sda2           15G         4.5G  9.3G           33% /
/dev/sda1           99M          31M   64M           33% /boot

Раздел /boot имеет небольшой размер, которого вполне достаточно для хранения файлов, используемых при загрузке системы. В том случае, если мы захотим создать идентичный дисковый раздел, утилита dd отлично подойдет для клонирования соответствующей файловой системы. Предположим, что размер корневого раздела / в целевой системе должен быть увеличен. В этом случае для клонирования файловой системы отлично подойдет комбинация из утилит dump и restore. Помните о том, что утилита dd копирует блоки, а утилиты dump/restore - файлы.

Первым шагом процесса клонирования файловой системы будет загрузка целевого сервера с помощью загрузочного оптического диска (Live CD) и создание разделов на жестком диске целевого сервера. Для этой цели может использоваться установочный диск дистрибутива Red Hat Enterprise Linux 5. После вывода приглашения загрузчика оптического диска мы должны будем ввести команду "linux rescue". После этого мы получим доступ к консоли с правами пользователя root, которая может использоваться для получения списка и подготовки подключенных жестких дисков с помощью утилиты fdisk.

После создания разделов и файловых систем в них мы можем использовать утилиту dd для копирования раздела /boot.

ssh root@192.168.1.40 "dd if=/dev/sda1" | dd of=/dev/sda1

Далее мы можем использовать комбинацию утилит dump и restore для копирования данных из корневого раздела /.

mkdir /mnt/x
mount /dev/sda2 /mnt/x
cd /mnt/x
ssh root@192.168.1.40 "dump -0 -f - /" | restore -r -f -

Предыдущий раздел: Оглавление Следующий раздел:
Глава 21. Знакомство с протоколом IPv6   Приложение B. Лицензия