mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
master: add configurable volume growth toml setting
This commit is contained in:
parent
382ff218d3
commit
dc786a63ac
|
@ -369,6 +369,8 @@ type = "memory" # Choose [memory|etcd] type for storing the file id sequence
|
||||||
sequencer_etcd_urls = "http://127.0.0.1:2379"
|
sequencer_etcd_urls = "http://127.0.0.1:2379"
|
||||||
|
|
||||||
|
|
||||||
|
# configurations for tiered cloud storage
|
||||||
|
# old volumes are transparently moved to cloud for cost efficiency
|
||||||
[storage.backend]
|
[storage.backend]
|
||||||
[storage.backend.s3.default]
|
[storage.backend.s3.default]
|
||||||
enabled = false
|
enabled = false
|
||||||
|
@ -377,5 +379,12 @@ sequencer_etcd_urls = "http://127.0.0.1:2379"
|
||||||
region = "us-east-2"
|
region = "us-east-2"
|
||||||
bucket = "your_bucket_name" # an existing bucket
|
bucket = "your_bucket_name" # an existing bucket
|
||||||
|
|
||||||
|
# create this number of logical volumes if no more writable volumes
|
||||||
|
[master.volume_growth]
|
||||||
|
count_1 = 7 # create 1 x 7 = 7 actual volumes
|
||||||
|
count_2 = 6 # create 2 x 6 = 12 actual volumes
|
||||||
|
count_3 = 3 # create 3 x 3 = 9 actual volumes
|
||||||
|
count_other = 1 # create n x 1 = n actual volumes
|
||||||
|
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
|
|
|
@ -7,6 +7,7 @@ import (
|
||||||
|
|
||||||
"github.com/chrislusf/seaweedfs/weed/storage/needle"
|
"github.com/chrislusf/seaweedfs/weed/storage/needle"
|
||||||
"github.com/chrislusf/seaweedfs/weed/storage/super_block"
|
"github.com/chrislusf/seaweedfs/weed/storage/super_block"
|
||||||
|
"github.com/chrislusf/seaweedfs/weed/util"
|
||||||
|
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
|
|
||||||
|
@ -48,15 +49,20 @@ func NewDefaultVolumeGrowth() *VolumeGrowth {
|
||||||
// one replication type may need rp.GetCopyCount() actual volumes
|
// one replication type may need rp.GetCopyCount() actual volumes
|
||||||
// given copyCount, how many logical volumes to create
|
// given copyCount, how many logical volumes to create
|
||||||
func (vg *VolumeGrowth) findVolumeCount(copyCount int) (count int) {
|
func (vg *VolumeGrowth) findVolumeCount(copyCount int) (count int) {
|
||||||
|
v := util.GetViper()
|
||||||
|
v.SetDefault("master.volume_growth.copy_1", 7)
|
||||||
|
v.SetDefault("master.volume_growth.copy_2", 6)
|
||||||
|
v.SetDefault("master.volume_growth.copy_3", 3)
|
||||||
|
v.SetDefault("master.volume_growth.copy_other", 1)
|
||||||
switch copyCount {
|
switch copyCount {
|
||||||
case 1:
|
case 1:
|
||||||
count = 7
|
count = v.GetInt("master.volume_growth.copy_1")
|
||||||
case 2:
|
case 2:
|
||||||
count = 6
|
count = v.GetInt("master.volume_growth.copy_2")
|
||||||
case 3:
|
case 3:
|
||||||
count = 3
|
count = v.GetInt("master.volume_growth.copy_3")
|
||||||
default:
|
default:
|
||||||
count = 1
|
count = v.GetInt("master.volume_growth.copy_other")
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue