mirror of
https://github.com/vmware-tanzu/velero.git
synced 2026-08-20 14:16:06 +00:00
Add cap for backup data extraction (#10260)
* add cap for backup data extraction Signed-off-by: Lyndon-Li <lyonghui@vmware.com> * set default extraction size Signed-off-by: Lyndon-Li <lyonghui@vmware.com> * control total size only Signed-off-by: Lyndon-Li <lyonghui@vmware.com> * add doc for max-backup-extraction-size Signed-off-by: Lyndon-Li <lyonghui@vmware.com> --------- Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
This commit is contained in:
@@ -183,6 +183,7 @@ type Config struct {
|
||||
ConcurrentBackups int
|
||||
GlobalBackupVolumePoliciesConfigMap string
|
||||
DefaultResourceModifierConfigMap string
|
||||
MaxBackupExtractionSize int
|
||||
}
|
||||
|
||||
func GetDefaultConfig() *Config {
|
||||
@@ -289,4 +290,10 @@ func (c *Config) BindFlags(flags *pflag.FlagSet) {
|
||||
c.DefaultResourceModifierConfigMap,
|
||||
"The name of a ConfigMap in the Velero namespace containing default resource modifier rules applied to all restores. Ignored when a per-restore resource modifier is specified.",
|
||||
)
|
||||
flags.IntVar(
|
||||
&c.MaxBackupExtractionSize,
|
||||
"max-backup-extraction-size",
|
||||
c.MaxBackupExtractionSize,
|
||||
"Maximum size of a backup extraction in megabytes. If not set, default value (16GB) will be used.",
|
||||
)
|
||||
}
|
||||
|
||||
@@ -61,6 +61,7 @@ import (
|
||||
"github.com/vmware-tanzu/velero/internal/storage"
|
||||
velerov1api "github.com/vmware-tanzu/velero/pkg/apis/velero/v1"
|
||||
velerov2alpha1api "github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1"
|
||||
"github.com/vmware-tanzu/velero/pkg/archive"
|
||||
"github.com/vmware-tanzu/velero/pkg/backup"
|
||||
"github.com/vmware-tanzu/velero/pkg/buildinfo"
|
||||
"github.com/vmware-tanzu/velero/pkg/client"
|
||||
@@ -935,6 +936,11 @@ func (s *server) runControllers(defaultVolumeSnapshotLocations map[string]string
|
||||
}
|
||||
}
|
||||
|
||||
if s.config.MaxBackupExtractionSize > 0 {
|
||||
s.logger.Infof("Setting backup data extraction cap as %v MB", s.config.MaxBackupExtractionSize)
|
||||
archive.SetMaxExtractionSize(int64(s.config.MaxBackupExtractionSize) * 1024 * 1024)
|
||||
}
|
||||
|
||||
s.logger.Info("Server starting...")
|
||||
|
||||
if err := s.mgr.Start(s.ctx); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user