Chuyển mailbox trong Exchange 2007 thông qua Exchange Management Console (Phần 2)

Chuyển mailbox trong Exchange 2007 thông qua Exchange Management Console (Phần 1)

Neil Hobson

Trong phần 1 của bài báo này, chúng tôi đã giới thiệu về tiện ích Move Mailbox có trong Exchange Management Console cũng như các bản ghi sự kiện khác được ghi khi các mailbox được chuyển trong Exchange 2007. Tuy tiện ích Move Mailbox cung cấp một giao diện đơn giản để thực hiện công việc chuyển mailbox giữa các cơ sở dữ liệu và máy chủ nhưng nó vẫn thiếu một số các thiết lập thông thường mà các quản trị viên cần tới. Các tham số báo cáo này có thể thu được bằng cách sử dụng Exchange Management Shell để chuyển các mailbox. Cuối phần hai của bài này chúng tôi sẽ giới thiệu cho các bạn một số tham số chính có thể sử dụng. Bây giờ, chúng ta hãy quan sát các file bản ghi được tạo ra bởi quá trình chuyển mailbox.

Các file bản ghi của Move Mailbox

Quá trình chuyển mailbox của Exchange 2007 sinh ra một số file XML và LOG mỗi khi một lần chuyển được thực hiện. Bạn có thể tìm các file này trong thư mục mặc định \Program Files\Microsoft\Exchange Server\Logging\MigrationLogs, xem hình 14.


Hình 14: Các file bản ghi của Exchange 2007 Move Mailbox

Cả hai loại file này đều có các thông tin về quá trình chuyển mailbox vừa mới được thực hiện. Các ví dụ về file .log và .xml được thể hiện trong hình 15 và 16.


Hình 15: Nội dung các file bản ghi


Hình 16: Nội dung các file XML

Việc đọc các file bản ghi hoàn toàn dễ dàng hơn file XML trong định dạng thô vì đây không luôn là thứ đơn giản nhất để thực hiện. Một câu trả lời cho vấn đề đó là áp dụng một style sheet. Chúng tôi sẽ giới thiệu lại về Exchange 2003 một chút để có thể chỉ ra cho bạn một ví dụ về trường hợp này. Quá trình chuyển mailbox của Exchange 2003 sinh ra các file XML theo kiểu tương tự như quá trình thực hiện trong Exchange 2007. Exchange Server 2003 SDK (có thể download được ở đây) có một XSLT style sheet mà bạn có thể sử dụng để thay đổi cách xem file XML được sinh ra trong quá trình chuyển mailbox. Vấn đề này sẽ cho bạn có được ý tưởng về những gì có thể làm với style sheet. Rõ ràng style sheet đã cung cấp SDK chỉ làm việc với các file XML của Exchange 2003, chính vì vậy bạn sẽ cần phải tự tạo cho chính bản thân mình các file XML của Exchange 2007, hoặc có lẽ một style sheet tương tự sẽ được phát hành bởi Microsoft. Nếu download và cài đặt Exchange Server 2003 SDK bạn sẽ tìm thấy style sheet với tên gọi là TaskWizardRun.xslt ở phía dưới thư mục mặc định \Program Files\Exchange SDK\SDK\Samples\TaskWizard. Để áp dụng style sheet cho file XML, tất cả những gì bạn cần thực hiện là thay đổi file XML. Ví dụ, hình 17 minh chứng về file XML của Exchange 2003 gốc đã được mở trong Notepad.


Hình 17: File XML của Exchange 2003 trong Notepad

Chú ý ở dòng thứ hai được bắt đầu với <taskWizardRun. Để áp dụng style sheet, bạn chỉ cần thêm dòng sau vào trước dòng “taskWizardRun”:

<?xml-stylesheet type="text/xsl" href="TaskWizardRun.xslt"?>

File XML cuối cùng sẽ giống như file được thể hiện trong hình 18, với phần văn bản được bổ sung đã được đánh dấu.


Hình 18: File XML của Exchange 2003 đã được thay đổi

Điều này có nghĩa rằng, khi mở file XML trong Internet Explorer, nó sẽ giống như ví dụ hiển thị trong hình 19. Hãy xem xem bạn có gây ra một lỗi chính tả nào đó không với style sheet.


Hình 19: File XML của Exchange 2003 với style sheet

Chuyển Mailbox thông qua Exchange Management Shell

Khi sử dụng Exchange Management Shell để chuyển mailbox, cmdlet để sử dụng là Move-Mailbox cmdlet. Khi sử dụng cmdlet này, có nhiều tham số được cung cấp cho quản trị viên Exchange mà không được cung cấp trong Exchange Management Console. Trong phần cuối của bài này, chúng tôi sẽ giới thiệu một số tham số thú vị để bạn có thể tham khảo và sử dụng.

Đầu tiên, chúng ta hãy xem xét đến vấn đề chuyển đơn giản một mailbox từ máy chủ Exchange 2003 sang máy chủ Exchange 2007 trong cùng một forest. Trong định dạng cơ bản của nó, cmdlet để thực hiện nhiệm vụ này cho mailbox của User3 là:

Move-Mailbox User3 –TargetDatabase “E2K7\First Storage Group\Mailbox Database” –Confirm:$false

Rõ ràng, tham số chính ở đây làTargetDatabase, tham số này trong ví dụ trên được cấu hình để chuyển mailbox đến một cơ sở dữ liệu mailbox khác có tên là Mailbox Database bên trong nhóm lưu trữ có tên gọi là First Storage Group trên máy chủ Exchange 2007 có tên gọi là E2K7. Nếu thực thi cmdlet này thì bạn sẽ thấy được trạng thái của hoạt động khi nó tiến hành thông qua các thư mục và chuyển các thư tín qua đó. Vấn đề này được thể hiện rất rõ trong hình 20. Lưu ý việc sử dụng tham số –Confirm:$false, đây là tham số để bảo đảm cho bạn không bị nhắc nhở hỏi có chắc chắn không ‘Are you sure?’ trước khi mailbox được chuyển một cách thực sự.


Hình 20: Mailbox đang được chuyển thông qua Management Shell

Tham số –ValidateOnly là một tham số rất hữu dụng nếu bạn muốn xem mailbox nào có thể được chuyển mà không cần chuyển nó. Trong hình 21, bạn có thể thấy được chạy Move-Mailbox cmdlet với tham số –ValidateOnly, thuộc tính Status Message được thể hiện là “This mailbox can be moved to the target database" (Mailbox này có thể được chuyển đến cơ sở dữ liệu mục tiêu).


Hình 21: Các kết quả thu được từ tham số ValidateOnly

Sau một chuyển rời mailbox thành công, thuộc tính Status Message sẽ được thiết lập là “This mailbox has been moved to the target database” (Mailbox này đã được chuyển đến cơ sở dữ liệu mục tiêu).

Bạn cần biết rằng tiện ích Move Mailbox chạy từ bên trong Exchange Management Console là đa luồng và bị hạn chế ở con số luồng tối đa là 4. Bạn có thể tăng số luồng này nếu sử dụng Exchange Management Shell để chuyển các mailbox. Tham số cụ thể mà bạn cần sử dụng là tham số –MaxThreads, tham số này có giá trị lớn nhất là 30. Tuy vậy, trước khi bạn thiết lập tham số này đạt giá trị lớn nhất (30), bạn hãy cân nhắc về hiện tượng tắc nghẽn cổ chai sẽ thế nào nếu thực hiện điều đó và do đó lợi ích thu được của bạn sẽ như thế nào.

Bây giờ chúng ta hãy xem xét đến trường hợp bạn muốn chuyển tất cả các mailbox trên kho lưu trữ mailbox mặc định của một máy chủ Exchange 2003 có tên DCEXCH đến máy chủ Exchange 2007 server có tên E2K7. Tên kho lưu trữ mailbox trên máy chủ Exchange 2003 trong ví dụ này là Mailbox Store (DCEXCH). Trong trường hợp này, chúng tôi muốn chuyển 10 mailbox đồng thời cùng một lúc. Cmdlet để thực hiện sẽ là:

Get-Mailbox –Database “DCEXCH\First Storage Group\Mailbox Store (DCEXCH)” | Move-Mailbox –TargetDatabase “E2K7\First Storage Group\Mailbox Database” –MaxThreads 10

Phần đầu sử dụng Get-Mailbox cmdlet để lấy lại tất cả các mailbox đã được lưu trữ trên cơ sở dữ liệu của máy chủ Exchange 2003. Vấn đề này được cho phép bởi Move-Mailbox cmdlet, tuy nhiên lưu ý thêm về tham số –MaxThreads 10 ở phần cuối. Kết quả thu được của quá trình thực hiện được thể hiện trong hình 22.


Hình 22: Việc chuyển tới hơn 4 mailbox đồng thời

Như đã nói từ trước, trong bài này chúng tôi đã mô tả chi tiết các file XML được sinh ra khi các mailbox được chuyển và vị trí mặc định của các file này là thư mục \Program Files\Microsoft\Exchange Server\Logging\MigrationLogs. Nếu bạn muốn thay đổi vị trí của file bản ghi XML thì có thể thực hiện được với Exchange Management Shell thông qua tham số –ReportFile. Lưu ý rằng bạn cần phải gộp cả đường dẫn đầy đủ và tên file trong tham số đó. Nếu tên thư mục đó không tồn tại thì nó sẽ được tạo mới. Một ví dụ về cmdlet trong chuyển mailbox của User3 và ghi các kết quả chuyển vào C:\MigLogs\mailboxes.xml là:

Move-Mailbox User3 –TargetDatabase “E2K7\First Storage Group\Mailbox Database” –ReportFile C:\MigLogs\mailboxes.xml –Confirm:$false

Cuối cùng, bạn có thể nhớ từ phần một của bài là tiện ích Move Mailbox có trong Exchange Management Console cho phép có thể chỉ định số các mục bị sửa đổi mà bạn sẽ bị ảnh hưởng khi chuyển mailbox. Rõ ràng thiết lập như vậy cũng tồn tại bên trong Exchange Management Shell dưới biểu mẫu tham số –BadItemLimit. Chúng tôi cũng đã nói trong phần một của bài về giá trị lớn nhất mà bạn có thể đặt là 2,147,483,647, Giá trị tối thiểu là 0.

Kết luận

Trong phần kết luận của phần một, chúng tôi đã nói rằng việc chuyển các mailbox thông qua Exchange Management Console có thể được thực hiện một cách khá dễ dàng. Bên cạnh đó việc tiến hành chuyển trên Exchange Management Shell cũng thực sự không có gì phức tạp và không có gì làm chúng ta phải nghi ngờ rằng việc sử dụng Shell sẽ được ưu tiên hơn bởi nhiều quản trị viên do các tùy chọn cấu hình mở rộng được cung cấp bên trong nó.

Thứ Hai, 04/02/2008 10:10
31 👨 937
0 Bình luận
Sắp xếp theo