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=Jerry Carter,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 số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
Để hồ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ũ.