Как я могу сделать резервную копию моей системы на удаленном сервере (AFP, Samba или NFS)?

11

Вот цель: у меня есть резервный сервер с файловой системой ZFS со встроенным сжатием и снимками. Все наши машины rsyncвыполняют резервное копирование по ночам , а затем делается снимок ZFS, поэтому у нас есть резервные копии того, как каждый компьютер выглядел в конце каждого дня.

Проблема заключается в том, что в Mac OS X вилки ресурсов не копируются, поскольку удаленный компьютер не поддерживает вилки ресурсов. То, что я хотел бы сделать, rsyncэто файл .DMG, который находится на сервере резервного копирования. Таким образом, у меня был бы точный загрузочный образ того, как моя система выглядела каждую ночь.

В качестве бонуса, сервер резервного копирования также является сервером NetBoot, так что это фактически позволило бы мне загрузиться с того, каким был мой mac в любой момент истории.

Я создал образ диска моего Mac и скопировал его на сервер резервного копирования. Теперь, когда я открываю его на своем Mac и запускаю rsync, он работает в течение определенного периода (иногда больше часа, иногда меньше), а затем выдает мне массу ошибок ввода-вывода. Образ хранится в массиве RAID, я уверен, что ошибок ввода-вывода нет.

Я думаю, что связь с общим ресурсом Samba может быть перегружена ... Я пробовал и с AFP, и я получаю тот же результат ... Что может быть причиной этого и как я могу решить это? Или какие-либо другие идеи о том, как я могу обновить удаленный файл DMG?

мистифицировать
источник
3
Вместо того, чтобы заново изобретать TimeMachine с использованием инструментов с открытым исходным кодом / Unixy (которые я обожаю и люблю) - вы рассматривали возможность запуска бесплатного программного обеспечения CrashPlan на обеих машинах? Они раздают программное обеспечение, которое очень продвинуто и хорошо поддерживается, если вам нужна помощь от них.
bmike
Хммм, я должен разобраться в этом! Причина, по которой я «переинвестирую» TimeMachine, к вашему сведению, заключается в том, что TimeMachine требует большой USB-накопитель для каждой машины, и в нашей настройке у нас его нет, скорее, у нас есть массивный резервный RAID-массив на месте.
Джош
Я полностью понимаю ваши причины. ZFS великолепен, и повторное использование существующей инфраструктуры имеет такой смысл. Для нескольких клиентов с 10 до 30 компьютеров Mac - сервер Mac mini, использующий один диск для всех клиентов Mac для Time Machine. Этот сервер имеет план сбоя на главном сервере для ротации лент / вне площадки (а разреженные пакеты инкапсулируют HFS и метаданные). DeployStudio обрабатывает загрузочные образы и восстанавливает сеть. Удачи и дайте нам знать, как оно идет.
bmike
Еще +1 к предложению @ bmike's CrashPlan. Использует Hadoop под капотом и может делать инкрементальные операции, такие как TimeMachine. Свободно загружать резервные копии на другой диск или компьютер. Пользовательский интерфейс не так хорош, как TimeMachine.
Ян С.
+1 к крашплану. Это отличное бесплатное программное обеспечение, обладающее дополнительным преимуществом, позволяющим легко добавлять дополнительные точки резервного копирования, включая собственные серверы за отдельную плату.
Cregox

Ответы:

5

Настройте новый том на своем устройстве Nexenta / OS для резервного копирования и настройте его для общего доступа в качестве iSCSI LUN. Затем используйте один из нескольких инициаторов iSCSI для MacOS X, чтобы прикрепить резервный том на своей спине. На вашем Mac отформатируйте том как HFS +. Теперь вы можете использовать CCC или rsync и т. Д. Для создания резервных копий.

