Quản Trị Mạng - Trong một số phiên bản trước của Exchange Server, chúng ta có thể sử dụng tính năng Recovery Storage Group – RSG, cho phép người sử dụng lưu trữ bản copy của file EDB của Mailbox Database, đồng thời có thể dễ dàng khôi phục từng thành phần mailbox riêng rẽ hoặc một số yếu tố có liên quan khác như mail, calendar hoặc contact. Còn trong Exchange 2010, chúng ta không thể sử dụng Storage Groups, và do vậy cũng không còn tính năng Recovery Storage Group, và thay vào đó là Recovery Database, nhưng tính năng này lại chỉ được kết hợp trên mỗi server tại 1 thời điểm nhất định. Phần Mailbox Databases tuy không được kết nối tới server, nhưng chúng lại được kết hợp trên bất kỳ nền tảng server nào tương tự như với Exchange Organisation. Trong bài viết trước, chúng ta đã cùng nhau thảo luận về cách thức sử dụng tiện ích Windows Backup Utility để sao lưu file EDB và LOG, và lần này, chúng ta sẽ tiếp tục với việc tìm hiểu cách sử dụng tính năng này để khôi phục file EDB với toàn bộ phần nội dung bên trong. Cụ thể, quá trình thử nghiệm của chúng ta sẽ chia làm 4 bước sau:
- Khôi phục file EDB và LOG
- Tạo Recovery Database từ file EDB
- Sử dụng công cụ ESEUTIL để ghi lại thông tin từ file log
- Khôi phục các thành phần mailbox hoặc mail
Khôi phục file EDB và LOG:
Trước tiên, các bạn khởi động tiện ích Windows Server Backup (Start > Administrative Tools), trong phần cửa sổ điều khiển bên phải, chúng ta sẽ chọn Recover. Tại cửa sổ hiển thị đầu tiên, chọn nơi lưu trữ phần sao lưu như hình dưới, nếu người dùng có file sao lưu được lưu trữ trên phân vùng ổ cứng khác của server thì chọn This Server, còn nếu không thì chọn phần dưới – Backup stored on another location. Sau đó nhấn Next:
Tiếp theo, hệ thống sẽ hỏi chính xác thư mục lưu trữ, các bạn chọn theo phương án trên rồi nhấn Next;
Tại màn hình tiếp theo, chúng ta phải cung cấp thêm thông tin cụ thể về nơi lưu trữ phần dữ liệu sao lưu. Tất nhiên, tùy vào phương án đã chọn bên trên mà phần tùy chọn tại đây cũng khác. Bước tiếp theo là chọn ngày tháng để khôi phục (như hình dưới) từ tùy chọn theo hệ thống Calendar, nhấn Next khi hoàn tất:
Chọn tiếp file hoặc thư mục theo lựa chọn tại màn hình tiếp theo (tại bước này, chúng ta chưa thực sự cần khôi phục toàn bộ) và tiếp tục nhấn Next. Hệ thống sẽ hiển thị danh sách file và thư mục như hình dưới:
Sau khi chọn lựa, chúng ta chỉ việc nhấn Next, phần tiếp theo của quá trình sẽ hỏi người dùng nơi lưu trữ dữ liệu. Khi kết thúc, nhấn nút Recover.
Tạo Recovery Database từ file EDB:
Khi hoàn tất việc khôi phục file EDB và LOG, chúng ta sẽ tiếp tục chuyển sang quá trình tạo Recovery Database. Toàn bộ việc này chỉ có thể được thực hiện bằng cách sử dụng Exchange Management Shell. Trong bài thử nghiệm này, chúng ta sẽ sử dụng những thông tin như dưới đây:
- Servername là WIN2008R2 (phải là Exchange Server trong Mailbox Role)
- File EDB và Log được lưu trữ trong thư mục C:\EDBRestore\
- Tên file EDB là Mailbox Database 2012387847.edb
- Tên Recovery Database sẽ được thay đổi thành RecoveryDatabase1
Sau đó, chúng ta gõ lệnh sau trong Exchange Management Shell:
New-MailboxDatabase -Recovery -Name “RecoveryDatabase1” -Server WIN2008R2 -EdbFilePath “C:\EDBRestore\Mailbox Database 1.edb" -LogFolderPath "C:\EDBRestore"
Và kết quả tại bước này, hệ thống sẽ hiển thị như sau:
Câu lệnh trên đã tạo thành công Recovery Database, người sử dụng có thể xác nhận kết quả của bước này bằng cách sử dụng lệnh sau từ Exchange Management Shell:
Get-MailboxDatabase
Khi hệ thống hiển thị như hình dưới:
Chúng ta có thể dễ dàng thấy rằng thành phần RecoveryDatabase1 đã được liệt kê trong danh sách với giá trị True bên dưới cột Recovery, có nghĩa là phần cơ sở dữ liệu khôi phục đã được tạo thành công. Bước cần thực hiện tiếp theo khá đơn giản, đó là ghi lại thông tin từ bất cứ file log nào trong hệ thống.
Sử dụng ESEUTIL để ghi lại thông tin từ file log:
Về bản chất, file EDB vừa được khôi phục bên trên không chứa bất kỳ dữ liệu nào trong file log của cơ sở dữ liệu chính sau khi chúng ta thực hiện quá trình sao lưu. Và tại bước này, các bạn sẽ phải cần tới 1 tiện ích hỗ trợ – ESEUTIL, vốn vẫn được giữ nguyên từ phiên bản Exchange Server 2000 cho tới nay. Cụ thể hơn, chúng ta cần biết chính xác số thứ tự của file log trước khi dùng ESEUTIL. Để thực hiện quá trình này, chọn thư mục vừa khôi phục file EDB và Log (trong bài thử nghiệm này là C:\EDBRestore), tìm file bắt đầu với ký tự E và 2 số tiếp theo đằng sau, cuối cùng là phần đuôi mở rộng *.chk (ví dụ E00.chk) – hay còn gọi là file checkpoint, hoặc file working log.
Giả sử rằng file checkpoint của chúng ta được gọi là E00.chk, tiếp theo sẽ phải sử dụng lệnh phù hợp để lấy thông tin từ file log trong Exchange Management Console:
Cd \ <enter>
CD EDBRestore
ESEUTIL /R E00 /I /D
Câu lệnh trên sẽ thực hiện quá trình ghi lại dữ liệu mà chúng ta vừa khôi phục từ quá trình sao lưu vào cơ sở dữ liệu. Và phần cuối cùng của toàn bộ quá trình này là kết hợp Recovery Database:
Mount-Database RecoveryDatabase1
Khi này, chúng ta đã sẵn sàng để khôi phục lại những phần dữ liệu theo yêu cầu.
Khôi phục các thành phần mailbox hoặc mail:
Không giống như một số phiên bản trước của Exchange, chúng ta sẽ không có bất cứ phần điều khiền nào có giao diện đồ họa cho từng tiến trình cụ thể. Để thực hiện quá trình khôi phục mail, chúng ta cần phải sử dụng Exchange Management Shell.
Ví dụ, chúng ta có 1 tài khoản tên là mark_wills, và anh ta vừa xóa đi toàn bộ phần nội dung của mailbox, nhiệm vụ của chúng ta tại đây là hỗ trợ Mark khôi phục lại những dữ liệu đó. Khi hệ thống được thiết lập theo mô hình trên, toàn bộ phần mailbox của mark_wills sẽ nằm trong Recovery Database, và chúng ta chỉ cần sử dụng Exchange Management Shell và gõ lệnh sau:
Restore-Mailbox -Identity mark_wills -RecoveryDatabase RecoveryDatabase1
Câu lệnh trên sẽ thực hiện thao tác khôi phục dữ liệu mailbox của tài khoản mark_wills từ cơ sở dữ liệu có tên là RecoveryDatabase1 tới phần mailbox trong cơ sở dữ liệu hiện tại (tất nhiên là phần mailbox gốc phải được giữ nguyên hiện trạng). Việc tiếp theo là khôi phục mailbox của mark_wills từ Recovery Database và đặt vào trong 1 thư mục mark_wills Recovery bên trong 1 mailbox khác có tên là tigermatt:
Restore-Mailbox -Identity tigermatt -RecoveryDatabase RecoveryDatabase1 -RecoveryMailbox mark_wills -TargetFolder “mark_wills Recovery”
Bên cạnh đó, chúng ta còn có thể tìm kiếm từ khóa bên trong mailbox. Cụ thể tại bài thử nghiệm này, chúng tôi tiến hành tìm bất cứ tin nhắn nào có chứa demazter và lưu trữ tất cả trong 1 thư mục khác - mark_wills recovery with demazter text, đặt bên trong 1 mailbox alanhardisty khác:
Restore-Mailbox -Identity alanhardisty -RecoveryDatabase RecoveryDatabase1 -RecoveryMailbox mark_wills -SubjectKeywords "demazter" –TargetFolder “mark_wills recovery with demazter”
Chúc các bạn thành công!