Skip to content

Commit f18fb70

Browse files
authored
backup: replace disk usage percentage threshold (#2231)
2 parents 02e45a7 + c68b61f commit f18fb70

File tree

6 files changed

+13
-22
lines changed

6 files changed

+13
-22
lines changed

framework/backup-server/.olares/config/cluster/deploy/backup_server.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22

3-
{{ $backupVersion := "0.3.59" }}
3+
{{ $backupVersion := "0.3.60" }}
44
{{ $backup_server_rootpath := printf "%s%s" .Values.rootPath "/rootfs/backup-server" }}
55

66
{{- $backup_nats_secret := (lookup "v1" "Secret" .Release.Namespace "backup-nats-secret") -}}

framework/backup-server/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ replace (
1616
k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20220627174259-011e075b9cb8
1717
k8s.io/kubectl => k8s.io/kubectl v0.24.2
1818
k8s.io/utils => k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
19-
olares.com/backups-sdk => github.com/Above-Os/backups-sdk v0.1.37
19+
olares.com/backups-sdk => github.com/Above-Os/backups-sdk v0.1.38
2020
sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.12.2
2121
sigs.k8s.io/json => sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2
2222
sigs.k8s.io/kustomize/api => sigs.k8s.io/kustomize/api v0.11.4

framework/backup-server/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl
3131
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
3232
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
3333
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
34-
github.com/Above-Os/backups-sdk v0.1.37 h1:7LofG3HRTgGLv0YNjoCFdzSjIhF7PwsYxbmpT2KQkUs=
35-
github.com/Above-Os/backups-sdk v0.1.37/go.mod h1:55igUShkfGaJZrWJ0z/jlkgkYniZEN/Qoav6njwyvbs=
34+
github.com/Above-Os/backups-sdk v0.1.38 h1:GUq/sV7Tra0mDCgm9KXfVqsJV8m5rQtIpf7Zx7FFZVg=
35+
github.com/Above-Os/backups-sdk v0.1.38/go.mod h1:55igUShkfGaJZrWJ0z/jlkgkYniZEN/Qoav6njwyvbs=
3636
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
3737
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
3838
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=

framework/backup-server/pkg/storage/storage.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,5 @@ const (
66
)
77

88
var (
9-
FreeLimit float64 = 85.00
10-
ConnectErrors = []string{"dial tcp", "connect:"}
9+
ConnectErrors = []string{"dial tcp", "connect:"}
1110
)

framework/backup-server/pkg/storage/storage_backup.go

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"olares.com/backup-server/pkg/util/pointer"
2626
"olares.com/backup-server/pkg/watchers/notification"
2727
backupssdk "olares.com/backups-sdk"
28+
backupssdkconstants "olares.com/backups-sdk/pkg/constants"
2829
backupssdkoptions "olares.com/backups-sdk/pkg/options"
2930
backupssdkrestic "olares.com/backups-sdk/pkg/restic"
3031
backupssdkstorage "olares.com/backups-sdk/pkg/storage"
@@ -322,21 +323,16 @@ func (s *StorageBackup) checkDiskSize() error {
322323
return err
323324
}
324325

325-
log.Infof("Backup %s,%s, check disk free space: %s, path: %s", backupName, snapshotId, usage.String(), target)
326-
327-
if usage.UsedPercent > FreeLimit {
328-
log.Errorf("Backup %s,%s, disk usage has reached %.2f%%", backupName, snapshotId, FreeLimit)
329-
return fmt.Errorf("Disk usage has reached %.2f%%. Please clean up disk space first.", FreeLimit)
330-
}
326+
log.Infof("Backup %s,%s, check disk free space: %s, path: %s, limit: %d", backupName, snapshotId, usage.String(), target, backupssdkconstants.FreeSpaceLimit)
331327

332328
backupSize, err := util.DirSize(s.Params.Path)
333329
if err != nil {
334330
log.Errorf("Backup %s,%s, get backup disk size error: %v, path: %s", backupName, snapshotId, err, s.Params.Path)
335331
return fmt.Errorf("get backup disk size error: %v, path: %s", err, s.Params.Path)
336332
}
337333

338-
requiredSpace := uint64(float64(backupSize) * 1.05)
339-
if usage.Free < requiredSpace {
334+
requiredSpace := backupSize
335+
if usage.Free < (requiredSpace + backupssdkconstants.FreeSpaceLimit) {
340336
log.Errorf("not enough free space on target disk, required: %s, available: %s, location: %s", util.FormatBytes(requiredSpace), util.FormatBytes(usage.Free), s.Params.LocationInFileSystem)
341337
return fmt.Errorf("Insufficient space on the target disk.")
342338
}

framework/backup-server/pkg/storage/storage_restore.go

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"olares.com/backup-server/pkg/util/pointer"
2323
"olares.com/backup-server/pkg/watchers/notification"
2424
backupssdk "olares.com/backups-sdk"
25+
backupssdkconstants "olares.com/backups-sdk/pkg/constants"
2526

2627
backupssdkoptions "olares.com/backups-sdk/pkg/options"
2728
backupssdkrestic "olares.com/backups-sdk/pkg/restic"
@@ -292,15 +293,10 @@ func (s *StorageRestore) checkDiskSize() error {
292293
return err
293294
}
294295

295-
log.Infof("Restore %s, check disk free space: %s, path: %s", s.RestoreId, usage.String(), s.Params.RootPath)
296+
log.Infof("Restore %s, check disk free space: %s, path: %s, limit: %d", s.RestoreId, usage.String(), s.Params.RootPath, backupssdkconstants.FreeSpaceLimit)
296297

297-
if usage.UsedPercent > FreeLimit {
298-
log.Errorf("Restore %s, disk usage has reached %.2f%%", s.RestoreId, FreeLimit)
299-
return fmt.Errorf("Disk usage has reached %.2f%%. Please clean up disk space first.", FreeLimit)
300-
}
301-
302-
requiredSpace := uint64(float64(s.RestoreType.TotalBytesProcessed) * 1.05)
303-
if usage.Free < requiredSpace {
298+
requiredSpace := uint64(s.RestoreType.TotalBytesProcessed)
299+
if usage.Free < (requiredSpace + backupssdkconstants.FreeSpaceLimit) {
304300
log.Errorf("not enough free space on target disk, required: %s, available: %s, location: %s", util.FormatBytes(requiredSpace), util.FormatBytes(usage.Free), s.Params.RootPath)
305301
return fmt.Errorf("Insufficient space on the target disk.")
306302
}

0 commit comments

Comments
 (0)