Win2K8 R2 Запланированная задача Отказоустойчивость
У меня есть два идентичных сервера под управлением Windows 2008 R2. Я использую репликацию DFS для синхронизации нескольких общих ресурсов между двумя серверами. Каждый сервер является контроллером домена, и каждый сервер может функционировать в случае, если другой станет недоступен, включая DHCP, DNS и ряд других вещей, на которые мы полагаемся.
У нас также есть удаленная рабочая станция, которая создает серию выходных файлов и размещает их на общем ресурсе, используя пространство имен DFS. Это в основном для целей резервного копирования и отчетности.
У меня есть пакетное задание, которое я могу запланировать на выполнение каждой ночи, которое проверяет эти файлы, выполняет с ними ряд действий, а затем удаляет файлы резервных копий старше 30 дней (если они не были обработаны) в качестве одной из заключительных задач. Это один сценарий.
Я хотел бы, чтобы эта задача запускалась только один раз на одном из серверов, а затем запускалась на другом сервере, если "предпочтительный" сервер недоступен. Возможна ли эта возможность? Могут ли два или более серверов WIN2K8 справиться с этой ситуацией?
Я мог запускать задание на обоих серверах каждую ночь, поскольку это безопасно для повторного входа, но если бы я это сделал, я бы, вероятно, вызвал головные боли при репликации DFS; рассматриваемая доля находится в полной конфигурации сетки.
Если не возможно какие-нибудь хитрые уловки, чтобы сделать эту работу или есть какие-либо сторонние инструменты.
Одна из идей заключается в том, чтобы просто запустить задание с рабочей станции, на которой файлы данных создаются и копируются на серверы. Единственная проблема в этом состоит в том, что это рабочая станция пользователя, и иногда они забывают и выключают машину ночью, мешая обработке ежедневных отчетов.
1 ответ
Да.
Создайте задание для ссылки на соответствующее пространство имен DFS, а не на конкретный сервер. Он будет удален независимо от того, какой сервер является активным целевым объектом DFS с машины, на которой он запущен (если вы запускаете его на одном из серверов, очевидно, что сервер должен быть нацелен на себя), и удаление будет реплицироваться на другой через DFS.
Так что вместо удаления скажем C:\somefolder\somefile.foo
вы бы удалили \\dfsnamespaceforsomefolder\somefile.foo
Конечно, если вы запустите это на одном из серверов DFS, и он станет недоступен, задача, вероятно, не сможет успешно стартовать на другом сервере DFS из-за того, что компьютер, на котором выполняется задача, недоступен. Хакерский обходной путь к этому состоит в том, чтобы ваш скрипт на одном из серверов проверял, доступен ли другой сервер перед выполнением, и настраивал эту задачу на выполнение после первого. Если другой сервер доступен, break
, если недоступен, запустите скрипт.