IP:18.188.97.200

Máy tính
Kiến thức cơ bản
Mạng & Internet
Tin học văn phòng
Bảo mật & AntiVirus
Tiện ích - Hệ thống
Lập trình - Cơ sở dữ liệu
Đồ họa & Multimedia
Thử nghiệm - Đánh giá
Kỹ thuật phần cứng




Tự động triển khai host máy ảo
03/09/2009 10:45 AM

Hẳn bạn đã quen thuộc với những lý do chính đáng nên cài đặt một môi trường Hyper-V, nhưng một trong những lý do cụ thể là cách mà Hyper-V làm thuận tiện hơn cho các đánh giá thành phẩm và training trong các lab kiểm tra và những môi trường học tập mà không từ bỏ tính tương thích 64-bit.

Hyper-V chạy ngay cả trên phần cứng c64-bit mức độ cổng vào cung cấp cho bạn một CPU có năng lực và một update BIOS gần đây để hỗ trợ ảo hoá phần cứng. Nó làm bùng nổ việc triển khai các môi trường kiểm tra full-scale dựa trên các phiên bản phần mềm được hỗ trợ, như phiên bản 64-bit của Microsoft Exchange Server 2007. Một khi bạn đã cài đặt triển khai, cũng đơn giản để triển khai lại bất kì lúc nào bạn cần để bắt đầu từ sự hỗn tạp, xem xét một sản phẩm mới hay bắt đầu một session lớp mới.

Ngay cả nếu bạn đang triển khai một môi trường test cho một khác hàng có hai domain controller (DCs), một máy tính chạy SQL Server, hai server đầu cuối SharePoint, một server Exchange 2007 Mailbox, một server Hub Transport, và một server Client Access, hẳn sẽ rất tốn công.

Gải sử bạn có một môi trường lớn hơn, có thể là 600 Virtual Machines (VMs). Bạn có thể tưởng tượng việc cài lại những VM này mỗi tuần hay bất kể khi nào môi trường lab mới là cần thiết không?

Cũng rất cần thiết để tự động những triển khai này, là đây là lúc mà Hyper-V có thể làm nên sự khác biệt. Hyper-V là công nghệ Windows, và bạn có thể kết hợp nó với Windows Management Instrumentation (WMI), Windows PowerShell, Windows Deployment Services (WDS), Windows Automated Installation Kit (AIK), và Windows Preinstallation Environment (Windows PE) 2.0 để kích hoạt triển khai full-scale chỉ trong nháy mắt - hay còn ít hơn mà không cần phải tốn công nhiều. Bạn sẽ thấy thích thú khi nhìn vào màn hình cài đặt và bar quá trình trong khi hệ thống tự triển khai và cấu hình chúng, nhưng bạn không cần phải làm điều này nếu bạn có nhiều việc quan trọng hơn cần phải lo.

Trong bài này, tôi sẽ hướng dẫn bạn các triển khai các server Hyper-V, VM, hệ điều hành guest, và những ứng dụng server mà không cần đến bất kì tác động của quản trị nào dùng WDS, các image tuỳ chỉnh cài đặt, các file unattend.xml, và các script WMI. Ý tưởng là để cấu hfinh trước một môi trường WDS một lần và sau đó cài đặt hệ điều hành test bất kì lúc nào cần, như cài đặt lại hệ điều hành giảng dạy, giải quyết các vấn đề phức tạp trong những giải pháp cấu hình, triển khai và kiểm tra tuỳ chỉnh khác nhau.

Tác động duy nhất cần thiết trong suốt khi cài đặt là nhấn phím F12 để launch Preboot eXecution Environment (PXE), và bạn có thể loại bỏ cả bước này nếu bạn dùng Startrom.n12 tahy vì file boot Startrom.com mặc định trong cấu hfinh WDS của bạn
Những nhiệm vụ còn lại sau đó được WDS, AIK, và WMI xử lý, một khi bạn đã khởi động Hyper-V VMs. Bạn sẽ có tểh tìm các file và script cấu hình của site TechNet Magazine Web tại technet.microsoft.com/magazine/cc135868. Các image thật sự cài đặt không được tính vào, vì chúng quá lớn, nhưng bạn có thể adapt những file đồng hành đến môi trường lab của riêng bạn.

