mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-11-10 22:08:48 +01:00
s3: load storage-class disk mapping from filer grpc config
This commit is contained in:
1 parent
5e4b3f0078
commit
4f1fce0882
13 files changed
+215
-176
No files matched your search
@@ -144,7 +144,6 @@ func init() {
|
||||
filerS3Options.enableIam = cmdFiler.Flag.Bool("s3.iam", true, "enable embedded IAM API on the same S3 port")
|
||||
filerS3Options.cipher = cmdFiler.Flag.Bool("s3.encryptVolumeData", false, "encrypt data on volume servers for S3 uploads")
|
||||
filerS3Options.iamReadOnly = cmdFiler.Flag.Bool("s3.iam.readOnly", true, "disable IAM write operations on this server")
|
||||
filerS3Options.storageClassDiskTypeMap = cmdFiler.Flag.String("s3.storageClassDiskTypeMap", "", "map S3 storage classes to filer disk types, e.g. STANDARD_IA=ssd,GLACIER=hdd")
|
||||
filerS3Options.portIceberg = cmdFiler.Flag.Int("s3.port.iceberg", 8181, "Iceberg REST Catalog server listen port (0 to disable)")
|
||||
|
||||
// start webdav on filer
|
||||
|
||||
@@ -241,7 +241,6 @@ func initMiniS3Flags() {
|
||||
miniS3Options.iamReadOnly = miniS3IamReadOnly
|
||||
miniS3Options.dataCenter = cmdMini.Flag.String("s3.dataCenter", "", "prefer to read and write to volumes in this data center")
|
||||
miniS3Options.cipher = cmdMini.Flag.Bool("s3.encryptVolumeData", false, "encrypt data on volume servers for S3 uploads")
|
||||
miniS3Options.storageClassDiskTypeMap = cmdMini.Flag.String("s3.storageClassDiskTypeMap", "", "map S3 storage classes to filer disk types, e.g. STANDARD_IA=ssd,GLACIER=hdd")
|
||||
miniS3Options.config = miniS3Config
|
||||
miniS3Options.iamConfig = miniIamConfig
|
||||
miniS3Options.auditLogConfig = cmdMini.Flag.String("s3.auditLogConfig", "", "path to the audit log config file")
|
||||
|
||||
+2
-6
@@ -67,7 +67,6 @@ type S3Options struct {
|
||||
debug *bool
|
||||
debugPort *int
|
||||
cipher *bool
|
||||
storageClassDiskTypeMap *string
|
||||
}
|
||||
|
||||
func init() {
|
||||
@@ -102,7 +101,6 @@ func init() {
|
||||
s3StandaloneOptions.debug = cmdS3.Flag.Bool("debug", false, "serves runtime profiling data via pprof on the port specified by -debug.port")
|
||||
s3StandaloneOptions.debugPort = cmdS3.Flag.Int("debug.port", 6060, "http port for debugging")
|
||||
s3StandaloneOptions.cipher = cmdS3.Flag.Bool("encryptVolumeData", false, "encrypt data on volume servers")
|
||||
s3StandaloneOptions.storageClassDiskTypeMap = cmdS3.Flag.String("storageClassDiskTypeMap", "", "map S3 storage classes to filer disk types, e.g. STANDARD_IA=ssd,GLACIER=hdd")
|
||||
}
|
||||
|
||||
var cmdS3 = &Command{
|
||||
@@ -231,6 +229,7 @@ func (s3opt *S3Options) startS3Server() bool {
|
||||
filerBucketsPath := "/buckets"
|
||||
filerGroup := ""
|
||||
var masterAddresses []pb.ServerAddress
|
||||
storageClassDiskTypeMap := make(map[string]string)
|
||||
|
||||
grpcDialOption := security.LoadClientTLS(util.GetViper(), "grpc.client")
|
||||
|
||||
@@ -248,6 +247,7 @@ func (s3opt *S3Options) startS3Server() bool {
|
||||
filerGroup = resp.FilerGroup
|
||||
// Get master addresses for filer discovery
|
||||
masterAddresses = pb.ServerAddresses(strings.Join(resp.Masters, ",")).ToAddresses()
|
||||
storageClassDiskTypeMap = resp.GetStorageClassDiskType()
|
||||
metricsAddress, metricsIntervalSec = resp.MetricsAddress, int(resp.MetricsIntervalSec)
|
||||
glog.V(0).Infof("S3 read filer buckets dir: %s", filerBucketsPath)
|
||||
if len(masterAddresses) > 0 {
|
||||
@@ -273,10 +273,6 @@ func (s3opt *S3Options) startS3Server() bool {
|
||||
}
|
||||
var s3ApiServer *s3api.S3ApiServer
|
||||
var s3ApiServer_err error
|
||||
storageClassDiskTypeMap := ""
|
||||
if s3opt.storageClassDiskTypeMap != nil {
|
||||
storageClassDiskTypeMap = *s3opt.storageClassDiskTypeMap
|
||||
}
|
||||
|
||||
// Create S3 server with optional advanced IAM integration
|
||||
var iamConfigPath string
|
||||
|
||||
@@ -14,6 +14,21 @@
|
||||
recursive_delete = false
|
||||
#max_file_name_length = 255
|
||||
|
||||
[s3.storage_class_disk_type]
|
||||
# Route S3 object writes to volume disk types by storage class.
|
||||
# Valid disk types are existing SeaweedFS disk tags, e.g. "hdd", "ssd", or custom tags.
|
||||
# Defaults: STANDARD on ssd, all colder tiers on hdd.
|
||||
standard = "ssd"
|
||||
reduced_redundancy = "hdd"
|
||||
standard_ia = "hdd"
|
||||
onezone_ia = "hdd"
|
||||
intelligent_tiering = "hdd"
|
||||
glacier = "hdd"
|
||||
deep_archive = "hdd"
|
||||
outposts = "hdd"
|
||||
glacier_ir = "hdd"
|
||||
snow = "hdd"
|
||||
|
||||
####################################################
|
||||
# The following are filer store options
|
||||
####################################################
|
||||
@@ -440,4 +455,3 @@ password = ""
|
||||
timeout = "5s"
|
||||
maxReconnects = 1000
|
||||
|
||||
|
||||
@@ -178,7 +178,6 @@ func init() {
|
||||
s3Options.enableIam = cmdServer.Flag.Bool("s3.iam", true, "enable embedded IAM API on the same S3 port")
|
||||
s3Options.iamReadOnly = cmdServer.Flag.Bool("s3.iam.readOnly", true, "disable IAM write operations on this server")
|
||||
s3Options.cipher = cmdServer.Flag.Bool("s3.encryptVolumeData", false, "encrypt data on volume servers for S3 uploads")
|
||||
s3Options.storageClassDiskTypeMap = cmdServer.Flag.String("s3.storageClassDiskTypeMap", "", "map S3 storage classes to filer disk types, e.g. STANDARD_IA=ssd,GLACIER=hdd")
|
||||
|
||||
sftpOptions.port = cmdServer.Flag.Int("sftp.port", 2022, "SFTP server listen port")
|
||||
sftpOptions.sshPrivateKey = cmdServer.Flag.String("sftp.sshPrivateKey", "", "path to the SSH private key file for host authentication")
|
||||
|
||||
Reference in new issue
Block a user