19/11/12

Tìm hiểu về tính năng Seed trên nền công nghệ DAG của Exchange

Seeding, hay còn gọi là cập nhật, là một quy trình sao lưu các Database trên nền tảng của công nghệ DAGs. Mục đích chính của Seed là thực hiện cập nhật các Passive Database Copies từ các Active hoặc Passive Database trên các máy chủ thành viên của DAG.  Seed sẽ thực thi trong các trường hợp sau:
  • Khi một Passive Database Copy được tạo ra
  • Dữ liệu trên các Passive Database Copy bị lỗi, không đồng nhất
  • Sau khi hệ thống phát hiện ra Log File bị lỗi không thể ghi lên Passive Database Copy
  • Sau khi hệ thống tiến hành offline defragmanetion
  • Sau khi thứ tự của Log tạo ra cho Database bị reset thành 1
Tiến trình của Seed sẽ được thực hiện thông qua 28 bước, bao gồm các công việc kiểm tra thông tin, tương tác với các Database và Search Index của Database tương ứng. Các dịch vụ MERep Service, MEInfo Store Service, MESearch Service sẽ tham gia vào qui trình này. Các bước chi tiết thực hiện Seed như sau:

Bước 1: Hệ thống sẽ tiến hành lấy các thông tin từ AD để xác thực các Database và máy chủ, đồng thời xác minh xem các máy chủ nguồn (Source Servers và máy chủ đích (Target Servers) có chạy Exchange 2013 hay không. Các Database này có là thành viên của cùng một DAG hay không? Thông tin đường dẫn chứa Database cũng được lấy ra.

Bước 2: Microsoft Exchange Replication service (MERep Service) sẽ tiến hành các thủ tục kiểm tra việc Re-Seed

Bước 3: MERep Service trên máy chủ đích tiến hành kiểm tra tình trạng Database và các tập tin Transaction Log trên các thư mục chứa.

Bước 4:  MERep Service trả các thông tin kết quả kiểm tra của máy chủ đích lên màn hình điều khiển của quản trị viên ( thường là CMD hay là PS cmdlet)

Bước 5: Nếu các bước kiểm tra sơ bộ được thực hiện thành công, hệ thống sẽ thông báo yêu cầu xác nhận thực hiện bước kế tiếp. Nếu phát hiện lỗi trong qua trình kiểm tra, thông báo lỗi sẽ xuất hiện và hệ thống sẽ ngừng thực hiện.

Bước 6: Quy trình Seed sẽ được MERep Service khởi động trên máy chủ đích

Bước 7: MERep Service tạm ngưng quá trình replicate của Active Database. (Sau khi Seed xong thi Replicate sẽ được khởi động)

Bước 8: MERep Service cập nhật thông tin trạng thái của Database, các thông tin này cũng là trạng thái của tiến trình Seeding

Bước 9: Nếu máy chủ đích chua có thư mục chứa tập tin Database và Log thì hệ thống sẽ tự động tạo.

Bước 10: MERep Service trên máy chủ đích sẽ thông qua giao thức TCP gửi một yêu cầu Seed cho Database đến MERep Service của máy chủ nguồn. Các yêu cầu cũng như thông tin liên lạc cho việc Seed đều diễn ra trên mạng Replication

Bước 11: MERep Service trên máy chủ nguồn khởi tạo một luồng sao lưu dữ liệu Extensible Storage Engine (ESE) thông qua giao diện Microsoft Exchange Information Store Service (MEInfo Store Service). (Tham khảo Extensible Storage Engine (ESE) streaming backup - http://en.wikipedia.org/wiki/Extensible_Storage_Engine)

Bước 12: MEInfo Store Service chuyển dữ liệu của Database đến MERep Service

Bước 13: Dữ liệu Database được chuyển từ MERep Service trên máy chủ nguồn đến MERep Service trên máy chủ đích

Bước 14: MERep Service trên máy chủ đích tiến hành ghi Database Copy vào một thư mục lưu tạm có tên là temp-seeding trong thư mục Database chính

Bước 15: Tiến trình của luồng dữ liệu backup kết thúc trên máy chủ nguồn khi Database được sao chép hoàn tất

Bước 16: Sau khi việc ghi dữ liệu hoàn tất, Database sẽ được đưa từ thư mục tạm Temp-Seed đến thư mục chính. Sau đó hệ thống tiến hành xóa thư mục tạm Temp-Seed

Bước 17: Trên máy chủ đích, MERep Service gửi yêu cầu đến Microsoft Exchange Search service (MESearch Service) để dịch vụ này kiểm tra Content Index Catalog, nếu Catalog tồn tại thì sẽ tiến hành gắn lên cho Database Copy tương ứng. Trong trường hợp các tập tin đã quá hạn so với các thay đổi trước đó hoặc Catalog không tồn tại thì việc gắn Catalog lên sẽ bị lỗi. Lúc này hệ thống sẽ khởi tạo dịch vụ Replicate cho Catalog để cập nhật mới từ máy chủ đích. Để sao chép Catalog mới từ máy chủ nguồn, MERep Service sẽ ra lệnh cho MESearch Service đình chỉ quá trình Index cho Database Copy

Bước 18: MERep Service trên máy chủ đích tiến hành gửi yêu cầu Seed cho Catalog đến MERep Service trên máy chủ nguồn.

Bước 19: Trên máy chủ nguồn, MERep Service yêu cầu các thông tin về Catalog của MESearch Service và yêu cầu MESearch Service đình chỉ việc Index

Bước 20: MESearch Service trên máy chủ nguồn trả thông tin tìm kiếm của thư mục Catalog về cho MERep Service

Bước 21: MERep Service trên máy chủ nguồn dựa vào thông tin của MESearch Service trả về để tiến hành học các tập tin Catalog từ các thư mục

Bước 22: MERep Service trên máy chủ nguồn tiến hành đưa dữ liệu Catalog đế MERep Service trên máy chủ đích. Sau khi tiến trình đọc hoàn thành, MERep Service gửi yêu cầu cho MESearch Service phục hồi việc Index của Database.

Bước 23: MERep Service trên máy chủ đích sẽ kiểm tra các tập tin Catalog trong thư mục. Nếu phát hiện có Catalog tồn tại MERep Service sẽ tiến hành xóa các tập tin Catalog

Bước 24: MERep Service trên máy chủ đích sẽ tạo thư mục tạm có tên CiSeed.Temp để ghi dữ liệu Catalog lấy từ máy chủ nguồn.

Bước 25: Sau khi ghi dữ liệu Catalog vào thư mục tạm hoàn tất, MERep Service tiến hành di chuyển các tập tin của Catalog vào thư mục chính

Bước 26: MERep Service trên máy chủ đích tiến hành phục hồi Index của Database Copy

Bước 27: MERep Service trên máy chủ đích báo trạng thái phục hồi thành công

Bước 28: Các kết quả thực hiện sẽ được báo đến quản trị viên thông qua giao diện tương tác

Quá trình Seed được hoàn tất.

Một số câu hỏi về Seed:

Q. Khi tạo một Database Copy mới, Seed có tự thực hiện không?

A. Seed được cấu hình sẵn để cung cấp khả năng tự động tiến hành Seed ngay khi Database mới được tạo. Trong trường hợp muốn thực hiện bằng tay vì các lý do như chỉ định nguồn Seed hoặc do Bandwidth hạn chế hoặc muốn Schedule thì chuyển Seed sang trạng thái Manual Seed bằng câu lệnh cmdlet Add-MailboxDatabaseCopy với tham số SeedingPostPoned

Q. Seed lấy nguồn từ Database nào?

A. Seed có thể lấy nguồn từ bất cứ Database nào thuộc DAG, đó có thể là Passive Database hoặc Active Database

Q. Seed có thể tiến hành riêng cho Database và Index Catalog

A. Có thể thực hiện Seed riêng rẽ cho từng phần bằng các tham số. Nếu chỉ Seed Database thì dùng tham số DatabaseOnly, ngược lại chỉ cho Index Catalog thì dùng CatalogOnly.

1 nhận xét:

  1. Bài viết hay quá, anh viết thêm bài về các chứng chỉ trong exchange 2013 đi, các này đọc mà không hiểu.
    anh giải thích yêu cầu của các chứng chỉ và nguyên lý hoạt động của nó, cũng như việc gia hạn các chứng chỉ này. cảm ơn anh nhiều.

    Trả lờiXóa