Блог об openSUSE » Backup http://sapfeer.ru Блог по созданию и настройке openSUSE безопасного хамелеона Sat, 22 Sep 2012 12:43:48 +0000 ru-RU hourly 1 http://wordpress.org/?v=3.4.2 Быстрое создание копии жесткого диска в openSUSE http://sapfeer.ru/2009/10/20/438 http://sapfeer.ru/2009/10/20/438#comments Tue, 20 Oct 2009 16:32:24 +0000 Сергей http://sapfeer.ru/?p=438 Копирование винчестера К сожалению на днях, что-то случилось с системным жестким диском у меня на сервере, и он перестал определятся BIOS'ом :( Хорошо, что все данные хранились на других винчестерах. Так вот, как оказалось, он перестал определятся только у меня, я проверял на других машинах - работает, но проявляет первые признаки "сыпучести". Поэтому было решено сделать копию диска на другой винчестер.
Сделать полную копию диска можно очень легко используя команду dd:

dd if=/dev/sda of=/dev/sdb

(При этом можно указать опцию bs=CACHE_SIZE второго винчестера, это немного ускорит процесс)

однако нужно учитывать 2 вещи:

  • новый винчестер должен быть больше или равен предыдущему. Но если даже вы и берете два винчестера одинаковой емкости, например по 80 гб, но разных фирм или разных моделей, вы запросто можете попасть в трудную ситуацию, когда на целевом hard'е будет на несколько сотен/тысяч секторов больше, чем на том, на который нужно сделать копию. При этом вы можете потерять часть данных. Если у вас исходный винчестер 80 гб, советую взять на 120(остальное пространство просто останется неразмеченным, вы сможете добавить разделы туда потом в любое время). Если у вас нету такого же hard'a, то делайте не полную копию диска, а лишь важных разделов, дабы быть уверенным в сохранении всех важных данных..
  • сейчас в большинстве систем диск определяется по ID, поэтому не забудьте поменять в grub'e(lilo) путь к корневому разделу(разумеется, если диск загрузочный).
  • Но мне с первым пунктом повезло, целевой диск оказался как раз такого же размера, как и исходный, а во втором пункте нужно отредактировать два файла - /boot/grub/menu.lst и /etc/fstab. Впишите вместо /dev/disk/by-id... имя вашего диска /dev/sd*, в обоих файлах(Вместо звездочки имя диска, например - sda2). Если хотите можете потом вписать все-таки название диска по id.

    ]]>
    http://sapfeer.ru/2009/10/20/438/feed 0
    Делаем backup на on-line сервисы http://sapfeer.ru/2009/05/01/48 http://sapfeer.ru/2009/05/01/48#comments Sat, 02 May 2009 01:19:14 +0000 Сергей http://sapfeer0k.wordpress.com/2009/05/01/%d0%b4%d0%b5%d0%bb%d0%b0%d0%b5%d0%bc-backup-%d0%bd%d0%b0-on-line-%d1%81%d0%b5%d1%80%d0%b2%d0%b8%d1%81%d1%8b/ Technorati Tags: , , , ,

    Привет всем. Все наверное слышали о программе gmail drive, которая позволяет использовать почтовый ящик на гугле как виртуальный винчестер. У нее есть аналог под *nix системы, написанный на питоне - gmailfs. Так вот, для начала я и хотел использовать google для хранения своих backup'ов.
    Но протокол imap не очень быстрая штука, да еще с моей скоростью интернета, поэтому после нескольких пробных запусков я решил искать какую нибудь другую, более быструю альтернативу.
    В сети существует множество on-line сервисов для хранения на них данных, но не все они подходят для задуманной цели :) Мне нужен был сервис удовлетворяющий следующим параметрам:
    - Возможность работы с сервисом напрямую, без веб-интерфейса(ftp,ssh,rsync)
    - Фриварность
    - Поддержка русского языка
    - Шифрование хранимых на сервере данных
    - Отсутствие ограничения на объем загружаемого файла

    Кто ищет - тот всегда найдет
    Первоначально я попал на один из крупнейших ресурсов, предоставляющих данные услуги - www.box.net. Но к сожалению, у них на бесплатном аккаунте стоит ограничение - максимальный размер загружаемого файла - 25 мб. Это совершенно меня не устраивало и я продолжил поиски. Отбросив по тем или иным причинам, еще штук 10 сервисов я все таки смог найти то, что хотел. mydisk.se - шведский ресурс, предоставляющий 2 GB свободного места в бесплатном аккаунте.
    На сервисе имелся доступ по webdav, что не могло не радовать, но, к сожалению, ничего не было сказано о том, в каком виде данные хранятся на сервере, т.е. шифруются или лежат в открытом виде :(

    Зарегистрировавшись, я узнал, что сервис предоставляет так же доменное имя вида - www.Имя пользов..mydisk.se и фото страницу, это меня конечно совсем не интересовало. Зато захотелось подключить эти 2 GB как отдельный диск в мою систему. Погуглив, я нашел проект некоего немецкого/их разработчика/ов - wdfs. wdfs - это файловая система webdav, которая может быть примонтирована с помощью fuse. И я решил попробовать:

    linux-wrym:/mnt # zypper install wdfs

    У wdfs множество параметров, но я остановлюсь только на основных, которые нам понадобятся:
    accept_sslcert - принимать ssl сертификат, когда идет работа с webdav через ssl
    username - имя пользователя
    password - пароль пользователя
    allow_other - рзрешать другим пользователям доступ к смонтированной папке

    Итак, монтируем webdav как локальную папку(все действия делаем под рутом):

    linux-wrym:/ # wdfs https://mydisk.se/USERNAME/backup/ /mnt/backup -o username=USERNAME -o password=PASS -o accept_sslcert -o allow_other

    Я изначально монтировал не просто диск сервиса, расположенный по адресу https://mydisk.se/USERNAME/ , а сразу папку backup, потому что к ней закрыт доступ через WEB другим людям. Не стоит хранить ваши бэкапы там, где их могут скачать другие :)
    И как человек ленивый - сразу добавил запись в fstab, чтобы не набирать больше полностью команду:

    wdfs#https://mydisk.se/USERNAME/ /mnt/backup fuse noauto,users,accept_sslcert,allow_other0 0

    Я специально не стал вписывать username и password, потому что это потенциальная угроза безопасности, пароль спросят при монтировании, это гораздо безопаснее, чем держать их в fstab в открытом виде. Итак, подключаем диск:

    linux-wrym:/mnt # mount /home/_empty/mount/backup

    Все, диск для backup'а у вас в системе есть. Можете полазить в нем, попробовать что-нибудь туда скопировать, или создать папку :)

    duplicity
    Итак, диск есть, данные есть, так давайте сделаем backup. Но прежде определимся, чем и как мы будем это делать. Я конечно знаю насколько мощный инструмент rsync, к нему создано много gui'ев, но здесь я его использовать не рекомендую. Все дело в том, как я писал выше, что неизвестно используется на сервере шифрование или нет. Поэтому, чтобы быть уверенным в сохранности своих данных, я решил воспользоваться другой утилитой - duplicity. Если вы рьяный сторонник gnu, то можете поискать другой способ, но есть ли смысл? :)
    Вы можете загрузить rpm пакет или тарбол , конечно для пользователей SuSE в нашем любимом build-service уже есть готовые пакеты - duplicity У программы очень много возможностей, но я в кратце расскажу как ее пользуюсь ей.

    Backup'им
    Для начала предлагаю в .bashrc добавить фразу-пароль, необходимую для генерации ключа шифрования(Вы можете вводить ее каждый раз при синхронизации данных, но это не совсем удобно).

    export PASSPHRASE="your_pass_phrase"

    Пожалуйста не поленитесь почитать хотя бы help к duplicity, там очень много полезной информации. Итак, запускаем программу:

    duplicity -v 5 /home/_empty/Documents/ file:///mnt/backup

    После этого duplicity создаст gpg файлы на сервере, в которых будут храниться все файлы и произведенные в них изменения. При последующих запусках duplicity будет загружать не сами файлы, а различия(diff-файлы), все зашифровано, так что можете не беспокоится о конфиденциальности ваших данных.
    Вы всегда можете посмотреть все изменения созданные с начала backup'а:

    _empty@linux-wrym:~> duplicity collection-status file:///mnt/backup/

    Если никаких ошибок не было, то у вас будет примерно вот такой вывод(часть листинга опущена):

    Archive dir: None

    Found 0 backup chains without signatures.

    Found a complete backup chain with matching signature chain:
    -------------------------
    Chain start time: Thu Apr 30 13:58:59 2009
    Chain end time: Fri May 1 11:53:54 2009
    Number of contained backup sets: 11
    Total number of contained volumes: 34
    Type of backup set: Time: Num volumes:
    Full Thu Apr 30 13:58:59 2009 23
    Incremental Thu Apr 30 15:17:34 2009 1
    Incremental Thu Apr 30 15:42:54 2009 2
    Incremental Thu Apr 30 15:49:54 2009 1
    Incremental Thu Apr 30 16:01:23 2009 1
    Incremental Thu Apr 30 16:04:08 2009 1
    Incremental Thu Apr 30 16:35:52 2009 1
    Incremental Thu Apr 30 18:12:36 2009 1
    Incremental Fri May 1 01:40:37 2009 1
    Incremental Fri May 1 11:49:46 2009 1
    Incremental Fri May 1 11:53:54 2009 1
    -------------------------
    No orphaned or incomplete backup sets found.

    Вот так можно просмотреть текущий список файлов, которые находятся в бэкапе:

    _empty@linux-wrym:~> duplicity list-current-files file:///mnt/backup/

    Программа duplicity - мощный инструмент, и если вы научитесь им пользоваться - это сильно упростит вам жизнь. duplicity поддерживает кучу протоколов, среди которых тот же самый IMAP(см. выше). Я думаю, вы оцените преимущество хранения данных на удаленном сервере. Рекомендую делать плановый автоматический backup через cron. Главное помните - не храните все яйца в одной корзине, и сможете забыть о проблемах с данными и их backup'ом.

    ]]>
    http://sapfeer.ru/2009/05/01/48/feed 6