[Discussion] Giải pháp đồng bộ dữ liệu 2 chiều |
03/03/2011 19:50:52 (+0700) | #1 | 232356 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
Bạn có 2 con web server muốn chạy HA. Bạn cần đồng bộ dữ liệu của 2 thư mục trên 2 server này với độ trễ càng nhỏ càng tốt. Bạn sẽ chọn giải pháp nào?
- NFS
- rsync
- Unison
- DRBD
- GlusterFS
- NAS
- ...
Bạn đã từng dùng giải pháp nào trong thực tế chưa? Nếu đã từng thử nhiều giải pháp rồi, bạn có so sánh gì về performance giữa chúng? Mời các bạn cùng thảo luận. |
|
Let's build on a great foundation! |
|
|
|
[Discussion] Giải pháp đồng bộ dữ liệu 2 chiều |
04/03/2011 10:38:48 (+0700) | #2 | 232395 |
myquartz
Member
|
0 |
|
|
Joined: 04/01/2005 04:58:30
Messages: 563
Offline
|
|
Đã sử dụng NFS, rsync và DRBD.
NAS cũng có thể coi là NFS, vì nói chung NFS cần kết nối đến server thứ 3 trung gian, với server này được trang bị fault tolerrant thật tốt. NFS hay NAS không nên coi là đồng bộ giữa 2 server mà là shared storage (nếu shared storage vs data synchronization thì nó thành 1 topic khác rồi). Cái này dĩ nhiên là đồng nhất 100%, ko có độ trễ đồng bộ. Bù lại cái chỗ chung kia phải cực kỳ o bế kỹ, ko nó down là tất cả down theo. Về performance nó thuộc loại khá, tuỳ theo cái shared storage kia là cái gì (NFS server thì chậm hơn NAS chuyên dụng và chậm hơn SAN kết nối FC).
rsync thì đồng bộ theo chu kỳ, ví dụ 5 phút hay 1 ngày, không đảm bảo tính đồng nhất 2 bên một cách liên tục. Nhưng cái hay của rsync là không đòi hỏi băng thông cao, hoạt động cũng tin cậy, đơn giản và đặc biệt hiệu quả về performance và offline vì file thư mục tại local, cứ mang ra xài thôi. Cái này tớ hay xài cho việc đồng bộ config và source code của 2 web server.
DRBD (quanta nhầm 2 chữ với nhau??), e hèm. Em này lai giữa shared storage và sync. Em này thích hợp hơn với mô hình active-standby, vì cùng 1 thời điểm block device sẽ chỉ định hướng hoạt động hướng tới một server (1 node), node còn lại luôn là passive. Như thế, sự đồng nhất là tương tự như shared storage, nhưng performance thì các node sẽ khác nhau. Nếu tại local thì sẽ nhanh hơn truy cập qua network. Về mặt đồng bộ thì DRBD rất tuyệt, nó làm ở block device nên hiệu quả hơn rsync nếu dành cho đồng bộ database (khi mà với database thì thay đổi theo block là chính, thay vì rsync thường compare hoặc truyền đi nguyên cả 1 file tốn tài nguyên CPU/Network hơn). DRBD thì phức tạp hơn và đòi hỏi kết nối mạng giữa 2 node càng nhanh, càng tin cậy càng tốt, nếu không nó sẽ ảnh hưởng tới tốc độ của ứng dụng bên trên xài shared storage.
Các cái khác, ví dụ Samba, cũng được tính như là NFS chứ? Ngoài ra các giải pháp ở mức level cao hơn, mức ứng dụng (DB thì có db replication theo transaction, file server hay ứng dụng thì có thể manual đồng bộ...) cũng nên được xem xét. |
|
|
|
|
[Discussion] Giải pháp đồng bộ dữ liệu 2 chiều |
06/03/2011 15:52:34 (+0700) | #3 | 232518 |
facialz
Elite Member
|
0 |
|
|
Joined: 20/07/2004 03:48:17
Messages: 197
Location: HoChiMinh city
Offline
|
|
rsync không truyền nguyên cả 1 file mà chỉ truyền sai biệt (giữa file của người gửi và file của người nhận). Tốn nhiều CPU chứ không tốn nhiều network. |
|
|
[Discussion] Giải pháp đồng bộ dữ liệu 2 chiều |
08/03/2011 07:11:54 (+0700) | #4 | 232600 |
|
vitcon01
Member
|
0 |
|
|
Joined: 29/04/2009 11:28:21
Messages: 306
Offline
|
|
Em có 2 con VPS chạy centos, vấn đề đặt ra đồng bộ dữ liệu 2 giữa 2 VPS này một cách tự động. Hy vọng các anh có kinh nghiệm trong vấn đề này giúp em cung cấp giải pháp.
Giải pháp sử dụng là gì?
Lập lich tự động ra sao ah?
EM cảm ơn! |
|
JK - JH
()()()
LTKT - LTT |
|
|