Как предварительно выделить тома на определенном сервере тома для балансировки томов?
У меня есть главный сервер M1
и три тома сервера V1
,V2
,V3
в моем кластере. И я хочу добавить еще три объемных сервера.V1
,V2
,V3
уже есть 30 томов и недавно добавлены V4
,V5
,V6
нет томов.
Теперь я хочу, чтобы новые файлы хранились в V4
,V5
,V6
, но через некоторое время я не вижу новых томов в V4
,V5
,V6
. Конечно,volume.balance
должен решить его сбалансировать, но URL-адрес файлов изменится. URL похож наV1address:V1port/somefid
и может стать V5address:V5port/somefid
после баланса.
Если я заранее выделяю тома, предварительно выделенные произвольно распределяются на всех серверах томов. Как предварительно выделить тома только наV4
,V5
,V6
?
1 ответ
Ожидается, что объемы будут перемещаться. Используйте идентификатор тома для поиска местоположения, а затем разрешите его до адреса сервера тома.
Чтобы явно создать тома на определенных серверах, см. https://github.com/chrislusf/seaweedfs/wiki/Optimization
curl http://localhost:9333/vol/grow?count=12&dataCenter=dc1&rack=rack1
curl http://localhost:9333/vol/grow?count=12&dataCenter=dc1&rack=rack1&dataNode=node1