Я планирую настроить два сервера 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 или другую подобную программу.
Фактически мы выполняем резервное копирование более 4 миллионов файлов с нашего главного файлового сервера Ubuntu на подчиненный файловый сервер Ubuntu (в том же месте) через rdiff-backup один раз в час.
Затем мы выполняем резервное копирование каждые 6 часов через rsync (или Jungledisk) в облако Amazon S3.
Таким образом, мы можем справиться с «простыми вещами», используя только мастер / резервную копию, но если случится что-то катастрофическое, у нас все равно будет резервная копия Amazon S3 в облаке.
Надеюсь, это даст вам некоторые идеи ...
Взгляните на проект с открытым исходным кодом BackupPC. Я использую его для резервного копирования серверов для малого бизнеса; некоторые преимущества:
мне действительно нравится Glusterfs и какое-то время использовали его, чтобы делать то же самое, что и вы.
Около Glusterfs:
GlusterFS - это кластерная файловая система, способная масштабироваться до нескольких пета-байтов. Он объединяет различные блоки хранения через соединение Infiniband RDMA или TCP / IP в одну большую параллельную сетевую файловую систему. Блоки хранения могут быть изготовлены из любого стандартного оборудования, такого как сервер x86-64 с SATA-II RAID и Infiniband HBA).
это руководство описывает, как наладить работу с репликацией на стороне сервера. Обратите внимание, что «сервер» также может быть клиентом ...
// rkthkr
Если у вас хорошая связь и пропускная способность между узлами, вы можете рассмотреть возможность использования DRBD и сердцебиение чтобы заблокировать зеркальное отображение ваших данных.
Есть много разных решений. Все они имеют преимущества, но, к сожалению, все они имеют недостатки. Это зависит от того, чем вы хотите заниматься. Самый простой - это одностороннее зеркало для резервных копий или файловый сервер с горячей заменой. Также легко создать общее хранилище данных, позволяющее балансировать нагрузку между вашими файловыми серверами, но при этом у вас все равно будет единое хранилище данных. Гораздо сложнее двусторонняя синхронизация и репликация данных. Затем возникают проблемы с тем, что происходит, когда один узел не видит другой узел. Что произойдет, если они рассинхронизируются?
От простого к сложному