Hình 5-1 cho thấy daemon slurpd thực hiện việc thay đổi log được viết bởi slapd. Bản log file sao chép sử dụng chung một format với các ví dụ LDIF trong cuốn sách này. Sau khi đọc replogfile, slurpd copy nội dung vào file log của nó. Ta có thể chỉnh vị trí đặt file slurpd.replog bằng cách dùng câu lênh –t khi khởi động slurpd. Mặc định /usr/local/var/openldap-slurp/replica/.
Ví dụ, nếu địa chỉ email của cn=JerryCarter,ou=people,dc=plainjoe,dc=org đổi thành jcarter@nowhere.com:
replica: pogo.plainjoe.org time: 975434259 dn: cn=jerry carter,ou=People,dc=plainjoe,dc=org changetype: modify replace: mail mail: jcarter@nowhere.com - replace: entryCSN entryCSN: 2002110403:55:49Z#0x0001#0#0000 - replace: modifiersName modifiersName: cn=Manager,dc=plainjoe,dc=org - replace: modifyTimestamp modifyTimestamp: 20001128175739Z -
Nếu có 1 giá trị thuộc tính thay đổi, nội dung file log sẽ update 4 thuộc tính sau: mail,
modifiersName, modifyTimestamp, entryCSN.
Slurpd đọc nội dung trong log file sao chép và tạo sự thay đổi bằng các lênh LDAP cơ bản (add, modify, delete, modrdn, etc). Nếu không thể thay đổi nội dung, slurpd viết nội dung đó và lý do
lỗi đến <hostname:port>.rej trong cùng thư mục với file slurpd.replog. Công việc của người quản trị là đọc file đó và tìm ra cách giải quyết. Một vài lý do thường gặp để xảy ra lỗi: các
schema của master và slave không tương thích, hoặc mục kiểm soát truy cập không được cài đặt hợp lý, v.v…
Ta cài đặt slurpd để nó điều khiển các log file sao chép và cập nhật các thay đổi định kỳ. Tuy nhiên cũng có thể làm việc đó bằng các dòng lệnh cho 1 thay đổi nào đó. Sau đây là bảng các dòng lệnh dùng khi khởi động slurpd
Để hoàn thành việc cấu hình thư mục bản sao, ta phải khởi động daemon slurpd trên server master.
root@master# /usr/local/libexec/slurpd
1.6Sử dụng bản sao chép trong “Khôi phục dữ liệu”
Một server slave có thể được dùng như một server backup để khôi phục dữ liệu.
Đầu tiên, dừng slurpd trên master, khi đó replica đã có những bản sao của thư mục. Mặc dù
slapd vấn đang ghi các thay đổi lên replogfile, nhưng ta có thể dùng slapcat trên slave để xuất
file cơ sở dữ liệu thành file LDIF trong khi slapd vẫn đang chạy, vì dữ liệu được bảo đảm là không đổi trong các đoạn mid-backup. Khi backup xong, khởi động lại slurpd để bảo đảm tất cả thay đổi trong master khi replica đang backup sẽ được cập nhật. Sau đó đồng bộ slave trở về trạng thái như cũ.