Bạn sẽ cài đặt một hệ thống như bạn thấy trên một hệ điều hành khác bằng cách sử dụng đĩa ảo điều này có thể gộp nhóm cả các ứng dụng, chính vì vậy nó không bị hạn chế chỉ về hệ điều hàn
Trang 1Giới thiệu về sự ảo hóa hệ điều hành
Nguồn : quantrimang.com
Wilco van Bragt
Giới thiệu
Quản trị mạng - Sau sự ảo hóa máy chủ và ảo hóa ứng dụng, không gian ảo
hóa tiếp tục có những bước tiến triển sang mức tiếp theo Cùng với VDI (Virtual Desktop Infrastructure), Operating System (OS) Virtualization - ảo hóa hệ điều hành là một trong số các công nghệ đang ngày càng phổ biến trên thị trường hiện nay Trong phần một này chúng tôi sẽ giới thiệu cho các bạn một số kiến
thức cơ bản về sự ảo hóa hệ điều hành Trong phần hai sắp tới chúng tôi dự định sẽ tiếp tục giới thiệu về các khả năng có thể mở ra, những ưu điểm cũng như nhược điểm và trạng thái hiện hành của công nghệ này
Ảo hóa hệ điều hành là gì?
Với một hệ điều hành ảo hóa thì không có gì được cài đặt trước hoặc được load vĩnh viễn trên một thiết bị cục bộ và cũng không cần đến ổ đĩa cứng Mọi thứ đều được chạy từ mạng bằng một đĩa ảo Với những cung cấp hiện nay, đĩa ảo này quả thực là một file image được lưu trữ trên máy chủ từ xa, SAN hoặc NAS Máy khách sẽ được kết nối thông qua mạng vào đĩa ảo và sẽ khởi động với hệ điều hành đã được cài đặt trên ổ đĩa ảo
Có hai kiểu ổ đĩa ảo trong các cung cấp hiện nay đó là:
Private Virtual Disk
Private virtual disk chỉ được sử dụng bởi một máy khách, cũng giống như một ổ đĩa cứng nội bộ Phụ thuộc vào các quyền đã được gán, người dùng có thể lưu các thông tin trên đĩa ảo Chính vì vậy khi máy khách được khởi động lại, các thiết lập sẽ được duy trì cũng giống như làm việc với ổ đĩa cứng vật lý
Shared/Common Virtual Disk
Một đĩa ảo chia sẻ được sử dụng bởi nhiều máy khách cùng một lúc Trong quá trình sử dụng, những thay đổi được lưu lại trong các cache riêng, tuy nhiên khi máy khách shut down hoặc khởi động lại hì cache sẽ bị xóa sạch Nói theo cách khác, khi máy khách khởi động nó sẽ sử dụng cấu hình mặc định hiện hữu trên đĩa ảo Các ổ đĩa này sẽ sắp xếp hoặc bảo đảm mỗi một máy khách đều có một
Trang 2bộ nhận dạng duy nhất trong cơ sở hạ tầng (như một miền của Windows)
Virtual Disk được tạo bằng cách sử dụng công nghệ ảnh hóa (imaging) Bạn sẽ cài đặt một hệ thống như bạn thấy trên một hệ điều hành khác bằng cách sử dụng đĩa ảo (điều này có thể gộp nhóm cả các ứng dụng, chính vì vậy nó không
bị hạn chế chỉ về hệ điều hành) Bằng cách cài đặt phần mềm máy khách trên hệ thống chủ (hệ thống từ đó bạn sẽ lấy image), khi đó bạn có thể thiết lập một kết nối với thành phần back-end và tạo một image của hệ thống đến file image của ổ đĩa ảo Đĩa ảo này có thể được sử dụng trên cả hệ điều hành máy chủ cũng như các hệ điều hành máy khách Hầu hết các sản phẩm đĩa ảo này hiện nay đều hỗ trợ cả Windows và Linux cũng như nền tảng phần cứng vật lý và nền tảng ảo
Cho đến đây, về cơ bản các bạn đã hiểu được ảo hóa hệ điều hành là gì Chúng
ta hãy đi vào các chi tiết thêm nữa về cách làm việc của nó cũng như các thành phần có liên quan
Ảo hóa hệ điều hành làm việc như thế nào?
Trước hết chúng ta hãy xem xét sơ qua các thành phần cần đến để sử dụng hệ điều hành ảo trong một cơ sở hạ tầng
Thành phần đầu tiên đó chính là máy chủ ảo hóa hệ điều hành Máy chủ này là một tiêu điểm trong cơ sở hạ tầng ảo hóa hệ điều hành Nó sắp xếp việc
streaming các thông tin trên các đĩa ảo đến máy khách và cũng phân định máy khách nào sẽ được kết nối với ổ đĩa ảo nào (bằng cách sử dụng cơ sở dữ liệu với những thông tin được lưu) Máy chủ này cũng có thể tổ chức để lưu trữ các
ổ đĩa ảo một cách nội bộ hoặc có thể được kết nối đến các ổ đĩa ảo thông qua SAN hoặc File Share Trong các môi trường khả năng có sẵn cần phải cao càng cần phải có máy chủ ảo hóa để tạ sự dự phòng cũng như cân bằng tải Máy chủ này cũng bảo đảm rằng máy khách sẽ là duy nhất bên trong cơ sở hạ tầng Thứ hai, cần có một máy khách có thể liên lạc với máy chủ để kết nối đến các ổ đĩa ảo và yêu cầu các thành phần được lưu trên đĩa ảo nhằm chạy hệ điều hành
Thành phần hỗ trợ ở đây là một cơ sở dữ liệu dùng để lưu trữ cấu hình và các thiết lập cho máy chủ, một dịch vụ streaming để xử lý nội dung bên trong của ổ đĩa ảo, một dịch vụ TFTP (mang tính tùy chọn) và một dịch vụ khởi động PXE (cũng mang tính tùy chọn) cho việc kết nối máy khách với các máy chủ
Như đã được đề cập ở trên, các ổ đĩa ảo sẽ chứa một image của một ổ đĩa vật
lý từ một hệ thống đang phản xạ cấu hình và các thiết lập Khi ổ đĩa ảo được tạo thì đĩa đó cần phải được gán cho máy khách sẽ sử dụng đĩa này trước tiên Kết nối giữa máy khách và đĩa được thực hiện thông qua công cụ quản trị và được
Trang 3lưu bên trong cơ sở dữ liệu Khi máy khách đã được gán ổ đĩa nó có thể được bắt đầu với ổ đĩa ảo bằng cách sử dụng quá trình được thể hiện dưới đây trong hình 1
Hình 1: Ảo hóa hệ điều hành và quá trình Streaming
• Kết nối đến máy chủ OS Virtualization
Đầu tiên chúng ta khởi động máy và thiết lập kết nối đến máy chủ OS Virtualization Hầu hết các sản phẩm hiện nay đều cung cấp một số
phương pháp để kết nối đến máy chủ Một trong các phương pháp được
sử dụng nhiều nhất đó là sử dụng dịch vụ PXE Các phương pháp này đa phần đều sử khởi tạo card giao diện mạng, nhận địa chỉ IP (DHCP) và một kết nối đến máy chủ
• Kết nối đến ổ đĩa ảo
Khi một kết nối được thiết lập giữa máy khách và máy chủ, máy chủ sẽ quan sát trong cơ sở dữ liệu của nó để kiểm tra xem máy khách này có quen thuộc hay không và các ổ đĩa ảo nào được gán cho máy khách đó Khi có thêm nhiều ổ đĩa ảo được kết nối thì khi đó sẽ có một menu khởi động được hiển thị trên máy khách Nếu chỉ có một đĩa được gán thì đĩa này sẽ được kết nối đến máy khách trong bước 3
• Vdisk đã kết nối đến máy khách
Sau khi ổ đĩa ảo mong muốn được chọn hoặc một ổ đĩa ảo được gán cho máy khách đã được xác định thì đĩa ảo sẽ được kết nối xuyên suốt máy
Trang 4chủ OS Virtualization đến máy khách Trên back-end, máy chủ OS
Virtualization phải đảm bảo rằng máy khách là duy nhất (tên máy tính và
bộ nhận dạng) bên trong cơ sở hạ tầng
• Hệ điều hành được “streamed” đến máy khách
Ngay khi đĩa được kết nối, máy chủ sẽ bắt đầu công việc streaming nội dung bên trong ổ đĩa ảo Phần mềm sẽ “biết” các phần nào cần thiết để khởi động hệ điều hành một cách êm ái, chính vì vậy các phần này cần phải được “stream” trước Các thông tin đã được stream đến hệ thống sẽ được lưu ở một vị trí nào đó Hầu hết các sản phẩm hiện nay đều cung cấp nhiều cách lưu trữ các thông tin này Cho ví dụ như bộ nhớ trên máy khách, trên đĩa của máy chủ ảo hóa hệ điều hành hoặc cục bộ trên ổ đĩa cứng của máy khách
• Streaming bổ sung
Sau đó phần đầu tiên sẽ được stream cho hệ điều hành để chạy như mong đợi Dữ liệu ổ đĩa ảo bổ sung sẽ được stream khi cần thiết để chạy hoặc khởi động chức năng được gọi bởi người dùng (cho ví dụ khởi đông ứng dụng có sẵn bên trong ổ đĩa ảo)
Kết luận
Trong phần đầu tiên của loạt bài này, chúng tôi đã giới thiệu cho các bạn về sự
ảo hóa hệ điều hành và những kiến thức cơ bản trong quá trình ảo hóa Trong phần tiếp theo của phần này, chúng tôi sẽ giới thiệu cho các bạn những ưu điểm cũng như nhược điểm của kỹ thuật này, các kịch bản hoặc khả năng có thể của sản phẩm, trạng thái hiện hành và những kết luận cuối cùng
Wilco van Bragt
Quản trị mạng - Vấn đề ảo hóa đang thực
sự “hot” và ngày càng có nhiều hãng nhảy vào thị trường này Hiện đã có trên 10 hãng đang cung cấp sản phẩm ảo hóa ứng dụng trên thế giới Các bước tiếp theo trong vấn
đề ảo hóa đã được diễn ra với sự giới thiệu
về ảo hóa hệ điều hành Trong bài này, chúng tôi sẽ giới thiệu cho các bạn về lĩnh vực ảo hóa hệ điều hành
Trong phần đầu tiên của loạt bài này, chúng tôi đã giới thiệu cho các bạn về sự
ảo hóa hệ điều hành Trong phần này, chúng tôi sẽ tiếp tục giới thiệu cho các bạn về những khả năng có thể của công nghệ, những ưu điểm cũng như nhược điểm và trạng thái hiện hành của công nghệ này
Trang 5Ưu điểm và nhược điểm của ảo hóa hệ điều hành
Chúng tôi đã giới thiệu những vấn đề mang tính cơ bản về cách làm việc của kỹ thuật ảo hóa hệ điều hành như thế nào cho các bạn trong phần trước Qua đó các bạn đã thấy được đây là một công cụ khá thú vị, nhưng tại sao nên sử dụng công nghệ này trong cơ sở hạ tầng của mình? Hay nói theo cách khác, công nghệ này có những ưu điểm gì? Rõ ràng cũng có một số nhược điểm mà chúng
ta cũng cần phải đề cập đến nhưng đầu tiên chúng ta hãy đi tìm hiểu những ưu điểm của nó
Ưu điểm
Sự dự phòng linh động
Với ảo hóa hệ điều hành, bạn có thể dễ dàng kết nối các ổ đĩa ảo (Vdisk) khác vào một hệ thống Máy khách có thể dễ dàng khởi động hệ điều hành khác hoặc role khác Điều này rất hữu dụng cho các môi trường Terminal Server khi sử dụng nguyên lý silo (hay cũng được gọi là Application Load Managed Groups), một silo có thể được mở rộng dung lượng một cách dễ dàng Cũng theo đó, các máy trạm hoặc các máy chủ có thể được gán một role cụ thể khi cần thiết bằng cách gán một đĩa ảo khác
Hỗ trợ đa image trên hệ thống, gồm có cả menu khởi động
Việc dự phòng linh động mở rộng có thể tạo lên một bước đi dài hơn trong việc gán nhiều image đồng thời cho một client Khi bắt đầu, một menu khởi động cũng có thể được hiện diện cho máy khách, chính vì vậy người dùng có thể chọn
hệ điều hành nào (với một role khác) sẽ được khởi động Trong trường hợp này, một hệ thống có thể được sử dụng cho một số mục đích bên trong khoảng thời gian tính theo giây
Triển khai phần mềm (OS/App) nhanh
Việc bổ sung thêm máy chủ mới hoặc máy trạm vào cơ sở hạ tầng chỉ mất một vài phút thay vì phải cài đặt và cấu hình hệ thống một cách thủ công hoặc thông qua công cụ triển khai, mất tối thiểu cũng một vài giờ, chỉ cần một số bước, máy khách sẽ được gán cho một đĩa ảo và có thể được sử dụng trong sản xuất
Hệ thống giống nhau 100%
Thông thường, việc khắc phục sự cố các vấn đề thường tập trung vào một máy
vì ở đó có sự khác nhau trên máy tính đó Đặc biệt là trong Terminal Servers, đây là một thành phần quan trọng mà tất cả các máy chủ đang cấu hình cùng
Trang 6một role (silo) giống nhau Vấn đề này chỉ áp dụng cho các ổ đĩa chia sẻ vì trong đĩa private, các thay đổi sẽ được lưu lại
Cải thiện dễ dàng cho các nâng cấp và các hotfix của các ứng dụng và hệ điều hành
Với sự ảo hóa hệ điều hành, một nâng cấp hoặc một hotfix chỉ nên được bổ sung cho image Virtual Disk thay vì tất cả các máy chủ Mặc dù vậy, bạn có thể tạo một đĩa ảo mới gồm có nâng cấp hoặc hotfix sau đó kiểm tra thử nó một cách dễ dàng bằng cách gán ổ đĩa ảo này cho một máy tính nào đó Nếu các lần kiểm tra diễn ra thành công thì đĩa ảo này có thể được gán cho tất cả các máy khách khác Về phía các bạn, chỉ cần tạo thủ tục/ các hệ thống để quản lý các nâng cấp và các phiên bản ổ đĩa ảo khác
Dễ dàng rollback các kịch bản
Mặc dù nâng cấp hoặc hotfix đã được test qua nhưng trong suốt quá trình sản xuất, hành vi của nâng cấp hay hotfix này vẫn không diễn ra như mong đợi Khi
đó bằng cách gán đĩa ảo cho các máy khách đó và khởi động lại chúng, bạn có thể chuyển đổi về trạng thái trước đó một cách dễ dàng và nhanh chóng
Sau khi khởi động lại, hệ thống sẽ trở về trạng thái sạch trơn
Ưu điểm này chỉ áp dụng cho các image chia sẻ Nếu hệ thống của bạn có hành
vi nào đó lạ thường, thường một cài đặt lại hoàn tất là một giải pháp cho trường hợp này, tuy nhiên với sự ảo hóa hệ điều hành (kết hợp với ổ đĩa chia sẻ), mỗi một máy chủ chỉ cần khởi động lại và load các cấu hình mặc định lại
Nhược điểm
Ảo hóa hệ điều hành không phải là “kỳ quan của thế giới”, chính vì vậy cũng có những điểm yếu trong công nghệ này
Không có khả năng làm việc offline
Vào thời điểm này, các sản phẩm ảo hóa hệ điều hành phải được kết nối với máy chủ ảo hóa để sử dụng hệ điều hành trên đĩa ảo Chính vì vậy khi kết nối mạng không có sẵn thì khi đó hệ thống sẽ không thể hiện hữu
Cần LAN tốc độ cao (>100Mb)
Vì ổ đĩa ảo được kết nối từ máy chủ ảo hóa thông qua card giao diện mạng (thường là LAN) Tuy nhiên trên một kết nối WAN thì vấn đề xảy ra có thể sẽ
Trang 7không đủ băng tần có sẵn hoặc không có đủ sự tin cậy để sử dụng hệ thống một cách êm ả
Không hỗ trợ tất cả các hệ điều hành
Mặc dù hỗ trợ nhiều hệ điều hành tuy nhiên vẫn có một số phân phối của Linux không thể chạy thông qua công nghệ ảo hóa hệ điều hành
Các giải pháp đa PXE/BootP trong đoạn mạng sẽ gây ra các vấn đề
Khi sử dụng ảo hóa hệ điều hành như một công nghệ bổ sung bên trong cơ sở
hạ tầng hiện hành của bạn, bạn nên xem xét đến tùy chọn PXE/Bootp
Connection Nhiều máy chủ PXE trong một subnet sẽ làm co hệ thống không hoạt động như mong muốn
Những khả năng và các kịch bản sử dụng ảo hóa hệ điều hành
Chúng ta đã biết được ảo hóa hệ điều hành làm việc như thế nào, những ưu điểm và nhược điểm nào có thể chấp nhận đối với công nghệ này, lúc này hãy đi xem xét các kịch bản nào ảo hóa hệ điều hành có thể được sử dụng
Citrix XenApp / Terminal Servers
Ảo hóa hệ điều hành là một giải pháp khá tốt cho cơ sở hạ tầng Citrix
XenApp/Terminal Server Một trong những thách thức lớn nhất trong các cơ sở
hạ tầng đó là giữ được sự giống nhau 100% đối với cảm nhận người dùng Bằng cách sử dụng các ổ đĩa ảo chia sẻ sau mỗi lần khởi động lại, Terminal Server có thể quay trở về trạng thái mặc định của anh ta và các thay đổi được áp dụng cho tất cả các máy chủ
Các giải pháp VDI / DDI solutions
Các giải pháp cơ sở dữ liệu desktop ảo cũng đang trở lên phổ biến Một trong những bất thuận lợi lớn nhất của hầu hết các sản phẩm VDI (Virtual Desktop Infrastructure) là nhu cầu lưu trữ SAN đắt đỏ để cấu hình các máy ảo Với cơ chế chia sẻ đĩa của ảo hóa hệ điều hành, các máy ảo có thể sử dụng cùng một đĩa ảo và không mất không gian đắt đỏ cần thiết cho SAN
Web Server
Hầu hết các Web Server khá tĩnh và không lưu dữ liệu cục bộ Bên cạnh đó nhu cầu về tài nguyên web có thể rất khác nhau trong ngày Với sự dự phòng linh động thì các tài nguyên cần thiết có thể được gán suốt cả ngày, cho ví dụ việc chia sẻ phần cứng với một role khác
Trang 8Back-up Servers
Back-up Server thường được sử dụng một vài giờ trong ngày (không phải giờ làm việc) Chính vì vậy phần cứng không được sử dụng trong hầu hết thời gian Việc sử dụng sự dự phòng linh động sẽ làm cho phần cứng được sử dụng cho các role khác trong thời gian làm việc và sau đó gán cho đĩa ảo có role máy chủ back up để thực hiện việc back up
Môi trường phát triển và test
Khi sử dụng nguyên lý DTAP, sự ảo hóa hệ điều hành có thể cung cấp cho bạn các máy tính có khả năng chạy các triển khai và test các nhiệm vụ trên đó, ở đây phần cũng cũng được sử dụng hiệu quả với khả năng dự phòng linh động
Môi trường Lab
Một thuộc tính của môi trường Lab là nhu cầu cần khôi phục trạng thái của môi trường về trạng thái mặc định một cách nhanh chóng để các sinh viên có thể chạy thành công các bài tập của mình Hệ điều hành ảo hóa có thể cung cấp điều đó với tùy chọn đĩa chia sẻ và nó cũng là một hệ thống dự phòng linh động cho môi trường Lab
Môi trường giáo dục
Trong các môi trường giáo dục, luôn luôn có một khó khăn cung cấp đầy đủ chức năng workplace cho tất cả các sinh viên Cũng vậy, phụ thuộc vào việc đào tạo phát sinh ra nhu cầu về hệ điều hành Sử dụng ảo hóa hệ điều hành với nhiều đĩa ảo được gán, các sinh viên có thể sử dụng menu khởi động để khởi động môi trường tương đương cho việc học tập của anh ta Thêm vào đó, sau khi khởi động lại, máy tính lại trở về trạng thái mặc định ban đầu (khi đang sử dụng các đĩa ảo chia sẻ)
Máy trạm công cộng
Cũng giống như các môi trường giáo dục, các máy trạm công cộng cũng thường cung cấp chức năng và các thông tin không mang tính cá nhân nên được lưu trữ
Môi trường an toàn
Ảo hóa hệ điều hành cũng là một công nghệ có thể được sử dụng cho các môi trường an toàn Cho ví dụ, nếu một máy nào bị đánh cắp (máy tính sử dụng ảo hóa hệ điều hành) thì sẽ không có dữ liệu nào có sẵn trên máy tính đó
Trang 9Trạng thái hiện hành của sự ảo hóa hệ điều hành trên thị trường
Tại thời điểm này, có hai “player” trong thị trường ảo hóa hệ điều hành Đầu tiên phải kể đến là Citrix, với sản phẩm Provisioning Server, một sản phẩm được có được thông qua sự kết hợp với Ardence OS Streaming Hiện đang có phiên bản
5 và nó sử dụng định dạng đĩa VHD của Microsoft cho các đĩa ảo Tất cả các tính năng và các thông tin tổng quan của sản phẩm này bạn có thể tham khảo tại đây Một player mới nữa cần giới thiệu ở đây là is XTreaming Technology, với player, các sản phẩm của họ cũng gần giống như các sản phẩm Citrix
Provisioning Server
Lúc này, sự bổ sung của ảo hóa hệ điều hành đang diễn ra bên trong các môi trường khác nhau Chủ yếu là các tổ chức đang sử dụng các sản phẩm của Citrix hoặc đang bổ sung VDI bằng Citrix XenDesktop (phiên bản hiện hành có Provisioning Server) hoặc có một kịch bản cụ thể (được mô tả trong phần kịch bản) về lý do tại sao chúng ta sử dụng sự ảo hóa hệ điều hành
Theo quan điểm của chúng tôi, kỹ thuật này sẽ không được sử dụng để cấu hình tất cả các máy khách và các máy chủ trong tương lai gần Cho những năm tới đây, sản phẩm này sẽ được sử dụng như một thành phần bổ sung cho kịch bản
cụ thể hoặc để giải quyết một số vấn đề trong cơ sở hạ tầng hiện hành Khi một
số nhược điểm được khắc phục, giống như việc sử dụng offline thì kỹ thuật này
sẽ có một tương lai rất hứa hẹn
Kết luận
Trong hai phần này, chúng tôi đã giới thiệu cho các bạn về thế giới ảo hóa hệ điều hành Đầu tiên chúng tôi đã giải thích về sự ảo hóa hệ điều hành là gì và cách nó làm việc ra sao trong phần 1 Còn trong phần 2 này, chúng tôi giới thiệu cho các bạn về ưu nhược điểm, các tình huống mà trong đó sự ảo hóa hệ điều hành phát huy được giá trị của nó, và theo quan điểm của tôi về trạng thái hiện hành của công nghệ này