Windows User State Virtualization – Phần 4: Môi trường phức hợp

Quản trị mạng Trong phần tiếp theo của loạt bài này, chúng tôi sẽ giới thiệu cho các bạn những suy xét và các chiến lược thực thi USV trong các môi trường phức hợp.

Việc thiết kế một chiến lược User State Virtualization cho môi trường phức hợp đã đặt ra một số thách thức khác nhau. Môi trường phức hợp được nói ở đây gồm có:

  • Các phiên bản Windows khác nhau, chẳng hạn như Windows 7, Windows Vista và Windows XP được cài đặt trên các máy tính khác nhau.
  • Các phiên bản kiến trúc khác nhau của cùng một phiên bản Windows, chẳng hạn như Windows 7 x86 và Windows 7 x64 trên các máy tính khác nhau.
  • Các phiên bản khác nhau của ứng dụng, chẳng hạn như Office 2010, Office 2007 và Office 2003 trên các máy tính khác nhau.
  • Các phiên bản kiến trúc khác nhau của cùng một ứng dụng, chẳng hạn như Office 2010 x86 và Office 2010 x64 trên các máy tính khác nhau.

Trong phần này chúng tôi sẽ đề cập đến các vấn đề có thể phát sinh khi lên kế hoạch các giải pháp USV cho các môi trường phức hợp và giới thiệu các cách thức tốt nhất để thiết kế và thực thi các giải pháp như vậy.

Kế hoạch USV cho các phiên bản Windows phức hợp

Như đã được giới thiệu trong phần đầu tiên của loạt bài, Windows Vista có một user profile “v.2” mới, một cấu trúc thư mục dẹt có thể tách riêng dữ liệu người dùng và các thiết lập tốt hơn so với những gì trước đây được thực hiện trong Windows XP. Kết quả của thay đổi này là các user profile cũ trong Windows XP không có khả năng tương thích với các profile v.2 mới của Windows Vista. Điều này có nghĩa bạn không thể sử dụng Roaming User Profiles (RUP) làm giải pháp cho việc roaming giữa các máy tính đang chạy Windows Vista và Windows XP. Nếu bạn cố gắng thực thi RUP trong môi trường XP/Vista, khi người dùng thực hiện việc roaming giữa hai phiên bản hệ điều hành sẽ nhận được hai profile riêng biệt trong máy chủ RUP, một profile cho các máy tính XP và một cho các máy tính Vista.

Không có thay đổi nào được thực hiện đối với user profile trong Windows 7 và cấu trúc user profile trong Windows 7 hoàn toàn giống với những gì có trong Windows Vista. Điều này có nghĩa bạn có thể sử dụng RUP nhằm cho phép người dùng roaming giữa các máy tính Windows 7 và Windows Vista, không thể sử dụng RUP để roaming giữa các máy tính Windows 7 và Windows XP.

Nếu người dùng cần roam giữa các máy tính đang chạy Windows XP và các máy tính chạy các phiên bản Windows gần đây hơn, bạn có thể sử dụng Folder Redirection (FR) với Offline Files (OF) để redirect thư mục Documents và các thư mục khác, nơi người dùng lưu dữ liệu có liên quan đến công việc. Điều này cho phép dữ liệu người dùng có thể truy cập từ các máy tính khác đang chạy các phiên bản Windows bất kỳ. Mặc dù vậy bạn vẫn không thể roaming các thiết lập người dùng vì chúng cư trú trong cả thư mục AppData\Roaming và trong file Ntuser.dat (registry HKCU) trong đường dẫn gốc profile của người dùng. Do RUP không được sử dụng trong kịch bản này và do AppData\Roaming cũng không bao giờ được redirect trừ khi bạn cũng sử dụng RUP, điều này có nghĩa chỉ dữ liệu người dùng có thể được roam trong kịch bản này, còn các thiết lập thì không. Bảng 1 tóm tắt một chiến lược USV cho các môi trường phức hợp đang có các phiên bản Windows khác nhau trên các máy tính khác nhau.

Phiên bản Window

RUP

FR và OF

XP và Win7

No

Yes (Chỉ các thư mục dữ liệu)

XP và Vista

No

Yes (Chỉ các thư mục dữ liệu)

Vista và Win7

Yes

Yes

Bảng 1: Chiến lược USV cho môi trường phức hợp có các phiên bản Windows khác nhau trên các máy tính khác nhau.

