Назад | Перейти на главную страницу

Синхронизация файлов для Ubuntu Server

Я планирую настроить два сервера Ubuntu в качестве решений для резервного копирования, где люди могут хранить изображения и документы. Я имею в виду, что если пользователь сохраняет / обновляет файл в определенном каталоге (возможно, в общем каталоге Samba?) На одном сервере Ubuntu, он синхронизирует его с другим сервером.

Что, вы парни, думаете? Есть ли лучшее решение для этого? Заранее спасибо!

Изменить: желательно ли создать каталог с возможностью записи и установить доступ к нему в Samba? У пользователей установлены Mac OSX и Windows XP в качестве операционных систем.

rdiff-резервное копирование

Вы когда-нибудь смотрели на rdiff-backup?

Мы использовали его для синхронизации более 4 миллионов файлов с одного файлового сервера Ubuntu на другой без каких-либо проблем. Одна очень приятная особенность rdiff-backup заключается в том, что она хранит как зеркальную, так и дифференциальную копию (вы можете указать, как долго). Это удобно при резервном копировании таких вещей, как исходный код, изменяющиеся изображения и т. Д., Поскольку вы всегда можете восстановить файл до определенного момента времени.

Вот описание с их сайта:

http://rdiff-backup.nongnu.org

rdiff-backup выполняет резервное копирование одного каталога в другой, возможно, по сети. Целевой каталог является копией исходного каталога, но дополнительные обратные различия хранятся в специальном подкаталоге этого целевого каталога, поэтому вы все равно можете восстановить файлы, потерянные некоторое время назад. Идея состоит в том, чтобы объединить лучшие функции зеркала и инкрементного резервного копирования. rdiff-backup также сохраняет подкаталоги, жесткие ссылки, файлы dev, разрешения, владение uid / gid, время модификации, расширенные атрибуты, списки контроля доступа и вилки ресурсов. Кроме того, rdiff-backup может работать с эффективным использованием полосы пропускания по каналу, как rsync. Таким образом, вы можете использовать rdiff-backup и ssh для безопасного резервного копирования жесткого диска в удаленное место, и будут передаваться только различия. Наконец, rdiff-backup прост в использовании, а настройки имеют разумные значения по умолчанию.


rsync

Моим вторым выбором был бы rsync и задание cron, настроенное так часто, как вы хотите.


JungleDisk / Amazon S3

Мой третий вариант (в зависимости от ваших ТОЧНЫХ потребностей) - это резервное копирование вне офиса в облако Amazon S3 через JungleDisk или другую подобную программу.

http://www.jungledisk.com


Фактически мы выполняем резервное копирование более 4 миллионов файлов с нашего главного файлового сервера Ubuntu на подчиненный файловый сервер Ubuntu (в том же месте) через rdiff-backup один раз в час.

Затем мы выполняем резервное копирование каждые 6 часов через rsync (или Jungledisk) в облако Amazon S3.

Таким образом, мы можем справиться с «простыми вещами», используя только мастер / резервную копию, но если случится что-то катастрофическое, у нас все равно будет резервная копия Amazon S3 в облаке.

Надеюсь, это даст вам некоторые идеи ...

Взгляните на проект с открытым исходным кодом BackupPC. Я использую его для резервного копирования серверов для малого бизнеса; некоторые преимущества:

  • Хороший веб-интерфейс для удаленного управления / мониторинга и даже восстановления файлов
  • Использует пул данных для хранения, поэтому любые идентичные файлы сохраняются только один раз; экономия места на диске
  • Позволяет пулу сжиматься; экономия места на диске
  • Возможность использования нескольких различных протоколов / инструментов для копирования / резервного копирования; rsync, tar и т. д.
  • Сохраняет историю файлов, а не только самую последнюю (настраиваемую)
  • Возможность отправки автоматических отчетов по электронной почте

мне действительно нравится Glusterfs и какое-то время использовали его, чтобы делать то же самое, что и вы.

Около Glusterfs:

GlusterFS - это кластерная файловая система, способная масштабироваться до нескольких пета-байтов. Он объединяет различные блоки хранения через соединение Infiniband RDMA или TCP / IP в одну большую параллельную сетевую файловую систему. Блоки хранения могут быть изготовлены из любого стандартного оборудования, такого как сервер x86-64 с SATA-II RAID и Infiniband HBA).

это руководство описывает, как наладить работу с репликацией на стороне сервера. Обратите внимание, что «сервер» также может быть клиентом ...

// rkthkr

Если у вас хорошая связь и пропускная способность между узлами, вы можете рассмотреть возможность использования DRBD и сердцебиение чтобы заблокировать зеркальное отображение ваших данных.

Есть много разных решений. Все они имеют преимущества, но, к сожалению, все они имеют недостатки. Это зависит от того, чем вы хотите заниматься. Самый простой - это одностороннее зеркало для резервных копий или файловый сервер с горячей заменой. Также легко создать общее хранилище данных, позволяющее балансировать нагрузку между вашими файловыми серверами, но при этом у вас все равно будет единое хранилище данных. Гораздо сложнее двусторонняя синхронизация и репликация данных. Затем возникают проблемы с тем, что происходит, когда один узел не видит другой узел. Что произойдет, если они рассинхронизируются?

От простого к сложному

  • запланированный rsync
  • SAN
  • NBD и зеркалирование
  • кластерные файловые системы, такие как lustre, glustrefs, GFS, OCFS2.