Клонирование разделов диска в FreeBSD::Журнал СА 4.2008
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6225
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6931
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4213
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3006
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3806
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3819
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6315
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3169
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3459
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7276
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10645
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12364
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13998
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9123
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7077
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5387
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4615
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3426
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3154
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3399
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3024
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Клонирование разделов диска в FreeBSD

Архив номеров / 2008 / Выпуск №4 (65) / Клонирование разделов диска в FreeBSD

Рубрика: Администрирование /  Администрирование

Владимир Ляшко

Клонирование разделов диска в FreeBSD

Ситуация, когда нужно клонировать разделы диска, – не редкость. Такая копия может понадобиться для восстановления, быстрого развертывания системы. Не лишней она будет и при обучении. К сожалению, в FreeBSD нет удобных программ и понятного алгоритма создания такой копии. Специализированные инструменты вроде Acronis TrueImage или NortonGhost, при помощи которых легко можно создать копию раздела Windows и Linux, с файловой системой UFS не работают. Чтение документации и поиск в Интернете показали, что в FreeBSD для этих целей c успехом используются утилиты dump/restore, собственно для этих целей они и предназначены.

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

Порядок создания имиджа и восстановления файловой системы опишу на примере рабочего шлюза с установленной FreeBSD 6.3. Перед началом создания имиджа рекомендую сохранить в файл вывод команды «df», чтобы впоследствии не было путаницы с наименованиями партиций при восстановлении, да и просто для того чтобы вспомнить, какие там были разделы вообще.

Итак, имеем один слайс и четыре раздела:

# df -h -t ufs

Filesystem Size Used Avail Capacity Mounted on

/dev/ad0s1a 533M 85M 405M 17% /

/dev/ad0s1d 1.9G 4.1M 1.7G 0% /tmp

/dev/ad0s1f 65G 15G 3.2G 95% /usr

/dev/ad0s1e 4.7G 157M 4.2G 4% /var

Полученные файлы дампов будем сохранять в расшаренную и примонтированную папку Windows компьютера, по протоколу SMB, хотя это потребует большего времени, чем копирование на раздел жесткого диска, и увеличивает нагрузку на сеть, но в моем случае это не критично, ну и не забываем, если это раздел FAT32, то максимальный размер файла, который мы можем записать, равен 4 Гб.

# mount_smbfs //turbina/dump /mnt

Создаем дамп корневого раздела:

# dump -0uL -f /mnt/dump.root /

В итоге через некоторое время получим файл dump.root, содержащий копию раздела /dev/ad0s1a, смонтированного как корень.

Значение использованных ключей следующее:

  • 0 – полное резервное копирование, гарантирует, что вся файловая система будет скопирована. 0-9 – уровни сохранения. На уровне 0, полное резервное копирование, гарантирует, что вся файловая система будет скопирована. Уровни выше 0, инкрементальное копирование, говорят dump копировать все файлы, новые или модифицированные, с момента последнего сохранения любого уровня. По умолчанию уровень 0.
  • u – обновляет файл dumpdates после успешного сохранения. Формат файла dumpdates читаем для человека, содержит одну из трех форматов записи на строку: имя файловой системы, инкрементальный уровень и дату сохранения в формате ctime(3). Может быть только одна запись для файловой системы каждого уровня. Файл dumpdates может быть отредактирован для изменения любого из полей, если это необходимо. Путь по умолчанию для файла dumpdates – /etc/dumpdates, но опция -D может использоваться для изменения пути.
  • L – эта опция предупреждает dump, что происходит процесс сохранения живой файловой системы. Для получения полного образа dump записывает снапшот файловой системы в директорию .snap в корне файловой системы, которая будет сохранена, и затем делает сохранение снапшота. Снапшот разлинковывается, как только начинается процесс сохранения, и удаляется после завершения сохранения. Опция игнорируется для отмонтированных или смонтированных только на чтение файловых систем. Если директория .snap отсутствует в корневой директории сохраняемой файловой системы, будет показано предупреждение, и dump вернется к стандартному поведению. Эта проблема может быть устранена созданием .snap директории, в корневом каталоге файловой системы, которая будет сохраняться; ее владельцем должен быть «root», группа «operator», и атрибуты должны быть «0770».
  • f – file (файл) Запись бэкапа в файл; файл может быть специальным устройством, таким как /dev/sa0 (ленточный накопитель), /dev/fd1 (дисковод), обычный файл, или «-» (стандартный вывод). Множественные имена файлов могут быть заданы одним аргументом, разделенным запятыми. Каждый файл будет использоваться для одного тома в порядке очереди; если для сохранения требуется больше томов, чем заданных имен, последнее имя будет использовано для всех следующих томов после приглашения для смены носителя. Если имя файла имеет форму: «хост:файл», или «пользователь@хост:файл», dump запишет названный файл на удаленный хост, используя rmt(8). Имя пути по умолчанию для удаленной программы rmt(8) /etc/rmt; путь можно изменить переменной окружения RMT.