Cấu trúc triển khai

Lõi của cấu trúc triển khai lab của tôi là server WDS chạy Active Directory Domain Services (AD DS), Domain Name System (DNS), Dynamic Host Configuration Protocol (DHCP), và tất nhiên là WDS. Để tiện cho việc quản trị, tôi cũng cài đặt AIK và các công cụ Hyper-V cho việc quản trị từ xa trên server này. Như vậy là đủ để sẵn sàng để triển khai Hyper-V một cách hiệu quả. Bạn có thể đưa thêm các server WDS nếu có tính sẵn có cao mặc dù sự phong phú cũng quan trọng với bạn. Các máy tính vật lý còn lại là các server Hyper-V, được triển khai thông qua WDS và host VM hình thành nên môi trường test thật sự, như hình 1.

 
Hình 1 Môi trường lab full-scale dựa trên Hyper-V và các máy ảo

Triển khai Hyper-V dựa trên WDS

Một trong những ưu điểm của triển khai WDS cho Hyper-V là WDS đơn giản hoá update cài đặt media Windows Server 2008, nó cần thiết bởi vì media ban đầu chỉ chứa một phiên bản tiền ra mắt của Hyper-V. Phiên bản được ra mắt thật sự có sẵn là một update tách biệt trên Microsoft Download Center.

Ngắn gọn, bạn cần thực hiện những bước sau: Triển khai Windows Server 2008 trên một máy tính reference, update các cài đặt bằng những file Hyper-V mới nhất, cài đặt Hyper-V, dùng Sysprep.exe để khái quát hoá cài đặt, capture và upload image cài đặt khái quát hoá đến server WDS, sau đó tự động triển khai mặc định Hyper-V cho tất cả các host trong cáu trúc vật lý. Tôi thích dùng Windows Server 2008 Server Core cho Hyper-V vì các server Hyper-V của tôi được dành riêng để host các VM và Server Core offer một footprint hệ điều hành nhỏ cũng như bảo mật, đảm bả, và những ưu điểm quản lý. Để capture các image cài đặt, tôi dùng WDS.

Cài đặt Hyper-V mặc định dựa trên WDS là việc dễ dàng, nhưng cấu hình không được quan tâm cũng không hoàn toàn không có khó khăn. Vấn đề là bạn cần chạy Sysprep.exe để khái quát hoá cài đặt tham khảo trước khi capture và upload image cài đặt, bấy giờ Sysprep.exe remove thông tin cấu hình quan trọng từ image Hyper-V được khái quát.
Ngoài ra, Sysprep.exe khái quát hoá Boot Configuration Data (BCD) và remove hypervisor launch chỉ dẫn từ store BCD. BCD được hỗ trợ thành firmware độc lập, nhưng không phải là trường hợp của Hyper-V. Hypervisor phụ thuộc vào khả năng ảo hoá của các phần cứng nằm bên dưới và BIOS, nên hypervisor launch trực tiếp phải đi qua để khái quát hoá image cài đặt. Cũng có thể thay đổi store BCD offline sau khi khái quát hoá Sysprep, nhưng đó không phải là giải pháp.

Nếu bạn mount image cài đặt dùng ImageX.exe (một công cụ có trong AIK), bạn có thể re-enter launch chỉ dẫn bằng cách sử dụng BCDEdit.exe; tuy nhiên, Windows Setup remove chỉ dẫn này trong suốt giai đoạn khái quát của lộ trình cài đặt thông thường. Bạn lại quay về như ban đầu.

Mẹo nằm ở đây vì bạn cần launch chỉ dẫn để khởi động hypervisor. Không chạy hypervisor, server Hyper-V sẽ không hoạt động. Hình 2 cho thấy một thông báo lỗi khi cố gắng khởi động một VM trên một server Hyper-V, được triển khai bằng cách dùng một image cài đặt tuỳ chỉnh nhưng không có một điều chỉnh của cấu hình boot.

 
Hình 2 Không thể khởi động các máy ảo vì hypervisor không chạy