Nếu có kế hoạch thực hiện FR trong môi trường có lẫn XP và Windows 7 (hoặc lẫn giữa XP và Vista), và cần phải redirect các thư mục Pictures, Music hoặc Videos, bạn cần chọn tùy chọn Follow The Documents Folder tên tab Target trong chính sách chuyển hướng cho các thư mục này (xem trong hình 1). Thiết lập này sẽ làm cho các thư mục được chuyển hướng như các thư mục con bên trong thư mục Documents (như trong XP) thay vì các thư mục ngang hàng với thư mục Documents (như trong Vista và phiên bản mới hơn) và làm cho các thư mục này kế thừa các thiết lập chuyển hướng của chúng từ thư mục Documents thay vì phải cấu hình trên bản thân các thư mục. Mặc dù vậy không nên thực hiện điều này trừ khi người dùng của bạn vẫn cần truy cập vào các thư mục dữ liệu của họ từ cá máy tính đang chạy Windows XP, lý do ở đây là việc chọn tùy chọn này sẽ làm thay đổi cấu trúc profile người dùng. Nếu người dùng chỉ cần truy cập dữ liệu đã được chuyển hướng từ các máy tính đang chạy Windows Vista hoặc phiên bản mới hơn, không cần chọn Follow The Documents Folder khi chuyển hướng các thư mục Pictures, Music hoặc Videos. Trong bất cứ tình huống nào, không nên chuyển hướng tất cả các thư mục riêng biệt này trừ khi có một nhu cầu nào đó cho việc chuyển hướng chúng (chẳng hạn như tập trung backup gì đó).

Hình 1: Cấu hình chuyển hướng thư mục Pictures đi theo Documents

Một cách làm khác, thay vì chọn Follow The Documents Folder riêng cho các thư mục Pictures, Music và Videos, bạn có thể thực hiện chọn Also Apply Redirection Policy To Windows 2000, Windows 2000 Server, Windows XP and Windows Server 2003 Operating Systems trên tab Settings như những gì thể hiện trong hình 2 vì tùy chọn này sẽ cấu hình tự động các thư mục Pictures, Music và Videos đi theo thư mục Documents.


Hình 2: Kích hoạt các thiết lập làm cho Pictures, Music và Videos đi theo Documents.

Kế hoạch USV cho các kiến trúc Windows phức hợp

Bắt đầu với Windows Vista, đã xuất hiện hai kiến trúc phần cứng cho các nền tảng Windows: x86 (32-bit) và x64 (64-bit). Phiên bản x64 cho Windows XP trước đây cũng được phát hành nhưng chưa được triển khai rộng rãi do thiếu sự hỗ trợ driver thiết bị, vì vậy chúng ta không cần xem xét đến Windows XP x64 trong loạt bài này.

Bên dưới cấu trúc thư mục user profile của Windows 7 x86 (hoặc Windows Vista x86) và Windows 7 x64 (hoặc Windows Vista x64) là hoàn toàn giống nhau nhưng chúng có nhiều điểm khác nhau trong cách registry được cấu trúc. Đặc biệt, registry x64 cũng bao gồm cấu trúc registry của x86 nhưng điều ngược lại không đúng – registry trên Windows x86 không bao gồm bất kỳ cấu trúc registry của x64 nào. Một vấn đề khác nữa là location của một số chương trình được lưu trong registry bằng đường dẫn tĩnh, chẳng hạn như C:\Program Files hoặc C:\Program Files (x86), và điều này có nghĩa rằng khi bạn roaming giữa các máy tính 32-bit và 64-bit, các mục registry này sẽ gây ra vấn đề. Kết quả của sự khác nhau này là bạn không thể sử dụng RUP để roaming người dùng giữa các máy tính đang chạy Windows 7 x86 (hoặc Windows Vista x86) và các máy tính đang chạy Windows 7 x64 (hoặc Windows Vista x64).

Mặc dù vậy nếu người dùng cần roaming giữa các máy tính đang chạy phiên bản Windows x86 và x64, bạn cần sử dụng RF với OF để chuyển hướng thư mục Documents và các thư mục khác nhằm cho phép người dùng có thể truy cập dữ liệu có liên quan đến công việc từ các máy tính đang chạy các phiên bản Windows x86 và x64. Mặc dù vậy bạn không thể roaming các thiết lập người dùng vì các thiết lập người dùng trong HKCU trên một máy tính đang chạy phiên bản Windows x64 không tương thích với các thiết lập người dùng trong HKCU trên máy tính x86. Bảng 2 tóm tắt một chiến lược USV cho các môi trường phức hợp có lẫn các phiên bản Windows x86 và x64.

Kiến trúc hệ điều hành

RUP

FR với OF

Win7 x86 và Win7 x64

No

Yes (chỉ các thư mục dữ liệu)

Vista x86 và Vista x64

No

Yes (chỉ các thư mục dữ liệu)

Bảng 2: Chiến lược USV cho môi trường có lẫn các phiên bản Windows x86 và x64

Kế hoạch USV cho các phiên bản và kiến trúc ứng dụng phức hợp

Những vấn đề liên quan đến các ứng dụng trong môi trường roaming cũng giống như các vấn đề có liên quan đến các phiên bản Windows. Cho ví dụ, giả sử rằng bạn có cài đặt hệ điều hành Windows Vista trên một số máy tính và Windows 7 trên các máy tính khác. Bạn cũng cài đặt phiên bản N của một ứng dụng nào đó trên các máy tính Vista, nhưng trên Windows 7 lại cài đặt phiên bản N+1 của ứng dụng này. Nếu cần thực thi RUP hoặc FR/OF trong môi trường như vậy, người dùng của bạn sẽ trải nghiệm vấn các vấn đề khi họ làm việc với ứng dụng này.

Chắc chắn một điều rằng phiên bản mới của một ứng dụng nào đó sẽ có nhiều tính năng hơn phiên bản cũ của nó, và các tính năng mới chắc chắn sẽ có các thiết lập registry theo người dùng và chắc chắn các thiết lập người dùng mới được lưu dưới dạng file bên trong thư mục AppData\Roaming. Vậy điều gì sẽ xảy ra khi các thiết lập registry hoặc các file nằm trong thư mục AppData\Roaming được sử dụng cho phiên bản mới của ứng dụng lại được load bởi phiên bản cũ của nó? Không ai biết câu trả lời! Chỉ có một cách bạn có thể là test kịch bản trước khi triển khai giải pháp USV của mình trong môi trường thực. Bằng không người dùng có thể sẽ gặp phải các ứng dụng nào đó bị đổ vỡ hoặc bị treo không mong đợi, hoặc hành xử lạ lùng theo những cách không thể dự đoán. Một kịch bản như vậy có thể làm cho người dùng mất dữ liệu hoặc làm cho dữ liệu có thể bị lỗi. Vậy cách tốt nhất ở đây là sử dụng cùng một phiên bản ứng dụng.

Vấn đề này thậm chí còn đúng hơn với các phiên bản kiến trúc khác nhau (x86 hoặc x64) của các ứng dụng. Cho ví dụ, giả sử bạn cài đặt phiên bản ứng dụng x64 trên các máy tính Windows 7 x64 và phiên bản x86 của ứng dụng trên các máy tính Windows Vista x64. Các kiến trúc hệ điều hành đều là x64 và hỗ trợ cho kịch bản RUP, tuy nhiên các phiên bản x86 và x64 của ứng dụng lại lưu trữ các thiết lập của chúng trong các địa điểm khác nhau của HKCU và thậm chí khác cả về thư mục và file trong thư mục AppData\Roaming. Điều này gây ra cùng một kiểu lỗi, hành vi không dự đoán có thể xuất hiện nếu người dùng cố gắng làm việc trên cùng một file dữ liệu từ một máy tính đang chạy phiên bản x86 của ứng dụng và sau đó sử dụng nó trên máy tính thứ hai chạy phiên bản x64. Thậm chí tồi tệ hơn, file dữ liệu đang làm việc trên có thể bị lỗi. Cách tốt nhất để tránh điều này là chuẩn hóa tất cả các máy tính trên cùng một phiên bản x86 hoặc x64 của ứng dụng. Bảng 3 dưới đây có tóm tắt chiến lược USV cho các môi trường phức hợp chạy nhiều kiến trúc, phiên bản khác nhau của ứng dụng trên các máy tính khác nhau.

Kiến trúc và phiên bản ứng dụng

RUP

FR với OF

Nhiều phiên bản của cùng một ứng dụng

Để an toàn – không sử dụng RUP

Yes (Chỉ các thư mục dữ liệu)

Cả phiên bản x86 và x64 của cùng một ứng dụng

Để an toàn – không sử dụng RUP

Yes (Chỉ các thư mục dữ liệu)

Bảng 3: Chiếc lược USV cho môi trường phức hợp có các kiến trúc và phiên bản ứng dụng khác nhau trên các máy tính khác nhau

Nếu có nhu cầu cần cung cấp cho người dùng với nhiều phiên bản ứng dụng hoặc thậm chí nhiều phiên bản kiến trúc khác nhau của ứng dụng, bạn có thể xem xét thực thi một trong các giải pháp ảo hóa ứng dụng.

Kết luận

Điểm mấu chốt trong các môi trường phức hợp (có các phiên bản, kiến trúc ứng dụng và Windows khác nhau) là giữ mọi thứ đơn giản và thực hiện những gì an toàn nhất. Chiến lược USV thực sự là ảo hóa các thư mục dữ liệu người dùng giống như Documents (cũng như các thư mục khác như Desktop, Pictures,…) và bạn nên sử dụng FR cùng với OF để dữ liệu có sẵn đối với người dùng khi họ đăng nhập từ bất cứ máy tính nào. Không nên ảo hóa các thiết lập người dùng bằng RUP hoặc chuyển hướng (redirect) thư mục AppData\Roaming. Nếu có thể, chỉ ảo hóa một kiến trúc hoặc một phiên bản nào đó của mỗi một ứng dụng.

Thứ Hai, 15/11/2010 10:40
31 👨 832
0 Bình luận
Sắp xếp theo