В моем случае этих ключей достаточно, об остальных читайте man dump.

Таким же образом создаем дампы и с других разделов:

# dump -0uL -f /mnt/dump.var /var

# dump -0uL -f /mnt/dump.tmp /tmp

# dump -0uL -f /mnt/dump.usr /usr

В случае создания дампа непримонтированного раздела, или если копируемая ФС не описана в /etc/fstab, используем имя файловой системы (партиции) например:

# dump -0uaL -f /mnt/dump.var /dev/ad0s1e

В итоге в сетевой папке у нас появится четыре больших файла, по одному на каждый раздел, если вы уверены, что в разделе /tmp рабочей системы ничего важного для вас нет, его можно не бэкапить. В рабочей системе, после создания полного дампа, можно периодически (через cron) делать инкрементные копии разделов /var и /tmp (и остальных, если в них производились изменения), заменив цифру «0» в команде на большую (от 1 до 9 по порядку), это во-первых удобно, а во-вторых значительно снижает нагрузку на дисковую подсистему во время создания бэкапа, чего не скажешь при работе утилиты dump по 0–му уровню дампа.

Порядок восстановления системы на жесткий диск

Есть несколько вариантов первичной подготовки диска. Я выбрал самый простой. Используя первый загрузочный диск FreeBSD, в sysinstall создаем слайс и нужные нам разделы на диске, записываем изменения клавишей W, в следущем меню прописываем загрузчик.

Более продвинутый способ – сделать все это с помощью Live CD Frenzy [2], используя утилиты fdisk, bsdlabel, и прописать загрузчик командой:

#fdisk –B ad0

Затем после перегрузки компьютера, загружаюсь уже с Live CD Frenzy [2], используя в приглашении boot параметры nohdmnt, hdrw, и проверяем разделы на наличие ошибок:

# fsck /dev/ad0s1a

# fsck /dev/ad0s1d

# fsck /dev/ad0s1e

# fsck /dev/ad0s1f

При помощи ifconfig настраиваем сеть:

# ifconfig rl0 inet 192.168.1.161/24

И монтируем раздел с файлами дампов:

# mount_smbfs //turbina/dump /mnt/smb

Для удобства и чтобы не напутать, что куда монтировать, создаем каталог, в который будем монтировать разделы и восстанавливать файловые системы в следующем порядке: /, /tmp, /var, /usr.

# mkdir /home/restore

Монтируем корневой раздел /dev/ad0s1a и переходим в него для восстановления корневой файловой системы:

# mount -t ufs /dev/ad0s1a /home/restore

# cd /home/restore

Восстанавливаем корневой раздел.

# restore -vrf /mnt/smb/dump.root

 Значение использованных ключей следующее:

  • -v (verbose) – заставляет выводить имя каждого файла.
  • -r (restore) – восстановление (создание заново файловой системы). Целевая файловая система, должна быть сделана ранее с newfs(8), смонтирована, и пользователь должен перейти в подготовленную ранее файловую систему, прежде чем начнется восстановление нулевого уровня из резервной копии. Если уровень 0 восстановлен удачно, флаг -r может использоваться для восстановления всех необходимых инкрементальных бэкапов выше уровня 0. Флаг -r устраняет интерактивное извлечение файлов и может являться вредным для здоровья, если он не будет применяться аккуратно.
  • -f (file) – читает бэкап из файла; файл может являться специальным файлом устройства, как например /dev/sa0 (ленточный накопитель), /dev/da1c (дисковый накопитель), простым файлом, или «-» (стандартный вывод). Если имя файла имеет форму: «хост:файл», или «пользователь@хост:файл», restore прочтет названный файл на удаленном хосте, используя rmt(8).

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

Если возникают какие-то нюансы, значение остальных ключей читайте в man restore.

Аналогичным образом поступаем и с остальными разделами.

# mount -t ufs /dev/ad0s1d /home/restore/tmp

# cd /home/restore/tmp

# restore -vrf /mnt/smb/dump.tmp

# mount -t ufs /dev/ad0s1d /home/restore/var

# cd /home/restore/var

# restore -vrf /mnt/smb/dump.var

# mount -t ufs /dev/ad0s1d /home/restore/usr

# cd /home/restore/usr

# restore -vrf /mnt/smb/dump.usr

Размонтируем все разделы в обратном порядке:

# umount /home/restore/usr

# umount /home/restore/var

# umount /home/restore/tmp

# umount /home/restore

# umount /mnt/smb

Все готово. Перегружаем систему, вынимаем диск. Если все грузится и работает – значит все сделано правильно. Я использую данную схему довольно давно, и пока проблем не было.

Меню загрузки

Меню загрузки

  1. Перевод man dump – http://www.lissyara.su/?id=1481.
  2. Сайт проекта Frenzy – http://frenzy.org.ua.

Комментарии отсутствуют

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

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru