Saturday, October 12, 2013

Đồng bộ hóa dữ liệu giữa hai Server Ubuntu 11.10 sử dụng Unison

Giới thiệu :

Unison là một công cụ đồng bộ hóa tập tin tương tự như  Rsync, nhưng sự khác biệt lớn là nó đồng bộ hóa thay theo kiểu Master-Master, nghĩa là: các tập tin thay đổi trên server1 thì server2  sẽ thay đổi theo và ngược lại .

Chuẩn bị :


2 server chạy ubuntu server 11.10 với hostname và IP từng Server như sau :

Kgp-A.vn   200.200.200.134
Kgp-B.vn  200.200.200.135


Và tôi muốn đồng bộ thư mục chứa dữ liệu cần đồng bộ là  /kenhgiaiphap  ở 2 server ( tạo thư mục này bên 2 server ) .

Thực Hiện :


Install Unison và SSH cho 2 server 

# apt-get install unison openssh-server ssh

Tạo private/public key trên server  kgp-A.vn

# ssh-keygen -t dsa

 
Sau đó copy public key của server  kgp-A.vn đến server  kgp-B.vn 
 
# ssh-copy-id -i $HOME/.ssh/id_dsa.pub  root@200.200.200.135


Qua server  kgp-B.vn kiểm tar xem public key của server  kgp-A.vn chuyển qua chưa 

# cat $HOME/.ssh/authorized_keys

 
Chạy Unison

Chạy Unison lần đầu tiên để đồng bộ thư mục /kenhgiaiphap của 2 server .

Bên  gkp-A.vn chạy lệnh sau:

(Trước khi chạy ta tạo vài file hay thư mục nào đó trong thư mục /kenhgiaiphap bên 2 server để test thử )

# unison /kenhgiaiphap/ ssh://200.200.200.135//kenhgiaiphap
 

Qua 2  Server ta thấy dữ liệu đã đồng bộ .
 

Tạo 1 Script tự động trả lời các thông số ,các câu hỏi lúc ta chạy lệnh để đồng bộ 
( Thực hiện bên server  kgp-A.vn )

#  vi /root/.unison/default.prf

root = /kenhgiaiphap
root = ssh://200.200.200.135//kenhgiaiphap
auto=true
batch=true


Với mục đích là đồng bộ thư mục trên 2 server cơ bản thì với các thông số trong file/root/.unison/default.prf  như trên là đủ .

Nếu muốn thêm các option khác thì các bạn tìm hiểu thêm qua lệnh : man  unison

Đến đây thì chúng ta có thể chạy Script trên bằng lệnh unison  ko cần thông số gì hết để test thử .

Và tạo Crontab cho hệ thống tự đồng bộ theo thời gian mỗi 5 phút .

# crontab –e

 */5 * * * * /usr/bin/unison &> /dev/null

 

Phan Trọng Hiếu ( Theo Howtoforge )

Related Posts:

  • Ý nghĩa các thư mục trong Linux Giải thích chức năng thư mục trong Linux Cây thư mục trong Debian Một ví dụ khác … Read More
  • CHROOT LinuxHiện nay an toàn thông tin đang là một vấn đề được nhiều người quan tâm, đặc biệt là trong lĩnh vực công nghệ thông tin. Trong lĩnh vực quản trị hệ thống nói riêng, công việc bảo mật cho hệ thống là rất quan trọng và cần tiến… Read More
  • Chroot mysql1. Yêu cầu bảo mậtĐể mysql được bảo mật hơn các bạn cần cấu hình theo các yêu cầu sau: Cơ sở dữ liệu MySQL phải được chạy trong môi trường Chrooted ; Tiến trình(processes) MySQL phải chạy bằng một tài khoản riêng, chuyên dụn… Read More
  • LS Command ls – Unix users and sysadmins cannot live without this two letter command. Whether you use it 10 times a day or 100 times a day, knowing the power of ls command can make your command line journey enjoyable. In this article… Read More
  • Speed up mysql MySQL là 1 Database kết hợp chặt chẽ với PHP trong rất nhiều ứng dụng web động. Nhờ tính năng mã nguồn mở và nhỏ gọn, MySQL hiện đang là hệ Database nhanh nhất cho các ứng dụng thông thường. Tuy nhiên theo thời gian, các… Read More