Clark's Home page

Tecnicismi vari di un Sysadmin Linux ma anche qualcosa della sua vita

Replica bidirezionale di sysvol tra DC principale e Dc di supporto con unison e rsync —

Come detto precedentemente la replica di sysvol tra DC è essenziale, quindi un requisito essenziale a questo punto critico è la continuità della sincronia, la cosa che mi lascia perplesso e che ad oggi non esiste un reale supporto alla replica di sysvol da parte di samba ma solo dei workarounds, comunque sia presa “as is” dal wiki di samba ho usato questa procedura:
su entrambi i nodi
apt-get install rsync unison
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@macchina_opposta
e sin qui niente di strano il passo successivo ammetto di averlo solo parzialmente capito e di aver fatto un atto di fede, nel senso che non capisco il limite di velocità imposto, ma mi son detto se non ci sono limiti e non ce ne sono non dovrebbe intervenire.
mkdir ~/.ssh/ctl
vim ~/.ssh/ctl/config

Host *
ControlMaster auto
ControlPath ~/.ssh/ctl/%h_%p_%r
ControlPersist 1

Su cabrini DC  principale:
touch /var/log/sysvol-sync.log && chmod 640 /var/log/sysvol-sync.log
install -o root -g root -m 0750 -d /root/.unison
vim ~/.unison/default.prf

# Roots of the synchronization
#
# copymax & maxthreads params were set to 1 for easier troubleshooting.
# Have to experiment to see if they can be increased again.
root = /var/lib/samba
# Note that 2 x / behind DC2, it is required
root = ssh://root@tedeschi//var/lib/samba 
# 
# Paths to synchronize
path = sysvol
#
auto=true
batch=true
perms=0
rsync=true
maxthreads=1
retry=3
confirmbigdeletes=false
servercmd=/usr/bin/unison
copythreshold=0
copyprog = /usr/bin/rsync -XAavz --rsh='ssh -p 22' --inplace --compress
copyprogrest = /usr/bin/rsync -XAavz --rsh='ssh -p 22' --partial --inplace --compress
copyquoterem = true
copymax = 1
logfile = /var/log/sysvol-sync.log

prima sincronizzazione:

/usr/bin/rsync -XAavz --log-file /var/log/sysvol-sync.log --delete-after -f"+ */" -f"- *"  /var/lib/samba/sysvol root@tedeschi:/var/lib/samba  &&  /usr/bin/unison

Da notare che il path su tedeschi è diverso da quello su cabrini ma è giusto così a quanto dice il wiki.
quindi crontab -e
*/5 * * * * /usr/bin/unison -silent

 


Categorised as: Linux | Samba | Script | Work

Comments are disabled on this post


Comments are closed.


Hide picture