1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Резервное копирование по сети на стриммер

Тема в разделе "Софт", создана пользователем firefly, 24.08.06.

  1. firefly

    firefly Активный участник

    1.956
    0
    Такой вот ребус: Есть сервер под BSD 6.1. На нем висит стриммер Sun'овский (HP по паспорту). Делаем:

    /usr/bin/tar -cvpf /dev/sa0 --directory / --exclude=var/spool/ etc usr/home root usr/local var/spool var/cron/tabs

    и нужные каталоги на ленте. Все рОвно, все хорошо, все сбэкаплено. А теперь преобразим задачу:

    Есть сервер А и сервер В. Стриммер висит на сервере В, который является backup-сервером. На него никто не может ходить по сети, может ходить только он (политика безопасности). На сервере А либо BSD либо Linux (на самом деле это несколько серверов). На В пока BSD, но можно поставить что угодно (только не Win).
    Задача в том, чтобы сервер В пошел на сервер А и слил нужные разделы-папки сразу на ленту минуя кеширования на своем диске. Еще раз акцентирую внимание на слово сразу. Желательно использовать, конечно, SSH доступ бэкапсервера к остальным. Видимо по открытому ключу.

    Вопрос собственно в следующем: как это более правильно и красиво реализовать?
     
  2. firefly

    firefly Активный участник

    1.956
    0
    Мысли крутятся только в направлении NFS. Но возникает вопрос секурности. Как вы думаете, насколько безопастно у около 10 боевых серверов открывать NIS в RO только для одного сервера (правда находящегося за NAT и недоступного "с улицы")?
     
  3. Zuka58

    Zuka58 Активный участник

    2.299
    7
    М.б. на HOST_B пускать что-то типа:
    ssh HOST_A "tar cvpf - --directory / --exclude=var/spool/ etc usr/home root usr/local var/spool var/cron/tabs" > /dev/sa0
    Ну и ключи сгенерить c пустой пассфразой и на HOST_A заранее положить.

    Или dump посмотри. Его ключик -f.
     
  4. firefly

    firefly Активный участник

    1.956
    0
    У меня кстати не получилось с открытыми ключами. Т.е. я все сгенерил, как описано на просторах инета, положил куда надо, но когда В идет на А, ему отвечают, что авторизация не прошла. Есть гденибудь нормальное описание как делать? я делал по опеннету, но видимо что-то не срослось. просто по паролю ходится, а по ключу нет. Есть гденибудь пошаговое руководство для "одаренных"?
     
  5. Zuka58

    Zuka58 Активный участник

    2.299
    7
    firefly, Да там, вроде, ничего хитрого.
    Генеришь ключи там, откуда ходишь (на HOST_B, user_1)
    Там, куда ходишь (HOST_A) добавляешь (юзеру user_2) пуб.ключи >> ~/.ssh/authorized_keys. И все.

    Если имена user_1 и user_2 разные, тогда указываешь юзера явно:
    ssh -l user_2 HOST_A ...
     
  6. firefly

    firefly Активный участник

    1.956
    0
    Получилось. Только неподумал я о другом. Вот зашел я из HOST_B на HOST_A под юзером USER_1. И естесственно USER_1 не имеет прав читать ВСЕ. Ибо бэкапить надо все. Куда пнуть? Не рутом же заходить ))) Видится вариант паковать на HOST_A все в один архив, а потом под USER_1 его вытягивать, но не на всех серверах есть место, чтобы хранить локальные копии.
     
  7. Zuka58

    Zuka58 Активный участник

    2.299
    7
    М.б.
    ssh -l user_2 HOST_A "sudo /usr/bin/tar -cvpf /dev/sa0 --directory ...

    А на НОСТ_А в sudoers (через visudo, естественно):
    Host_Alias HERE=HOST_A, localhost
    User_Alias BACKUP_ADMIN=user_2
    Cmnd_Alias FULL_BACKUP=/usr/bin/tar -cvpf /dev/sa0 --directory ...
    BACKUP_ADMIN HERE=NOPASSWD: FULL_BACKUP