Сценарий:
1 NAS в нашем главном офисе (Synology Cubestation CS407)
20 удаленных серверов в различных физических розничных магазинах (по 1 серверу на магазин)
Сеть между штаб-квартирой и магазинами находится в MPLS / VPN.
Я создал беспарольный доступ с каждого сервера магазина к нашему NAS.
Я создал сценарий bash, который выполняет резервное копирование определенного набора папок размером от 2,5 до 14 гигабайт данных в зависимости от магазина.
Сценарий bash запускается на отдельных серверах хранилища и использует Rsync для копирования папок на NAS.
rsync -azv --delete-after --stats /u/archive/ root@nas01:/volume1/bak/$HOSTNAME/u/archive$(date +%u)/
Вопрос:
Могу ли я безопасно выполнять этот сценарий одновременно на нескольких серверах каждую ночь, например, в 2 часа ночи. Может ли Rsync на NAS обрабатывать входящие данные / соединения с нескольких серверов одновременно?
Обновить:
Итак, я запустил сценарий резервного копирования вчера вечером в 2 часа ночи, запустив его только в самом старом / самом большом хранилище (store1), в котором имеется около 9,5 ГБ данных, для которых создается резервная копия. Этот свежий / полный Rsync занял 1 час 6 минут.
Магазин, в котором я провел тестовые прогоны вчера (store8), также был скопирован одновременно в store1. Store8 имеет 2,4 ГБ данных и занял 29 минут.
Мои тесты с store8 вчера, свежий / полный Rsync, заняли 9 минут. И 3 минуты для немедленного последовательного Rsync, что означает почти полное отсутствие изменений файлов.
И, как уже было предложено, я планирую чередовать / планировать Rsync, чтобы выровнять нагрузку.
Дополнительная информация:
Что зарезервировано:
3 каталога, сценарий bash запускает 3 команды Rsync
- Dir 1: заархивированные данные / данные о продажах, без обновления данных, 1 папка с ~ 30 файлами, добавляемыми в день.
- Dir 2: каталог основных данных, настройки POS-системы, текущие данные о продажах.
- Dir 3: каталог базы данных PostgreSql. Запланируйте также запустить pg_dump непосредственно перед Rsync.
Как данные разделяются:
- Dir 1: это увеличивающийся каталог, в пределах от 8,3 ГБ (store1, 15 лет) до 70M (store17, 3 месяца).
- Dir 2: от 0,5G до 1G, в среднем 90K файлов и 4000 директорий
- Dir 3: от 0,1 до 0,4 ГБ, файлы базы данных, в среднем 450 файлов и 13 каталогов
Полоса пропускания:
HQ: оптоволокно 100/100 Мбит.
Магазин: ADSL, в зависимости от используемого медного кабеля, от 1 до 2 Мбит загрузки.
NAS:
Synology Cubestation CS407 (DSM 3.1)
4x STM3250310AS, Maxtor DiamondMax 21
- SATA 3,0 Гбит / с
- Емкость 250 ГБ
- 7200 об / мин
- 8 МБ кэш-памяти
- Средняя задержка 4,16 мс
Настроен в RAID 5
Общая емкость 684 ГБ
Используется 130 ГБ (19%)
После выполнения процедуры я, скорее всего, заменю устаревший NAS и диски.
Вы можете запустить этот сценарий, но это зависит от того, что вы ищете в безопасности.
-azv
означает архивировать, сжимать, подробный
--delete-after
означает, что вы удаляете все, что получает rsync с исходного сервера после того, как достигает конечного сервера.
20 серверов на 1 сервер ... это выполнимо.
Предположим следующее:
Ограничивающим фактором будет пропускная способность вашей сети.
При этом не учитывается, может ли ваш NAS обрабатывать производительность, необходимую для нескольких потоков одновременно, и есть ли у вас какие-либо другие процессы. По моему опыту, я видел 10 ГБ rsync, которые занимали вечность, потому что существуют сотни тысяч файлов; чем больше у вас файлов, тем больше времени потребуется. Чем больше одновременных процессов rsync вы запускаете одновременно, тем более распределяется ваша обработка, что может задержать выполнение rsync; Если то, что ваше резервное копирование, зависит от времени, вы должны быть осторожны с тем, как быстро вы завершите процесс rsync.
Наконец, вы, вероятно, захотите изменить свой график rsync или инвестировать в лучшее NAS / SAN, если вам нужна более высокая производительность.
Примечание: если выделенная вами пропускная способность позволяет принимать входящие потоки 20 Мбит, то вы удвоите время rsync, но все равно получите огромное снижение производительности на вашем NAS.
Да, потому что вы размещаете файлы на NAS по разным путям, это безопасно. Да, rsync поддерживает несколько подключений. так что все будет хорошо.
Добавление к другим ответам (все они имеют действительные точки - пропускная способность здесь тоже важна!). Быстрый поиск в Интернете показал, что упомянутый вами NAS, похоже, оснащен процессором Marvell 5281 с тактовой частотой 500 МГц и 128 МБ оперативной памяти.
Хотя технически rsync может обрабатывать несколько подключений, я бы посоветовал вам не пытаться запускать все задания одновременно, а вместо этого оставлять промежуток между заданиями, достаточный для завершения каждого задания до начала следующего, поэтому что в идеале никакие задания не выполняются одновременно. Это оборудование не выглядит достаточно мощным, чтобы поддерживать 20 одновременных подключений.
Конечно, вам нужно будет рассчитать это смещение на основе доступной пропускной способности в этом месте и общей производительности записи вашего NAS.