Centos 7’de Lsyncd Nasıl Kurulur ve Kullanılır? LSYNCD Dosya Eşitleme – Replikasyon Kullanımı
Lsyncd, ” Live Syncing Daemon ” anlamına gelir, adından da anlaşılacağı gibi, lsyncd, dosyaları ve dizinleri belirli bir aralıktan sonra yerel olarak ve uzaktan senkronize etmek veya çoğaltmak için kullanılır. Arka uçta rsync & ssh kullanır.
Lsyncd, ana sunucudaki dizini izlediği Ana ve Bağımlı mimaride çalışır, herhangi bir değişiklik veya değişiklik yapılırsa, lsyncd belirli bir zaman aralığından sonra aynısını bağımlı sunucularında çoğaltır.
Daha önce sizlerle paylaşmış olduğumuz, GlusterFS Nedir? ve Kubernetes Nedir? makalelerine gelen en fazla yorumlardan biriside lsyncd hakkında idi dolayısıyla bu yazıda CentOS 7 ve RHEL 7’de lsyncd’nin nasıl kurulacağını ve kullanılacağını tartışacağız.
Senaryo : “/var/www/html” klasörünü Ana sunucudan Bağımlı sunucuya senkronize etmek istediğinizi varsayalım.
Ana Sunucunun IP’si = 192.168.1.14
Bağımlı Sunucunun IP’si = 192.168.1.15
Senkronize edilecek dizin = /var/www/html
Önce Ana ve Yedek Sunucu arasında Anahtar tabanlı kimlik doğrulamayı etkinleştirin.
Ana sunucuya giriş yapın ve ssh-keygen komutunu kullanarak genel ve Özel anahtarları oluşturun.
Şimdi ortak anahtarı ssh-copy-id komutunu kullanarak bağımlı sunucuya kopyalayın
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
Adım:1 Ana Sunucuya (MASTER) Giriş Yapın ve Lsyncd Paketini Kurun
Aşağıdaki yum komutunu kullanarak lsyncd bağımlılık paketlerini kurun.
yum install -y lua lua-devel pkgconfig gcc asciidoc
yum komutunu kullanarak lsyncd paketini kurmak için, önce EPEL deposunu etkinleştirin, çünkü varsayılan depolarda lsyncd rpm mevcut değildir.
yum -y install epel-release
Adım:2 Lsyncd’nin Yapılandırma Dosyasını Kurun
Örnek Yapılandırmayı /etc/lsyncd.conf dosyasına kopyalayın
[ [email protected] ~]# cp /usr/share/doc/lsyncd-2.1.5/examples/lrsync.lua /etc/lsyncd.conf
Yapılandırma dosyasına aşağıdaki satırları ekleyin.
[ [email protected] ~]# cat /etc/lsyncd.conf ---- -- lsyncd için kullanıcı yapılandırma dosyası. -- -- Varsayılan rsync için basit bir örnek. -- ayarlar = { logfile = "/var/log/lsyncd.log", statusFile = "/var/log/lsyncd.stat", durumAralığı = 2, } senkronizasyon{ varsayılan.rsync, kaynak="/var/www/html", hedef="192.168.1.15:/var/www/html", rsync={rsh ="/usr/bin/ssh -l root -i /root/.ssh/id_rsa",} } [ [email protected] ~]#
Adım:3 Hizmeti başlatın ve yeniden başlatma sırasında etkinleştirin
[ [email protected] ~]# systemctl start lsyncd [ root@linuxtechi ~]# systemctl lsyncd enable ln -s '/usr/lib/systemd/system/lsyncd.service' '/etc/systemd/system/multi-user.target.want/lsyncd.service'
Adım:4 Çoğaltma ve Günlük Raporunu Analiz Edin.
Gördüğümüz gibi, verileri senkronize etmek için “ root ” kullanıcısı kullanıyoruz, ihtiyacınıza göre kullanıcı adını değiştirebilirsiniz.
Günlük Dosyasında, replikasyonun tamamlanıp tamamlanmadığını, replikasyonun durumunu görebiliriz.
[ [email protected] ~]# tail -10 /var/log/lsyncd.log
26 Temmuz Pazar 12:53:04 2015 Normal: özyinelemeli başlangıç rsync: /var/www/html/ -> 192.168.1.15:/var/www/html/
Paz 26 Tem 12:53:56 2015 Normal: "/var/www/html/" başlatması tamamlandı.
[ [email protected] ~]#
Stat dosyasını kullanarak lsyncd durum Raporunu görüntülüyoruz. Örnek Örnek aşağıda gösterilmiştir
[[email protected] ~]# more /var/log/lsyncd.stat
Lsyncd status report at Sun Jul 26 12:53:58 2015
Sync1 source=/var/www/html/
There are 0 delays
Excluding:
nothing.
Inotify watching 849 directories
1: /var/www/html/
2: /var/www/html/catalog/
3: /var/www/html/catalog/controller/
4: /var/www/html/catalog/controller/module/
5: /var/www/html/catalog/controller/checkout/
6: /var/www/html/catalog/controller/api/
7: /var/www/html/catalog/controller/payment/
8: /var/www/html/catalog/controller/tool/
9: /var/www/html/catalog/controller/product/
———————
848: /var/www/html/system/library/db/
849: /var/www/html/system/modification/
[[email protected] ~]#
Adım 5 : File Permission Root Yerine kullanıcı adı olsun
rsync içerisine aşağıdaki parametreleri ekliyoruz ve artık senkron olan dosyalar kullanıcı adı ve grubuna göre senkron olacaktır.
compress = true,
verbose = true,
update = true,
perms = true,
owner = true,
group = true,