You are on page 1of 5

II Ci t gi rsync v test ng b:

Trn c 2 Node, tin hnh ci t cc gi rsync


#yum install rsync
To mt user dng 2 Node xc thc trong qu trnh ng nhp ng b d liu. Node1 mnh to
mt user vi tn l backup
#root@node1# useradd backup
#root@node1# passwd backup
Trn Node2 mnh s th ng b bng tay xem cc gi rsync ci t ng hay cha.
root@node2# rsync avz e ssh backup@172.16.1.1:/var/www/html/ /var/www/html/
Trong :
backup l user to Node1.
172.16.1.1 l IP ca Node1.
/var/www/html/ l 2 th mc cn ng b.

ng b d liu t Node1 qua Node2 thnh cng!. Ta kim tra 2 th


mc /var/www/html/ Node1 v Node2 th thy chng c ni dung ging nhau.
III To SSH-Key v lp lch t ng ng b:
Trn Node2, tin hnh to Key
root@node2# mkdir /root/rsync
root@node2# ssh-keygen t dsa b 1024 f /root/rsync/mirror-rsync-key
y bn s c yu cu nhp passphrase 2 ln. Hy nhp passphrase trng c 2 ln!

Sau khi to Key xong, tin hnh chuyn Key ny ti cho Node1. Chng ta s a key vo
mc home ca userbackup c to bc trn
root@node2# scp /root/rsync/mirror-rsync-key.pub backup@172.16.1.1:/home/backup

Tr li Node1, ta tin hnh chuyn qua thao tc trn user backup:


backup@node1# mkdir ~/.ssh
backup@node1# chmod 700 ~/.ssh
backup@node1# mv ~/mirror-rsync-key.pub ~/,ssh/
backup@node1# cd ~/.ssh
backup@node1 .ssh# touch authorized_keys
backup@node1 .ssh# chmod 600 authorized_keys
backup@node1 .ssh# cat mirror-rsync-key.pub >> authorized_keys

Tin hnh m file authorized_keys ln


backup@node1 .ssh# vi authorized_keys
Thm vo trc ni dung c sn ca file authorized_keys ni dung sau:
command="/home/backup/rsync/checkrsync",from="172.16.1.2",no-port-forwarding,no-X11forwarding,no-pty ssh-dss
Ch : C khong trng gia on mi thm vi on ni dung c sn ca file authorized_keys nh

m bo h thng c an ton khi thc cc lnh bi user backup. Chng ta nn cm tt cc cc


cu lnh ngoi tr rsync trn user ny.
backup@node1# ~/rsync
backup@node1# vi ~/rsync/checkrsync
To thm ni dung di y cho file checkrsync
case "$SSH_ORIGINAL_COMMAND" in
*\&*)
echo "Rejected"
;;

*\(*)
echo "Rejected"
;;
*\{*)
echo "Rejected"
;;
*\;*)
echo "Rejected"
;;
*\<*)
echo "Rejected"
;;
*\'*)
echo "Rejected"
;;
rsync\ --server*)
$SSH_ORIGINAL_COMMAND
;;
*)
echo "Rejected"
;;
esac

Sau lu file checkrsync li v chmod n 700


#chmod 700 ~/rsync/checkrsync

By gi, trn Node2 ta s kim tra li s ng b d liu ng nhp bi user backup c s dng SSHKey
root@node2# rsync -avz --delete --exclude=**/stats --exclude=**/error -e "ssh -i /root/rsync/mirror-rsynckey" backup@172.16.1.1:/var/www/html/ /var/www/html/
Trong :
delete: Khi file c xa trn Node1 th n cng s c xa trn Node2
exclude: Loi ra cc th mc khng mun ng b. V d trn mnh loi ra cc th mc nh /stats
v /error

Nu c kt qu ng b i loi nh hnh trn th bn cu hnh thnh cng!. By gi ta s tin hnh


lp lch Node2 t ng ng b d liu ging nh Node1.
root@node2# crontab e
Thm vo ni dung nh bn di ri tin hnh lu li:
*/1 * * * * /usr/bin/rsync -azq --delete --exclude=**/stats --exclude=**/error -e "ssh -i /root/rsync/mirrorrsync-key" backup@172.16.1.1:/var/www/html/ /var/www/html/

on lnh trn mnh lp lch Node2 c mt pht th n li tin hnh ng b d liu vi Node1.
Chng ta tin hnh kim tra n gin nh sau.
Trn Node1, to mt file kiemtra.txt: root@node1# touch /var/www/html/kiemtra.txt

Trn Node2, ta tin hnh kim tra li th mc /var/www/html/ th thy file kiemtra.txt xut hin

IV ng b d liu qua li gia 2 Node:


cc bc cu hnh trn, mnh thit lp c qu trnh ng b d liu t Node1 ti Node2. Kiu
thit lp ny nhm mc ch backup li d liu Node chnh. Tuy nhin, nu Node1 b
cht, Node2 thay th p ng nhu cu Web cho Client v khi Node1 c phc hi th d liu ca
chng ta s khng cn nht qun na! (d liu khng th ng b t Node2 ti Node1). khc phc
iu ny, chng ta s tin hnh tng t nh trn, nhng ngc li i vi 2 Node! Node1 s ng b
d liu trn Node2!
M hnh Backup: Node1 -----> Node2
M hnh ng b trn 2 Node: Node1 <---------> Node2
Chc cc bn thnh cng!

=====================
loi trong qua trinh test:
chay rsync bi loi sau chua ro nguyen nhan khac phuc.
rsync error: syntax or usage error (code 1) at main.c(1201) [sender=3.0.6]

You might also like