Một cách để re-enter hypervisor launch chỉ dẫn là add nó bằng tay sau khi cài đặt server bằng cahcs chạy tự động lệnh bcdedit /set hypervisorlaunchtype và restart lại server Hyper-V, nhưng bước thủ công này sẽ là một cản trở cho triển khai test lab không được quản lý. May mắn, AIK có cả Windows System Image Manager, mà bạn có thể tạo một file không quản lý unattend.xml cho image cài đặt mà WDS áp dụng trong suốt cài đặt đến file WDSClientUnattend.xml riêng của nó. Trong file unattend.xml này, bạn có thể xác định Setup nên tự động đăng nhập vào Windows với credential quản trị được client WDS áp dụng và sau đó chạy một script insert chỉ vẫn launch hypervisor quay lại store BCD và sau đó restart server.

Hình 3 mô tả cách tiếp cận chung, và nguyên liệu đi kèm có trong phiên bản đầy đủ của file unattend.xml cũng nh script hypervconfig.vbs hoàn chỉnh. Bạn có thể đưa script hypervconfig.vbs trực tiếp vào image cài đặt để nó sẽ available trong suốt cài đặt.

 
Hình 3 Cấu hình lại và khởi động hypervisor

Cấu hình Hyper-V dựa trên WMI

Kích hoạt lại hypervisor không quá khó, nhưng nếu bạn phân tích script hypervconfig.vbs của tôi, bạn sẽ thấy nó chứa không chỉ là 5 dòng code đơn giản. Để launch chỉ dẫn, bạn phải cấu hình toàn bộ môi trường Hyper-V, và đây mới là phần khó nhất của cả quá trình.
Bạn không thể chỉ đơn giản tạo các VM trên hệ thống tham khảo trước khi capture image, đưa chúng vào image cài đặt, và saud dó hi vọng mọi chuyện làm việc sau khi fix chỉ dẫn luanch hypervisor. Tất nhiên, server sẽ có các VM, nhưng sẽ thiếu các phần cứng phụ thuộc.

Khái quát hoá image ngắt các cổng Ethernet của VM của bạn từ card giao diện mạng vật lý (NIC) và các drive pass-thru từ những đĩa cứng nằm bên dưới và các thiết bị CD/DVD. Bạn có thể bỏ qua khái quát hoá, nhưng không nên đứa các VM tiền cài đặt vào một image cài đặt. Các VM tiền cài đặt làm phồng image ghê gớm, các license định giá của các server test được triển khai thậm chí là hết hạn, và các domain Active Directory không có vẻ được thực hiện offline cho những khoảng thời gian mở rọng. Nếu bạn restore một môi trường lab bằng cách dùng các backup của VM cách đây vài tháng, bạn sẽ có một cơ hội được trải nghiệm vấn đề chứng thực và sao chép Active Directory. Tốt hơn là hãy bắt đầu từng ít một.

Bây giờ hãy phân chia các VM và các tài nguyên tương ứng, như NIC, đĩa cứng, và các drive DVD, trong môi trường Hyper-V trước khi nói đến việc thật sự triển khai lab test. Nhưng bạn có thể đoán, phân chia những tài nguyên ảo này là nghiệm vụ chính của script hypervconfig.vbs.

Cách tiếp cận này khá đơn giản. Script xác định tên của server Hyper-V local và sau đó cấu hfinh một nhóm xác định host của các VM. Mỗi VM nhận hai drive DVD ảo được map đến một file server-specific .iso và một file chung installation .iso. File server-specific .iso tương ứng với DVD boot. Nó chứa tất cả những script và file cấu hình cần thiết cho một cài đặt không được quản lý của một server lab cụ thể.

File cài đặt chung cung cấp media cài đặt thật sự. Chia sẻ file general .iso giữa tất cả các VM trên một server giúp giữ kích thước của image cài đặt Hyper-V ở mức vừa phải dưới sự kiểm soát. Bạn có thể đặt file .iso trên một server mạng, nhưng một cách khác là bạn phải copy các file đến server để cài đặt, nên tôi quyết định include chúng trực tiếp trong image cài đặt. Theo cách này, bạn sẽ có sẵn các file .iso local khi nào cần. Điền này có thể hữu ích, ví dụ, khi cài đặt các thành phần thêm hay cài đặt lại một VM xác định mà không phá hỏng toàn bộ môi trường lab.

Tôi sẽ nói về cài đặt server-specific DVD sau. Còn bây giờ, đầu tiên tôi sẽ tập trung vào cấu hình cấu trúc Hyper-V bằng cách dùng script dựa trên WMI. Như hình 4, có rất nhiều tài nguyên ảo mà bạn phải phân chia, kể cả một switch ảo với các cổng switch internal và external, chính các VM với những card Ethernet, các drive IDE ảo kết nối đến các file đĩa cứng ảo (VHD), và các drive DVD kết nối đến các file .iso cho việc cài đặt của hệ điều hành guesr và các ứng dụng server.

 
Hình 4 Phân chia các tài nguyên ảo cho môi trường lab

Bạn cũng cần điều chỉnh cấu hình auto-start của các VM và thay đổi trật tự boor để dùng drive đĩa ảo đầu tiên, sau đó là drive DVD ảo được kết nối đến file server-specific .iso. Trong cấu hình này, các VM boot từ cài đặt DVD đến khi OS được cài đặt trên đĩa cứng ảo. Tôi tin là các bạn quen thuộc với điều này vì nó là chuẩn cho bất kì máy tính cá nhân nào.
Script hypervconfig.vbs cấu hình các VM để tự khởi động khi máy tính vật lý khởi động, thế nên VM trực tuyến sau khi HypervisorLaunchType reboot, và đó là cách là cài đặt lab khởi đầu. Các VM thậm chí còn boot vào lộ trình Setup của hệ điều hành guest của họ. Đây là mấu chốt cho một triển khai lab không được quản lý.

Phần lớn, cấu hình VM theo sau cũng những nguyên tắc mà bạn quan tâm khi cấu hình các máy tính vật lý với nhiều drive được kết nối đến nhiều controller IDE. Switch ảo, tuy nhiên, lại yêu cầu giải thích rõ hơn vì nó là mấu chốt để kích hoạt các giao tiếp giữa các VM trên cùng server Hyper-V và giữa những VM trên những server tách biệt trong suốt mạng máy tính. Về bản chất, bạn có thể so sánh một switch ảo đến counterpart vật lý của nó. Bạn có thể tạo ra nó bằng cách call phương pháp CreatedVirtualSwitch, nhưng một switch mà không có các cổng thì cũng vô ích.

Để kết nối switch đến một mạng vật lý, bạn phải tạo một cổng switch bằng cách call phương pháp CreateSwitchPort và liên kết cổng này với card mạng Ethernet có sẵn trên server. Bạn có thể kết nối một card mạng vật lý đến chỉ một switch ảo, nhưng bạn có thể có nhiều switch kết nối đến mỗi cái khác trực tiếp hay thông qua các VM đang chạy phần mềm router. Vì mục đích của bài này, môi trường LAN cơ bản mà không có các router mạng là hiệu quả, nên tôi cấu hình một switch ảo đơn lẻ trên mỗi server Hyper-V kết nối đến card Ethernet vật lý có sẵn đầu tiên.

Bạn phải kết nối các VM đến switch ảo. Một lần nữa, bạn phải tạo một cổng switch tách biệt cho mỗi VM bằng cách call Create­SwitchPort. Sau đó bạn có thể liên kết mỗi cổng switch với một adapter mạng ảo của VM. Đừng quên kết nối phân chia mẹ đến switch ảo cũng như nếu bạn muốn cung cấp kết nối mạng external. Bạn cũng có thể thực hiện nhiệm vụ này một cách thuận lợi bằng cách call phương pháp SetupSwitch, expect cổng switch internal và external, một tham khảo đến một card Ethernet vật lý có sẵn, và một tên thiết bị độc nhất và hiển thị tên như là các thông số.

Bằng cách call phương pháp SetupSwitch, bạn convert switch ảo từ một switch cá nhân đến một switch external, như hiển thị trong script hypervconfig.vbs trong nguyên liệu đi kèm. Script chứa tất cả các chi tiết để cài đặt kết nối mạng external cho VM.

Triển khai lab ảo

Bây giờ triển khai Hyper-V được thực hiện và các VM được tự động boot sau mỗi lần hệ thống restart, tôi có thể chuyển sự chú ý sang triển khai của môi trường lab. Ở những trung tâm tập huấn, nó có thể đáp ứng triển khai cấu trúc mạng ảo và các hệ điều hành guest và để những thực tập sinh triển khai phần còn lại của các ứng dụng server sau đó. Vì mục đích phát triển, kiểm tra, và đánh giá cũng tốt hơn để tự động toàn bộ triển khai của môi trường lab.

Toàn bộ cách tiếp cận giống với phương pháp Hyper-V. Sau khi cài đặt không quản lý của OS, đăng nhập tự động tài khoản Administrator và chạy bất kì lệnh cài đặt thêm nào. Tuy nhiên, bạn phải dàn xếp triển khai.

Tất cả các VM boot vào lộ trình cài đặt thực hành của họ cùng một lúc, một số server còn phụ thuộc vào những server khác nên không thể thực hiện tất cả các cài đặt đồng thời. Ví dụ, bạn cần cài đặt AD DS trước khi có thể add bất kì server nào đến domain, Exchange Server 2007 cũng yêu cầu farm server AD DS, SharePoint yêu cầu SQL Server, và vâng vâng, nên chỉ VM trong tình huống của bạn có thể chạy Windows Setup ngay lập tức là DC01.Litware.com. Tất cả các VM phải đợi đến khi DC up và chạy.

Có một vài cách để thực hiện chuỗi cài đặt. Bạn có thể cài đặt delay boot cho các VM, nhưng cách này không đáng tin. Bạn có dám cược cài đặt Active Directory lúc nào cũng hoàn thành trong 15 phytrs? Liệu sau đó Exchange Server đầu tiên sẽ cài đặt trong bao lâu?

Một khả năng khác là script dựa trên WMI đến switch trên các VM khi các điều kiện cài đặt cho phép nó. Đây là một thay thế tốt hơn, nhưng vẫn còn yêu cầu bạn phối hợp thực hiện script tập trung với triển khai VM được phân bổ. Sẽ đơn giản để tuỳ chỉnh mỗi lộ trình cài đặt riêng lẻ và cho phép các VM ckeck bất kì yêu cầu cài đặt nào cho trước khi khởi tạo lộ trình Windows Setup, như hình 5.

 
Hình 5 Thực hiện chuỗi triển khai dựa trên các yêu cầu cài đặt

Windows PE cho phép chúng ta thực hiện những lộ trình cài đặt tuỳ chỉnh. Nó là hệ điều hành Win32 thấp nhất với những dịch vụ hạn chế, nhưng có hỗ trợ cho Windows Script Host (WScript), WMI, và Microsoft Data Access Component (MDAC). Bạn cần tạo một image Windows PE tuỳ chỉnh, add các gói chức năng Windows yêu cầu, kể cả một script tuỳ chỉnh, và sau đó edit file Startnet.cmd nằm tại%SYSTEMROOT%\System32 của image Windows PE để chạy script tuỳ chỉnh


Hình 6 Hướng dẫn cách dùng công nghệ này để dàn xếp triển khai của một DC thứ hai

File Startnet.cmd có một lệnh netsh để gán một địa chỉ IP tĩnh đến giao diện mạng của VM và sau đó call script StartSetup. Lệnh netsh không bắt buộc có trong môi trường DHCP-enabled, nó cũng giúp highlight các lỗi liên quan đến mạng. Ví dụ, nếu bạn phân chia một card mạng chuẩn (Microsoft Synthetic Ethernet Port) cho VM của bạn trong script cấu hình Hyper-V của bạn thay vì card mạng legacy (Microsoft Emulated Ethernet Port), lệnh netsh sẽ thông báo cho bạn rằng Windows PE không thể nhận diện NIC.

