собственно сабж - имеется сервер, 2 жёстких диска - 80 Гб
на обоих дисках одинаковые по размеру партиции стоит FreeBSD 4.9-
как можно сделать побайтовое копирование с одного раздела на другой при помощи проги DD
Зарание спасибо.
>собственно сабж - имеется сервер, 2 жёстких диска - 80 Гб
>на обоих дисках одинаковые по размеру партиции стоит FreeBSD 4.9-
>как можно сделать побайтовое копирование с одного раздела на другой при помощи
>проги DD
>Зарание спасибо.
>>собственно сабж - имеется сервер, 2 жёстких диска - 80 Гб
>>на обоих дисках одинаковые по размеру партиции стоит FreeBSD 4.9-
>>как можно сделать побайтовое копирование с одного раздела на другой при помощи
>>проги DD
>>Зарание спасибо.
>
>man dd
>http://freebsd.org.ru/how-to/w2w.htmlможет RAID-1 ?
>собственно сабж - имеется сервер, 2 жёстких диска - 80 Гб
>на обоих дисках одинаковые по размеру партиции стоит FreeBSD 4.9-
>как можно сделать побайтовое копирование с одного раздела на другой при помощи
>проги DD
>Зарание спасибо.если диски одинаковые, написать два или один скрипт которые
запускать по крону в нужное время(наиболее удачное, когда минимальное
кол-во пользователей работает и когда минимальная нагрузка-загрузка),
шаги такие:- запускаем
dd if=/dev/raw_device_ориг of=/dev/raw_device_копия bs=1M >/var/log/dd.log 2>&1
проверяем код завершения dd, если 0 - запускаем fsck -y /dev/raw_device_копия, если 1 - неудача, отправляем письмо администратору
все, например у нас диск ad0 и нужно иметь копию ad1, неважно как они
разбиты на слайсы и партиции, нужно сделать копию сырого устройства:dd if=/dev/ad0 of=/dev/ad1 bs=1M
blocksize можно подобрать под себя и больше, посмотреть с каким быстрее
будет копирование, лучше использовать значения кратные 512.А вот после того как dd завершится, правильно будет запустить fsck -y /dev/fs...
допустим диск ad0 был разбит на fs:
/dev/ad0s1a - root-fs
/dev/ad0s1e - /usr
/dev/ad0s1f - /var
/dev/ad0s1g - /homeто после успешного завершения dd, запустить в скрипте:
fsck -y /dev/ad1s1a >/var/log/fsck2hdd.log 2>&1
...
fsck -y /dev/ad1s1g >>/var/log/fsck2hdd.log 2>&1тогда в случае если ad0 накрылся, можно сразу переключиться на ad1
перебросив шлейф. Тут нужно посмотреть как стоят перемычки на IDE
дисках: выбор master/slave или зависимость от подключения на шлейфе,
используется ли ATA_STATIC_ID в ядре. Для SCSI в этом отношении
прощеPS. Разумеется иметь ввиду что это НЕ ЗЕРКАЛИРОВАНИЕ и часть данных
будет потеряна как на протяжении самого процесса копирования, так и
за время между двумя копированиями.
>>собственно сабж - имеется сервер, 2 жёстких диска - 80 Гб
>>на обоих дисках одинаковые по размеру партиции стоит FreeBSD 4.9-
>>как можно сделать побайтовое копирование с одного раздела на другой при помощи
>>проги DD
>>Зарание спасибо.
>
>если диски одинаковые, написать два или один скрипт которые
>запускать по крону в нужное время(наиболее удачное, когда минимальное
>кол-во пользователей работает и когда минимальная нагрузка-загрузка),
>шаги такие:
>
>- запускаем
>
>dd if=/dev/raw_device_ориг of=/dev/raw_device_копия bs=1M >/var/log/dd.log 2>&1
>
>проверяем код завершения dd, если 0 - запускаем fsck -y /dev/raw_device_копия, если
>1 - неудача, отправляем письмо администраторуопс, SORRY, про fsck -y /dev/raw_device - это конечно же глупость
написана, fsck нужно пускать на реальные слайсы или партиции, как
показано в примере ниже.>все, например у нас диск ad0 и нужно иметь копию ad1, неважно
>как они
>разбиты на слайсы и партиции, нужно сделать копию сырого устройства:
>
>dd if=/dev/ad0 of=/dev/ad1 bs=1M
>
>blocksize можно подобрать под себя и больше, посмотреть с каким быстрее
>будет копирование, лучше использовать значения кратные 512.
>
>А вот после того как dd завершится, правильно будет запустить fsck -y
>/dev/fs...
>
>допустим диск ad0 был разбит на fs:
>
>/dev/ad0s1a - root-fs
>/dev/ad0s1e - /usr
>/dev/ad0s1f - /var
>/dev/ad0s1g - /home
>
>то после успешного завершения dd, запустить в скрипте:
>
>fsck -y /dev/ad1s1a >/var/log/fsck2hdd.log 2>&1
>...
>fsck -y /dev/ad1s1g >>/var/log/fsck2hdd.log 2>&1
>
>тогда в случае если ad0 накрылся, можно сразу переключиться на ad1
>перебросив шлейф. Тут нужно посмотреть как стоят перемычки на IDE
>дисках: выбор master/slave или зависимость от подключения на шлейфе,
>используется ли ATA_STATIC_ID в ядре. Для SCSI в этом отношении
>проще
>
>PS. Разумеется иметь ввиду что это НЕ ЗЕРКАЛИРОВАНИЕ и часть данных
>будет потеряна как на протяжении самого процесса копирования, так и
>за время между двумя копированиями.
>>>собственно сабж - имеется сервер, 2 жёстких диска - 80 Гб
>>>на обоих дисках одинаковые по размеру партиции стоит FreeBSD 4.9-
>>>как можно сделать побайтовое копирование с одного раздела на другой при помощи
>>>проги DD
>>>Зарание спасибо.
>>
>>если диски одинаковые, написать два или один скрипт которые
>>запускать по крону в нужное время(наиболее удачное, когда минимальное
>>кол-во пользователей работает и когда минимальная нагрузка-загрузка),
>>шаги такие:
>>
>>- запускаем
>>
>>dd if=/dev/raw_device_ориг of=/dev/raw_device_копия bs=1M >/var/log/dd.log 2>&1
>>
>>проверяем код завершения dd, если 0 - запускаем fsck -y /dev/raw_device_копия, если
>>1 - неудача, отправляем письмо администратору
>
>опс, SORRY, про fsck -y /dev/raw_device - это конечно же глупость
>написана, fsck нужно пускать на реальные слайсы или партиции, как
>показано в примере ниже.
>
>>все, например у нас диск ad0 и нужно иметь копию ad1, неважно
>>как они
>>разбиты на слайсы и партиции, нужно сделать копию сырого устройства:
>>
>>dd if=/dev/ad0 of=/dev/ad1 bs=1M
>>
>>blocksize можно подобрать под себя и больше, посмотреть с каким быстрее
>>будет копирование, лучше использовать значения кратные 512.
>>
>>А вот после того как dd завершится, правильно будет запустить fsck -y
>>/dev/fs...
>>
>>допустим диск ad0 был разбит на fs:
>>
>>/dev/ad0s1a - root-fs
>>/dev/ad0s1e - /usr
>>/dev/ad0s1f - /var
>>/dev/ad0s1g - /home
>>
>>то после успешного завершения dd, запустить в скрипте:
>>
>>fsck -y /dev/ad1s1a >/var/log/fsck2hdd.log 2>&1
>>...
>>fsck -y /dev/ad1s1g >>/var/log/fsck2hdd.log 2>&1
>>
>>тогда в случае если ad0 накрылся, можно сразу переключиться на ad1
>>перебросив шлейф. Тут нужно посмотреть как стоят перемычки на IDE
>>дисках: выбор master/slave или зависимость от подключения на шлейфе,
>>используется ли ATA_STATIC_ID в ядре. Для SCSI в этом отношении
>>проще
>>
>>PS. Разумеется иметь ввиду что это НЕ ЗЕРКАЛИРОВАНИЕ и часть данных
>>будет потеряна как на протяжении самого процесса копирования, так и
>>за время между двумя копированиями.А по моему быстрее так:
#!/bin/shmount /dev/ad1s1a /mnt/root
mount /dev/ad1s1d /mnt/var
mount /dev/ad1s1e /mnt/usr
rm -r /mnt/root/*
echo n | rm -r /mnt/var/*
rm -r /mnt/usr/*
cd /mnt/root; dump -L -f- / | restore -rf-
cd /mnt/var; dump -L -f- /var | restore -rf-
cd /mnt/usr; dump -L -f- /usr | restore -rf-
cd /
sleep 20
umount /dev/ad1s1a
umount /dev/ad1s1d
umount /dev/ad1s1e
>>>>собственно сабж - имеется сервер, 2 жёстких диска - 80 Гб
>>>>на обоих дисках одинаковые по размеру партиции стоит FreeBSD 4.9-
>>>>как можно сделать побайтовое копирование с одного раздела на другой при помощи
>>>>проги DD
>>>>Зарание спасибо.
>>>
>>>если диски одинаковые, написать два или один скрипт которые
>>>запускать по крону в нужное время(наиболее удачное, когда минимальное
>>>кол-во пользователей работает и когда минимальная нагрузка-загрузка),
>>>шаги такие:
>>>
>>>- запускаем
>>>
>>>dd if=/dev/raw_device_ориг of=/dev/raw_device_копия bs=1M >/var/log/dd.log 2>&1
>>>
>>>проверяем код завершения dd, если 0 - запускаем fsck -y /dev/raw_device_копия, если
>>>1 - неудача, отправляем письмо администратору
>>
>>опс, SORRY, про fsck -y /dev/raw_device - это конечно же глупость
>>написана, fsck нужно пускать на реальные слайсы или партиции, как
>>показано в примере ниже.
>>
>>>все, например у нас диск ad0 и нужно иметь копию ad1, неважно
>>>как они
>>>разбиты на слайсы и партиции, нужно сделать копию сырого устройства:
>>>
>>>dd if=/dev/ad0 of=/dev/ad1 bs=1M
>>>
>>>blocksize можно подобрать под себя и больше, посмотреть с каким быстрее
>>>будет копирование, лучше использовать значения кратные 512.
>>>
>>>А вот после того как dd завершится, правильно будет запустить fsck -y
>>>/dev/fs...
>>>
>>>допустим диск ad0 был разбит на fs:
>>>
>>>/dev/ad0s1a - root-fs
>>>/dev/ad0s1e - /usr
>>>/dev/ad0s1f - /var
>>>/dev/ad0s1g - /home
>>>
>>>то после успешного завершения dd, запустить в скрипте:
>>>
>>>fsck -y /dev/ad1s1a >/var/log/fsck2hdd.log 2>&1
>>>...
>>>fsck -y /dev/ad1s1g >>/var/log/fsck2hdd.log 2>&1
>>>
>>>тогда в случае если ad0 накрылся, можно сразу переключиться на ad1
>>>перебросив шлейф. Тут нужно посмотреть как стоят перемычки на IDE
>>>дисках: выбор master/slave или зависимость от подключения на шлейфе,
>>>используется ли ATA_STATIC_ID в ядре. Для SCSI в этом отношении
>>>проще
>>>
>>>PS. Разумеется иметь ввиду что это НЕ ЗЕРКАЛИРОВАНИЕ и часть данных
>>>будет потеряна как на протяжении самого процесса копирования, так и
>>>за время между двумя копированиями.
>
>А по моему быстрее так:
>#!/bin/sh
>
>mount /dev/ad1s1a /mnt/root
>mount /dev/ad1s1d /mnt/var
>mount /dev/ad1s1e /mnt/usr
>rm -r /mnt/root/*
>echo n | rm -r /mnt/var/*
>rm -r /mnt/usr/*ne fakt 4to posle "rm -r /mnt/<name>/*" operacii na FS ni4ego ne ostanetca.
>cd /mnt/root; dump -L -f- / | restore -rf-
>cd /mnt/var; dump -L -f- /var | restore -rf-
>cd /mnt/usr; dump -L -f- /usr | restore -rf-
>cd /
>sleep 20A za4em sleep ? Esli zdat poka buferi skinet togda uzh lu46e sync.
>umount /dev/ad1s1a
>umount /dev/ad1s1d
>umount /dev/ad1s1e
>А по моему быстрее так:а подумать?
rm, dump, restore, дальше нужно объяснять?черным по белому было написано ЕСЛИ ДИСКИ ОДИНАКОВЫЕ - dd сырой_диск1 сырой_диск2, fsck на разделы - все.
в скриптах лучше указывать полный путь к утилитам, иначе могут быть проблемы: PATH, ALIAS
>#!/bin/sh
>если мы допускаем что ВСЕГО три FS: /,/usr,/var
что изменится если я сделаю:rm -rf /mnt/root
mount /dev/ad1s1a /mnt
mount /dev/ad1s1d /mnt/var
mount /dev/ad1s1e /mnt/usr>mount /dev/ad1s1a /mnt/root
>mount /dev/ad1s1d /mnt/var
>mount /dev/ad1s1e /mnt/usr
>rm -r /mnt/root/*
>echo n | rm -r /mnt/var/*ну и зачем это еще? зачем вовсе rm?
>rm -r /mnt/usr/*>cd /mnt/root; dump -L -f- / | restore -rf-
cd /mnt; dump -L -f- / | restore -rf-
>cd /mnt/var; dump -L -f- /var | restore -rf-
>cd /mnt/usr; dump -L -f- /usr | restore -rf-
>cd /лучше уж cd /tmp - всегда будет надежней
>sleep 20
зачем?
>umount /dev/ad1s1a
>umount /dev/ad1s1d
>umount /dev/ad1s1e
>>А по моему быстрее так:
>
>а подумать?
>rm, dump, restore, дальше нужно объяснять?
>
Нужно! В чем подвох?>черным по белому было написано ЕСЛИ ДИСКИ ОДИНАКОВЫЕ - dd сырой_диск1 сырой_диск2,
>fsck на разделы - все.Сегодня одинаковые, а завтра нет! Надо делать универсально.
Примерно так: 1.берем новый диск, 2.копируем на него образ старого
с помощью ghost, 3.dump, restore.
>
>в скриптах лучше указывать полный путь к утилитам, иначе могут быть проблемы:
>PATH, ALIAS
Согласен, пример не 100% корректный, но рабочий.
>
>>#!/bin/sh
>>
>
>если мы допускаем что ВСЕГО три FS: /,/usr,/var
>что изменится если я сделаю:
>
>rm -rf /mnt/root
>mount /dev/ad1s1a /mnt
>mount /dev/ad1s1d /mnt/var
>mount /dev/ad1s1e /mnt/usr
Тоже вариант. Кому как удобно, но зачем всегда копировать / (root) и /var.
Вот поэтому я и разнес.
>
>>mount /dev/ad1s1a /mnt/root
>>mount /dev/ad1s1d /mnt/var
>>mount /dev/ad1s1e /mnt/usr
>>rm -r /mnt/root/*
>>echo n | rm -r /mnt/var/*
>
>ну и зачем это еще? зачем вовсе rm?Потому что restor_у по х** что у тебя там лежит, он все поверх кладет
нужна тебе старая помойка?
>
>>rm -r /mnt/usr/*
>
>>cd /mnt/root; dump -L -f- / | restore -rf-
>
>cd /mnt; dump -L -f- / | restore -rf-
>
>>cd /mnt/var; dump -L -f- /var | restore -rf-
>>cd /mnt/usr; dump -L -f- /usr | restore -rf-
>>cd /
>
>лучше уж cd /tmp - всегда будет надежнейКакая хрен разница, если дальше файловых операций нет?
>
>>sleep 20
>
>зачем?Или sync, как меня ранее поправили требуется чтобы все буфера были
сброшены на диск перед umount.
>
>>umount /dev/ad1s1a
>>umount /dev/ad1s1d
>>umount /dev/ad1s1e
Глупо делать rm ....
Делать так что то типаumount /dev/ad2s1a
newfs -O2 -U /dev/ad2s1a
mount /dev/ad2s1a /mnt/root
cd /mnt/root
dump -0u -f - / | restore -r -f -
umount /mnt/rootт.е вместо rm -r /mnt/root делаем newfs -O2 -U /dev/ad2s1a
Согласен что лучше вместо dd использовать dump
>>>А по моему быстрее так:
>>
>>а подумать?
>>rm, dump, restore, дальше нужно объяснять?
>>
>Нужно! В чем подвох?бог мой, ДВА ОДИНАКОВЫХ ДИСКА, кроме зеркалирования (raid)
нет НИЧЕГО быстрее чем копирование через dd СЫРОГО ДИСКА, сколько еще
раз написать?Вариант с dump/restore - универсальный и ВЕРНЫЙ для любых дисков
source -[backup]-> target и ничего против этого не было сказано,
а предложен БЫСТРЫЙ способ для одинаковых дисков, внимательней нужно
быть.Думаю что нет понятно сколько будет затрачено времено (ДЛЯ СЛУЧАЯ ОДИНАКОВЫХ ДИСКОВ) на операции dump/restore
>>черным по белому было написано ЕСЛИ ДИСКИ ОДИНАКОВЫЕ - dd сырой_диск1 сырой_диск2,
>>fsck на разделы - все.
>
>Сегодня одинаковые, а завтра нет! Надо делать универсально.вопрос был про ОДИНАКОВЫЕ
>Примерно так: 1.берем новый диск, 2.копируем на него образ старого
>с помощью ghost, 3.dump, restore.дичь, хочется проблем - пользуйте ghost или другие поделки
>>в скриптах лучше указывать полный путь к утилитам, иначе могут быть проблемы:
>>PATH, ALIAS
>Согласен, пример не 100% корректный, но рабочий.
>>
>>>#!/bin/sh
>>>
>>
>>если мы допускаем что ВСЕГО три FS: /,/usr,/var
>>что изменится если я сделаю:
>>
>>rm -rf /mnt/root
>>mount /dev/ad1s1a /mnt
>>mount /dev/ad1s1d /mnt/var
>>mount /dev/ad1s1e /mnt/usr
>Тоже вариант. Кому как удобно, но зачем всегда копировать / (root) и
>/var.класс, вы видимо систему никогда не патчите и настройки не меняете,
и логи вам ни к чему...>Вот поэтому я и разнес.
>>
>>>mount /dev/ad1s1a /mnt/root
>>>mount /dev/ad1s1d /mnt/var
>>>mount /dev/ad1s1e /mnt/usr
>>>rm -r /mnt/root/*
>>>echo n | rm -r /mnt/var/*
>>
>>ну и зачем это еще? зачем вовсе rm?
>
>Потому что restor_у по х** что у тебя там лежит, он все
>поверх кладет
>нужна тебе старая помойка?намана... подумать - во-первых и во-вторых почитай медленно и внимательно dump/restore и опции
>>>rm -r /mnt/usr/*
>>
>>>cd /mnt/root; dump -L -f- / | restore -rf-
>>
>>cd /mnt; dump -L -f- / | restore -rf-
>>
>>>cd /mnt/var; dump -L -f- /var | restore -rf-
>>>cd /mnt/usr; dump -L -f- /usr | restore -rf-
>>>cd /
>>
>>лучше уж cd /tmp - всегда будет надежней
>
>Какая хрен разница, если дальше файловых операций нет?
>>
>>>sleep 20
>>
>>зачем?
>
>Или sync, как меня ранее поправили требуется чтобы все буфера были
>сброшены на диск перед umount.не или sync, а именно sync если использовать скрипт, вручную скорее
всего буфера уже давно будут сброшены.>>>umount /dev/ad1s1a
>>>umount /dev/ad1s1d
>>>umount /dev/ad1s1e
Попробовал сделать копию как описал
Lavr что-то не вышло
мои разделы
/
/var
/usr
/tmpПри загрузке не
может смонтировать /usr и /tmp
ругается на superblock, альтернативный не находит
Что не так сделал?
диски одинаковые
Сделай как написал я и будет тебе счастье ...
Чуток поправить там надо .... ну думаю ты не тупо всё делаешь и понимаешь что каждая комманда делает ....И будет у тебя простая и эффективная ситема резервного копирования ...
>Попробовал сделать копию как описал
>Lavr что-то не вышло
>мои разделы
>/
>/var
>/usr
>/tmp
>
>При загрузке не
>может смонтировать /usr и /tmp
>ругается на superblock, альтернативный не находит
>Что не так сделал?
>диски одинаковыевывод dmesg по дискам
с первого диска:
# cat /etc/fstab
# ls -la /dev/adX* (для диска c которого будем копировать)
# ls -la /dev/adY* (для диска на который будем копировать)boot0cfg -v adX
>>Попробовал сделать копию как описал
>>Lavr что-то не вышло
>>мои разделы
>>/
>>/var
>>/usr
>>/tmp
>>
>>При загрузке не
>>может смонтировать /usr и /tmp
>>ругается на superblock, альтернативный не находит
>>Что не так сделал?
>>диски одинаковые
>
>вывод dmesg по дискам
>
>с первого диска:
>
># cat /etc/fstab
>
># ls -la /dev/adX* (для диска c которого будем копировать)
># ls -la /dev/adY* (для диска на который будем копировать)
>
>boot0cfg -v adX
Все ребята отбой, сам разобрался ( обычная глупость )
а почему не cpio?
>Все ребята отбой, сам разобрался ( обычная глупость )так получилось или нет?
быстро и просто когда настроишь?
Всем спасибо за помощь - сам я сделал систему как и было написано в первом
коментарии .
>
>бог мой, ДВА ОДИНАКОВЫХ ДИСКА, кроме зеркалирования (raid)
>нет НИЧЕГО быстрее чем копирование через dd СЫРОГО ДИСКА, сколько еще
>раз написать?в дополнение к этой теме
может я ошибаюсь насчет скорости , но есть такая штука sdd она аналог dd только шустрее .