Bacula a pomalé zálohování
Jan Krajdl
spm na spamik.cz
Sobota Únor 12 13:50:18 CET 2011
Ahoj,
v práci nasazujeme na zálohování baculu a dostal jsem se do takového problému. Dosud se zálohovaly jen stroje, kde moc
dat nebylo a vše bylo v pořádku. V pátek jsem přidal další dva, kde už dat je poněkud více (řádově cca 200GB na
stroj). A při zálohování jsem narazil na problém - pustím ručně job v consoli a záloha se spustí. Prvních několik sekund
jede vše jak má - data na SD přibývají poměrně rychle, na klientovi je vidět, že proces bacula-fd pracuje. Avšak po
chvíli se to rázně zpomalí - bacula-fd se začne flákat (avg 2% CPU) a data tečou strašně pomalu. Občas se stane, že se
to zase na chvíli rozjede, ale moc dlouho to netrvá. Záloha takhle pak trvá skoro několik dní.
Co jsem našel na googlu, tak jediná rada bylo používání spoolu. To jsem zkusil, ale výsledek byl stejný.
Co se týče konfigurace, tak directoru a sd mám spolu na jednom stroji. Úložiště pro zálohování je připojeno přes
iSCSI. Stroj s directorem je debian squeeze, balíčky z repozitáře. Ze zálohovaných strojů je jeden squeeze a druhý lenny
s baculou z backportů. Při zálohování byla zaplá komprese a TLS šifrování - při zkoušení jsem postupně obojí vypnul, ale
též se nic nezměnilo (krom toho, že s kompresí se do sd přenese před zpomalením řádově desítky MB, bez komprese pár
stovek). Konfigurace kliena v directoru:
Client {
Name = posta
Address = posta
FDPort = 9102
Catalog = BaculakCat
Password = "heslo"
File Retention = 1 month
Job Retention = 1 month
AutoPrune = yes
# TLS Enable = yes
# TLS Require = yes
# TLS CA Certificate File = "/etc/bacula/ca.pem"
# TLS Certificate = "/etc/bacula/baculak.pem"
# TLS Key = "/etc/bacula/baculak.key"
}
Pool {
Name = PostaFullPool
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Label Format = "posta-"
Recycle Current Volume = yes
Recycle Oldest Volume = yes
Volume Retention = 30 days
Volume Use Duration = 1 days
}
Pool {
Name = PostaIncPool
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Label Format = "posta-"
Recycle Current Volume = yes
Recycle Oldest Volume = yes
Volume Retention = 7 days
Volume Use Duration = 1 days
}
FileSet {
Name = "Posta Files"
Include {
Options {
signature = MD5
# Compression = GZIP
}
File = /home/exim
File = /var/backups
}
}
Job {
Name = "PostaFiles"
Pool = PostaFullPool
Incremental Backup Pool = PostaIncPool
Client = "posta"
Type = "Backup"
Level = "Incremental"
FileSet = "Posta Files"
Schedule = "DailyInc"
Storage = BaculakStorage2Servers
Messages = Standard
# Spool Attributes = yes
# Spool Data = yes
}
A konfigurace FD na klientovi:
Director {
Name = baculak-dir
Password = "heslo"
TLS Enable = no
# TLS Require = yes
# TLS Verify Peer = yes
# TLS Allowed CN = "baculak"
# TLS CA Certificate File = "/etc/bacula/ca.pem"
# TLS Certificate = "/etc/bacula/posta.pem"
# TLS Key = "/etc/bacula/posta.key"
}
FileDaemon { # this is me
Name = posta-fd
FDport = 9102 # where we listen for the director
WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run/bacula
Maximum Concurrent Jobs = 20
FDAddress = ip
# TLS Enable = no
# TLS Require = yes
# TLS CA Certificate File = "/etc/bacula/ca.pem"
# TLS Certificate = "/etc/bacula/posta.pem"
# TLS Key = "/etc/bacula/posta.key"
}
Messages {
Name = Standard
director = baculak-dir = all, !skipped, !restored
}
Výkonnově by nic nikde bránit nemělo - síť je propustná dost, QoS na ní není, CPU na stroji s directorem je OK, I/O v
pořádku na obou strojích. Nesetkal se někdo s tím, případně neví, co by mohlo zálohování takhle drasticky zpomalit?
Díky,
--
Jan Krajdl
Další informace o konferenci Linux