У меня есть Linux-сервер, который используется как сервер web / file / svn / sql. К нему обращаются 100 машин для хранения файлов своего кода на этом сервере (svn / code / mysql).
Операционная система находится на жестком диске емкостью 80 ГБ. Данные находятся на другом жестком диске 500 ГБ. Как лучше всего сделать HA-сервер?
1: Могу ли я использовать rsync для зеркалирования на реплицированный сервер той же конфигурации, или я должен добавить другой жесткий диск и настроить rsync для репликации данных. Это базовый сервер, поэтому у меня нет аппаратного RAID 1 (для зеркалирования).
2: Также, если я настрою u rsync на запуск каждые 1 час, увеличится ли нагрузка на сервер, чтобы найти файлы, которые были изменены за последний час, а затем скопировать на сервер резервного копирования?
Я бы не стал использовать rsync для этого, потому что да, это увеличит нагрузку на сервер. Особенно, если у вас много действительно больших репозиториев svn. Rsync должен пройти через всю файловую систему, и с тем, как svn используется для веток ... Вы говорите МНОГО файлов. Я бы установил что-то вроде DRBD для репликации на другой узел.
При этом rsync может работать на вас, и нагрузка может не иметь значительного заметного влияния на удобство использования.
Вы можете использовать DRBD для репликации данных на другой компьютер. Если вам нужна только резервная копия, этого достаточно.
Если вам нужен высоконадежный сервис, вы можете построить Linux HA-кластер (heartbeat, Pacemaker, DRBD).
В обоих случаях я настоятельно рекомендую DRBD User's Gude.
Вы должны различать, чего хотите достичь. Вы могли бы использовать некоторую технологию репликации для копирования данных на другой сервер, чтобы гарантировать, что данные все еще будут доступны, когда первый сервер полностью выйдет из строя. Однако вы должны ввести RAID для защиты от сбоя диска. Вы можете создать программный рейд с помощью mdadm
без проблем для увеличения доступности, но вы должны знать, что это не защищает вас от сбоя сервера.
Я бы посоветовал сделать оба: настроить программный RAID1 и протестировать rsync
подход по расписанию. Будет некоторое влияние на производительность (с точки зрения ввода-вывода и процессора), но вы можете ограничить это, прочитав справочную страницу и отключив функции, которые могут потребовать чрезмерного использования процессора, например сжатие.
Однако, если вы хотите иметь "живую" репликацию на удаленный сервер, обратите внимание на drbd