Script StartSetup không thông báo cho bạn về vấn đề này khi cố gắn truy cập tài nguyên mạng vì thông báo On Error Resume Next kích hoạt để xác nhận lỗi runtime. Nếu DC01 không có sẵn vì lý do nào đó, cố gắn kết nối rớt và script tiếp tục quay vòng vô định. Loo kết thúc chỉ khi cố gắng kết nối thành công và nếu DC01 là một server catalog global, ngụ ý rằng AD DS đã được cài đặt.

Khi một loop kết thúc, script call lệnh Setup thật sự, xác định một file unattend.xml với cài đặt cấu hình server-specific. Biểu đồ hình 6 mô tả cách chờ một server catalog global trực tuyến, nhưng cũng nguyên tắc cũng được áp dụng cho những tình huống khác, như là kiểm tra tính sẵn có của các file chia sẻ hay các cơ sở dữ liệu SQL Server. Đơn giản cố gắn truy cập tài nguyên và thoát khỏi loop nếu cố gắng thành công.

Triển khai server ứng dụng

Nhiệm vụ còn lại là cấu hfinh file unattend.xml để add server vào domain, cấu hình các cài đặt TCP/IP, kích hoạt Remote Desktop Protocol (RDP), và cấu hình <FirstLogonCommands> cho cài đặt bất kì ứng dụng server nào cần thiết. Phần lớn các ứng dụng cài đặt Microsoft hỗ trợ triển khai không quản lý.

Kết luận

Hyper-V là một công nghệ đầy hứng khởi. Nó tương thích hoàn toàn với 64-bit, nên bạn không cần triern khai các phiên bản phần mềm 32-bit cho mục đích đánh giá hay huấn luyện nếu phiên bản 64-bit đã có sẵn. Nó là công nghệ Windows, nên bạn có thể tận dụng hết các ưu diểm của WDS, AIK, và Windows PE cho triển khai. Nó hỗ trợ WMI và Windows PowerShell thông qua một Virtualization WMI Provider, mà bạn có thể dùng để quản lý tất cả các mặt của môi trường ảo hoá bao gồm phân chia tài nguyên và các VM trong suốt quá trình triển khai. Nó dùng một hypervisor thay vì một Virtual Machine Monitor (VMM) để cung cấp hoạt động mức cao và gia tăng sự scalability, và cũng có trong Windows Server 2008 mà không thêm phí.

Các môi trường dựa trên Hyper-V có liên quan không phức tạp để triển khai. Chỉ vài cú click chuột để khởi động với VM đầu tiên, và kết hợp với công nghệ triển khai Windows sẽ rất thú vị nếu tự động cả những tình huống phức tạp nhất.

Mặt hạn chế mà tôi thấy là Virtualization WMI Provider, vẫn còn chưa hoàn thiện, và do đó các code mẫu vẫn chưa có hết cho tất cả các công việc phù hợp. Tuy nhiên, kết quả này cũng rất đáng để nỗ lực. Cũng sẽ rát thú vị để xem môi trường IT tự triển khai - ngay cả nó có hơn cả 600 VM.

Theo ITNews




CÁC TIN KHÁC

• Chuyển DHCP từ Windows Server 2000 sang Windows Server 2008 (03/09/2009)
• Thiết lập một mạng với nhiều kết nối desktop từ xa (31/08/2009)
• StartPage.com - Công cụ tìm kiếm “riêng tư” (29/08/2009)
• Triển khai ứng dụng với Terminal Services (28/08/2009)
• Crack mạng Wi-Fi khóa mã WPA chỉ trong 1 phút. (28/08/2009)
• 9 sai lầm thường mắc phải khi thiết lập, sử dụng mạng không dây (21/08/2009)
• Thủ thuật đăng bài bằng dòng lệnh trên Twitter (18/08/2009)
• Thủ thuật sử dụng Chrome (13/08/2009)
• 5 cách mở rộng phạm vi mạng Wi-Fi (12/08/2009)
• Chat trực tiếp trên Web với Ebuddy (11/08/2009)




BLUE IDEA Trading and Computer Technology Company Limited
Copyright © 2009 BLUE IDEA Co., Ltd