Bacula a pomalé zálohování

Martin Duda duda na lib.cas.cz
Pondělí Únor 14 11:42:33 CET 2011


Zdravim,

mozna to nebude uplne ono, ale ja zalohuji cca 15 serveru jednou 
instanci baculy a mel jsem opravdu vyrazne vykonostni problemy dokud 
jsem nepreklopil ukladani metadat do relacni databaze - v mem pripade 
PostgreSQL. Zalohuji radove TB, ale vykonostni problem se mi objevil uz 
pri radove stovkach GB. Dalsi rady psali kolegove - upgrade, kontrola 
DNS, chybujici switche apod.

Duda

Jan Krajdl napsal(a):
> 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,
>   



Další informace o konferenci Linux