Browse Source
filer: add default log purging to master maintenance scripts (#8359 )
* filer: add default log purging to master maintenance scripts
* filer: fix default maintenance scripts to include full set of tasks
* filer: refactor maintenance scripts to avoid duplication
pull/8360/head
Chris Lu
3 days ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with
28 additions and
12 deletions
weed/cluster/maintenance/maintenance_config.go
weed/command/scaffold/example.go
weed/command/scaffold/master.toml
weed/server/master_server.go
@ -0,0 +1,14 @@
package maintenance
const DefaultMasterMaintenanceScripts = `
lock
ec . encode - fullPercent = 95 - quietFor = 1 h
ec . rebuild - apply
ec . balance - apply
fs . log . purge - daysAgo = 7
volume . deleteEmpty - quietFor = 24 h - apply
volume . balance - apply
volume . fix . replication - apply
s3 . clean . uploads - timeAgo = 24 h
unlock
`
@ -1,6 +1,15 @@
package scaffold
import _ "embed"
import (
_ "embed"
"strings"
"github.com/seaweedfs/seaweedfs/weed/cluster/maintenance"
)
func init ( ) {
Master = strings . ReplaceAll ( masterTemplate , "{{DEFAULT_MAINTENANCE_SCRIPTS}}" , maintenance . DefaultMasterMaintenanceScripts )
}
//go:embed filer.toml
var Filer string
@ -15,6 +24,7 @@ var Replication string
var Security string
//go:embed master.toml
var masterTemplate string
var Master string
//go:embed shell.toml
@ -6,17 +6,7 @@
[ master . maintenance ]
# periodically run these scripts are the same as running them from 'weed shell'
scripts = "" "
lock
ec . encode - fullPercent = 95 - quietFor = 1 h
ec . rebuild - apply
ec . balance - apply
volume . deleteEmpty - quietFor = 24 h - apply
volume . balance - apply
volume . fix . replication - apply
s3 . clean . uploads - timeAgo = 24 h
unlock
"" "
scripts = "" "{{DEFAULT_MAINTENANCE_SCRIPTS}}" ""
sleep_minutes = 17 # sleep minutes between each script execution
@ -13,6 +13,7 @@ import (
"sync"
"time"
"github.com/seaweedfs/seaweedfs/weed/cluster/maintenance"
"github.com/seaweedfs/seaweedfs/weed/stats"
"github.com/seaweedfs/seaweedfs/weed/telemetry"
@ -312,6 +313,7 @@ func (ms *MasterServer) proxyToLeader(f http.HandlerFunc) http.HandlerFunc {
func ( ms * MasterServer ) startAdminScripts ( ) {
v := util . GetViper ( )
v . SetDefault ( "master.maintenance.scripts" , maintenance . DefaultMasterMaintenanceScripts )
adminScripts := v . GetString ( "master.maintenance.scripts" )
if adminScripts == "" {
return