РЕДАКТИРОВАТЬ
Отлично, теперь, спустя ровно месяц, процесс завершен, и у меня есть кластер из 4 осколков!Выполнение трюка, который я описал ниже, помогло сократить время, которое это могло бы занять в любом случае, но, честно говоря, самая медленная вещь, которую я когда-либо делал.
Хорошо, поэтому отвечаю на мой вопрос здесь,
Я не мог заставить работать автоматическую балансировку так быстро, как хотел, каждый день я наблюдал, что от 5 до 7 кусков были бы перенесены (то есть весь процесс занял бы годы!)
Что я сделал, чтобы вроде преодолеть эту проблему, так это вручную использовал команду moveChunk .
В общем, я сделал следующее:
while 'can still sample':
// Sample the 8th shard for 100 documents
db.col.aggreagte([{$sample: {size: 100}}])
For every document:
db.moveChunk(namespace, {shardKey: value}, `rs${NUM}`);
Таким образом, я вручную перемещаю куски из 8-го шарда в первые 4 шарда (один минус, так как нам нужен балансировщик, и только один шард может сливаться в каждый момент , некоторые из этих перенесенных фрагментов будут снова автоматически перенесены в осколки 5-7, которые я позже тоже хочу удалить, это приводит к тому, что процесс занимает больше времени, какие-либо решения?).
Поскольку восьмой осколок истощает , он не будет снова заполнен балансировщиком, и теперь весь процесс намного быстрее, около 350-400 кусков в день .Так что, надеюсь, каждый осколок займет максимум 5 дней, а затем весь размер займет около 20 дней!
Это самый быстрый способ, который я мог бы сделать, я ценю любого, у кого есть какие-либо другие ответы или стратегии, чтобы выполнить это сокращение лучше.