I have a master server M1
and three volume servers V1
,V2
,V3
in my cluster. And I want to add three more volume servers. V1
,V2
,V3
already have 30 volumes and newly added V4
,V5
,V6
have no volumes.
Now I want new files to be stored in V4
,V5
,V6
, but after some time I see no new volumes appears under V4
,V5
,V6
. Of course, volume.balance
should solve balance it, but the url to files will change. The url are like V1address:V1port/somefid
and may become V5address:V5port/somefid
after balance.
If I pre-allocate volumes, the pre-allocated ones are randomly allocated at all volume server. How to pre-allocated volumes only on V4
,V5
,V6
?
The volumes are expected to move around. Use the volume id to lookup the location, and then resolve to the volume server address.
To explicitly create volumes on specific servers, see https://github.com/chrislusf/seaweedfs/wiki/Optimization#increase-concurrent-writes
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