Резервное копирование FreeBSD при помощи pax
Добавлено: 15 июн 2011, 09:44
Внесу ясность - я не одобряю данный способ и статья существует только в виде "ещё один способ бекапа". RomA
Всех приветствую!
Сегодня мы рассмотрим один из способов создать резервную копию нашего чудного сервера FreeBSD. Нашим помощником будет замечательная утилита под названием pax, которая к слову говоря входит в стандартный набор FreeBSD. Я рассмотрю способ создания копии системы на отдельный винчестер. Это будет интересно как для запуска системы на отдельном компьютере для "опытов", так и для создания "бэкапов".
Итак, приступим.
Первое, что нам понадобится - это винчестер, на который мы будем создавать резервную копию.
Итак, "внедряем" его в наш любимый сервер любым удобным нам способом и смотрим, под каким именем он у нас прижился:
У меня это вышло так:
До:
После:
Видим, что наш новый винчестер прижился в системе под "ad5"
Теперь нам надо создать слайсы (разделы) на нашем свежеинсталлированном винчестере. И примонтировать их.
Создаем точки монтирования.
temp разумеется монтировать вовсе не обязательно, копировать его нет нужды, это я на всякий уж...
Теперь должен сделать несколько отступлений.
1. Важно. Имена разделов должны совпадать с теми, которые есть в системе. Смотрим, что у нас есть:
Т.е.:
"корень" у нас оканчивается на "s1a"
"/usr" на "s1f"
и т.д...
Наша задача - создать слайсы на новом винчестере с теми-же именами. И примонтировать их в созданные нами ранее каталоги. То есть должно быть в моём случае:
ad5s1a - "/mnt/root"
ad5s1d - "/mnt/var"
ad5s1e - "/mnt/tmp"
ad5s1f - "/mnt/usr"
ad5s1g - "/mnt/home"
Я разбивал новый винчестер при помощи sysinstall. Тут есть одна хитрость. Sysinstall не захочет назначать разделу имя "s1a", если мы в качестве точки монтирования укажем что-то отличное от "/". Поэтому при создании раздела мы ему говорим что это "/", а после нажав кнопочку "m" говорим что точка монтирования "/mnt/root". Аналогично поступаем со следующими разделами и выходим, применив изменения.
Немного поборовшись с sysinstall добиваемся всё-же чтобы он создал нам разделы так, как мы хотим... На этом самое муторное закончено.
2. Теперь о приятном. Мы можем разбить винчестер так, как нам будет удобно. Например в моём случае "корень" маловат - всего 496 Мб. Можем сделать его побольше... Разделы можно создать произвольно, как нам удобно. Больше-меньше. Главное чтобы там хватило места при переносе туда нашей системы.
Ну в общем всё... дальше вводим команду
Через некоторое время корневой раздел скопирован. По аналогии копируем остальные разделы. Например:
и т.д...
Всё, копия системы готова!
P.S. Если будем запускать систему с этого винчестера на другом компьютере - не забываем поправить fstab
P.P.S. Статью писал по памяти. Но всё работало, проверено. Если есть вопросы - пишите.
Всех приветствую!
Сегодня мы рассмотрим один из способов создать резервную копию нашего чудного сервера FreeBSD. Нашим помощником будет замечательная утилита под названием pax, которая к слову говоря входит в стандартный набор FreeBSD. Я рассмотрю способ создания копии системы на отдельный винчестер. Это будет интересно как для запуска системы на отдельном компьютере для "опытов", так и для создания "бэкапов".
Итак, приступим.
Первое, что нам понадобится - это винчестер, на который мы будем создавать резервную копию.
Итак, "внедряем" его в наш любимый сервер любым удобным нам способом и смотрим, под каким именем он у нас прижился:
У меня это вышло так:
До:
Код: Выделить всё
/dev/>ls | grep ad
ad4
ad4s1
ad4s1a
ad4s1b
ad4s1d
ad4s1e
ad4s1f
ad4s1g
ad6
ad6s1
ad6s1a
ad6s1b
ad6s1d
ad6s1e
ad6s1f
ad6s1g
Код: Выделить всё
/dev/>ls | grep ad
ad4
ad4s1
ad4s1a
ad4s1b
ad4s1d
ad4s1e
ad4s1f
ad4s1g
ad5
ad5s1
ad5s1a
ad5s1b
ad5s1d
ad5s1e
ad5s1f
ad5s1g
ad6
ad6s1
ad6s1a
ad6s1b
ad6s1d
ad6s1e
ad6s1f
ad6s1g
Теперь нам надо создать слайсы (разделы) на нашем свежеинсталлированном винчестере. И примонтировать их.
Создаем точки монтирования.
Код: Выделить всё
mkdir /mnt/root
mkdir /mnt /home
mkdir /mnt/usr
mkdir /mnt/var
mkdir /mnt/temp
Теперь должен сделать несколько отступлений.
1. Важно. Имена разделов должны совпадать с теми, которые есть в системе. Смотрим, что у нас есть:
Код: Выделить всё
/dev/>df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ar0s1a 496M 364M 92M 80% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ar0s1g 354G 181G 145G 56% /home
/dev/ar0s1e 2.8G 1.8M 2.6G 0% /tmp
/dev/ar0s1f 76G 10G 59G 15% /usr
/dev/ar0s1d 14G 2.3G 11G 18% /var
devfs 1.0K 1.0K 0B 100% /var/named/dev
"корень" у нас оканчивается на "s1a"
"/usr" на "s1f"
и т.д...
Наша задача - создать слайсы на новом винчестере с теми-же именами. И примонтировать их в созданные нами ранее каталоги. То есть должно быть в моём случае:
ad5s1a - "/mnt/root"
ad5s1d - "/mnt/var"
ad5s1e - "/mnt/tmp"
ad5s1f - "/mnt/usr"
ad5s1g - "/mnt/home"
Я разбивал новый винчестер при помощи sysinstall. Тут есть одна хитрость. Sysinstall не захочет назначать разделу имя "s1a", если мы в качестве точки монтирования укажем что-то отличное от "/". Поэтому при создании раздела мы ему говорим что это "/", а после нажав кнопочку "m" говорим что точка монтирования "/mnt/root". Аналогично поступаем со следующими разделами и выходим, применив изменения.
Немного поборовшись с sysinstall добиваемся всё-же чтобы он создал нам разделы так, как мы хотим... На этом самое муторное закончено.
2. Теперь о приятном. Мы можем разбить винчестер так, как нам будет удобно. Например в моём случае "корень" маловат - всего 496 Мб. Можем сделать его побольше... Разделы можно создать произвольно, как нам удобно. Больше-меньше. Главное чтобы там хватило места при переносе туда нашей системы.
Ну в общем всё... дальше вводим команду
Код: Выделить всё
cd / && pax -p eme -X -rw . /mnt/root
Код: Выделить всё
cd /var && pax -p eme -X -rw . /mnt/var
Всё, копия системы готова!
P.S. Если будем запускать систему с этого винчестера на другом компьютере - не забываем поправить fstab
P.P.S. Статью писал по памяти. Но всё работало, проверено. Если есть вопросы - пишите.