tegbains
источник
2
Это фантастическая идея. Я попробую это после того, как я закончу работу в течение дня!
Джош
1
+1 - я думал о том, как использовать iSCSI, чтобы получить вас и инкапсулировать данные, специфичные для Mac. Чем меньше шагов, тем лучше.
bmike
Ба! Так же , как я печатал , что это работает прекрасно, связь была потеряна. Но у меня все еще есть надежда на это решение ...
Джош
@Josh: Знаете ли вы, почему потерялась связь (физическое отключение и т. Д.). Также есть ли у вас отдельный сетевой адаптер для вашего соединения iSCSI?
Tegbains
Я не знаю, что вызывает потерю соединения, но так как это происходит со всеми протоколами сейчас, AFP, CIFS, NFS и iSCSI, это проблема с сервером. Я думаю, что передача данных просто перегружает виртуальную машину, и она перестает отвечать на запросы ... но я задам другой вопрос, возможно, об обмене стеками Unix и Linux.
Джош
3

Вы рассматривали возможность использования Carbon Copy Cloner ? Я использую это для ручного побитового резервного копирования моего SSD на сетевой диск раз в месяц или около того, и оно работает безупречно. Я знаю, что он создает инкрементные резервные копии, и у меня не было проблем с сбросом диска через гигабитный Ethernet.

alampros
источник
К сожалению, когда я использую CCC для инкрементного резервного копирования, он просто запускается, rsyncи я получаю тот же результат :-(
Джош
Когда вы записываете диск на сетевой диск, на каком хосте находится сетевой диск? OS X? Linux? Как вы подключаетесь? Samba? AFP? Используете ли вы CCC непосредственно для сетевого диска, или вы идете в DMG на сетевом диске?
Джош
@Josh: Вы можете установить CCC для смонтированного образа диска
tegbains
Это то, что я делал - и CCC работал, rsyncи я получал те же ошибки ввода-вывода :-(
Джош
2

Не точный ответ на ваш вопрос, но вы также можете использовать rsync. Вот действительно хорошие статьи о:

ps: вы используете солярис или freebsd?

Итак, что я попробовал сейчас:

У меня есть удаленная ОС (не Mac), и я подключил ее через fuse / sshfs (через медленный ADSL).

sshfs user@example.com:/path/to/dir /Users/me/Mount/myfs -oauto_cache,reconnect,volname=MyFs

На моем MacBook введено это:

/usr/bin/rsync -avE /Users/me/tmp/bk /Users/me/Mount/myfs/tmp/test

(/ tmp / test уже существует на удаленном компьютере)

и получил это:

building file list ... done
bk/
._bk
bk/.DS_Store
bk/._.DS_Store
bk/Icon\#015
bk/._Icon\#015
bk/test.rtfd/
bk/test.rtfd/.LSOverride
bk/test.rtfd/TXT.rtf

sent 311127 bytes  received 186 bytes  15186.00 bytes/sec
total size is 6874  speedup is 0.02

Как видите, ветки ресурсов преобразуются в файлы dot_underscore и копируются в удаленное местоположение. (например, пользовательский значок для каталога bk тоже).

Поэтому я не понимаю, почему вы не можете Rsync в удаленных ZFS?

jm666
источник
1
Независимо от того, что я пробовал, я не могу заставить rsync скопировать ветки ресурсов, я думаю, потому что система ZFS не поддерживает их ... Я не уверен. Сначала я попробовал с сервером Debian kBSD, но переключился на Nexenta (ядро OpenSolaris + ядро ​​Debian), потому что он поддерживает NFS и Netatalk.
Джош
А 3-я ссылка? (которые показывают независимое решение OS / FS)
jm666
1
Я действительно заинтересован в этом. Вот еще одна ссылка для zfs + timemachine. blogs.oracle.com/constantin/entry/zfs_and_mac_os_x
jm666
Ах, я вижу, вы монтируете каталог и работаете rsyncлокально! Я пытался rsync с Mac на сервер! Я попробую это и вернусь к вам.
Джош
0

Я не знаю почему , но соединение с сервером было прервано во время копирования файла, и я предполагаю, что это произошло потому, что большой объем данных, передаваемых с такой высокой скоростью, был больше, чем сервер резервного копирования мог обработать; в течение короткого периода он перестает отвечать на запросы, и Mac принудительно отключает DMG, и резервное копирование не выполняется.

Я нашел решение: перед резервным копированием в Системных настройках я снизил скорость сетевого адаптера Ethernet с 1000 Мбит / с до 100 Мбит / с. Затем казалось, что резервное копирование работает безупречно, поскольку скорость передачи данных была ограничена, а сервер резервного копирования не перегружен.

мистифицировать
источник