Равномерное распределение почтовых ящиков между серверами/базами, порекомендуйте алгоритм?

Здравствуйте,

подскажите пожалуйста алгоритм решения задачи по переносу ящиков между Exchange серверами.

Задача: есть Exchange сервера, которые выводятся из эксплуатации. На них достаточно большой объем данных (почтовых ящиков разного размера). Их нужно распределить по другим серверам с учетом:
Объем данных на всех серверах должен быть примерно одинаковым. Т.е. сервера A,B, C...Z должны иметь примерно одинаковое количество ящиков в базе и размер баз.
Например, каждый сервер должен иметь не более 200 ящиков/базе и суммарный размер базы не более 300 Gb. Желательно, чтобы распределение было бы равномерным, дельта по размеру 100 Mb. Не должно возникнуть ситуации, когда все маленькие ящики оказались в одной базе, а другую попал всего один, но "тяжелый".
В настоящий момент разные сервера имеют разную нагрузку, т.е. количество ящиков/базе разнится от севера к серверу.
Что пробовал: найти "средний вес" ящика и создать два массива. Один со значениями от среднего вниз, другой - от среднего вверх. Далее, выбирая по одному элементу из каждого массива заполнять базы, но получается неэффективно.
Мне кажется, что должен быть другой алгоритм распределения, более подходящий для подобных задач.

Реализация алгоритма будет в PowerShell.

Спасибо!
  • Вопрос задан
  • 291 просмотр
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы