Hình 1.1: Một Server vật lý trong hệ thống ảo hóa Các bộ xử lý của hệ thống máy tính lớn được thiết kế hỗ trợ công nghệ ảo hoá và chophép chuyển các lệnh hoặc tiến trình nhạy cảm của các
Trang 1Ảo hoá máy chủ
Biên tập bởi:
Nguyễn Việt Dũng
Trang 2Ảo hoá máy chủ
Biên tập bởi:
Nguyễn Việt Dũng
Phiên bản trực tuyến:
http://voer.edu.vn/c/fa4a5cbc
Trang 3MỤC LỤC
1 Tổng quan về ảo hoá máy chủ
2 CÔNG NGHỆ ẢO HOÁ MÁY CHỦ VỚI VMWARE ESX SERVER
3 XÂY DỰNG MÔ HÌNH ỨNG DỤNG ẢO HÓA MÁY CHỦ TẠI TRƯỜNG CAOĐẲNG SƯ PHẠM THÁI NGUYÊN
Tham gia đóng góp
Trang 4Tổng quan về ảo hoá máy chủ
1.1 Khái niệm ảo hóa máy chủ.
Ảo hóa máy chủ là một công nghệ được ra đời nhằm khai thác triệt để khả năng làm việccủa các phần cứng trong một hệ thống máy chủ Nó hoạt động như một tầng trung giangiữa hệ thống phần cứng máy tính và phần mềm chạy trên nó Ý tưởng của công nghệ
ảo hóa máy chủ là từ một máy vật lý đơn lẻ có thể tạo thành nhiều máy ảo độc lập Ảohóa cho phép tạo nhiều máy ảo trên một máy chủ vật lý, mỗi một máy ảo cũng được cấpphát tài nguyên phần cứng như máy thật gồm có Ram, CPU, Card mạng, ổ cứng, các tàinguyên khác và hệ điều hành riêng Khi chạy ứng dụng, người sử dụng không nhận biếtđược ứng dụng đó chạy trên lớp phần cứng ảo
Hình 1.1: Một Server vật lý trong hệ thống ảo hóa
Các bộ xử lý của hệ thống máy tính lớn được thiết kế hỗ trợ công nghệ ảo hoá và chophép chuyển các lệnh hoặc tiến trình nhạy cảm của các máy ảo có thể ảnh hưởng trựctiếp đến tài nguyên hệ thống cho hệ điều hành chủ xử lý, sau đó lớp ảo hóa sẽ mô phỏngkết quả để trả về cho máy ảo Tuy nhiên không phải tất cả cảc bộ xử lý đều hỗ trợ ảohóa Các bộ xử lý cũ trên máy để bàn không có hỗ trợ chức năng này Ngày nay hai nhàsản xuất bộ xử lý lớn trên thế giới là Intel và AMD đều cố gắng tích hợp công nghệ ảohóa vào trong các sản phẩm của họ Các bộ xử lý có ứng dụng ảo hóa thường là IntelVT(Virtual Technology) hoặc AMD Pacifica
Trang 5Sử dụng công nghệ ảo hóa đã đem đến cho người dùng sự tiện ích Việc có thể chạynhiều hệ điều hành đồng thời trên cùng một máy tính thuận tiện cho việc học tập ngiêncứu và đánh giá một sản phẩm hệ điều hành hay một phần mềm tiện ích nào đó Nhưngkhông ngừng lại ở đó, những khả năng và lợi ích của ảo hoá còn hơn thế và nơi gặt háiđược nhiều thành công và tạo nên thương hiệu của công nghệ ảo hóa đó chính là trongmôi trường hệ thống máy chủ ứng dụng và hệ thống mạng.
Ảo hóa máy chủ thực sự không được quan tâm cho đền những năm gần đây Do cònnhiều vấn đề về công nghệ và người dùng chưa thực sự quan tâm tới lợi ích cũng nhưcòn thiếu một đội ngũ am hiểu về công nghệ này nên việc áp dụng nó vào hệ hệ thống
là rất dè dặt Nhưng khi đối mặt với thực trạng khủng hoảng của nền kinh tế toàn cầu thìbất kì một cơ quan, tổ chức, doanh nghiệp nào cũng cần chú tâm để tìm một giải pháptiết kiệm hơn Đây cũng là lúc công nghệ ảo hóa tìm được chỗ đứng vững chắc cho mìnhtrong lĩnh vực công nghệ thông tin trên thế giới
Hiện nay có nhiều nhà cung cấp các sản phẩm máy chủ và phần mềm điều khiển chú tâmđầu tư nghiên cứu và phát triển công nghệ này như là HP, IBM, Microsoft và Vmware.Nhiều dạng ảo hóa được đưa ra và có thể chia thành hai dạng chính là ảo hóa cứng và
ảo hóa mềm Từ hai dạng trên, sau này mới phát triển thành nhiều loại ảo hóa có chứcnăng và cấu trúc khác nhau như VMM-Hypervisor, VMM , Hybrid…
Ảo hóa cứng còn được gọi là phân thân máy chủ Dạng ảo hóa này cho phép tạo nhiềumáy ảo trên môt máy chủ vật lý Mỗi máy ảo chạy hệ điều hành riêng và được cấp phátcác tài nguyên phần cứng như số xung nhịp CPU, ổ cứng và bộ nhớ Các tài nguyêncủa máy chủ có thể được cấp phát động một cách linh động tùy theo nhu cầu của từngmáy ảo Giải pháp này cho phép hợp nhất các hệ thống máy chủ cồng kềnh thành mộtmáy chủ duy nhất và các máy chủ trước đây bây giờ đóng vai trò là máy ảo ứng dụngchạy trên nó
Ảo hóa mềm còn gọi là phân thân hệ điều hành Nó thực ra chỉ là sao chép bản sao củamột hệ điều hành chính làm nhiều hệ điều hành con và cho phép các máy ảo ứng dụng
có thể chạy trên nó Như vậy, nếu hệ điều hành chủ là Linux thì cách ảo hoá này sẽ chophép tạo thêm nhiều bản Linux làm việc trên cùng máy Cách này có ưu điểm là chỉ cầnmột bản quyền cho một hệ điều hành và có thể sử dụng cho các máy ảo còn lại Nhượcđiểm của nó là không thể sử dụng nhiều hệ điều hành khác nhau trên cùng một máy chủ
1.2 Các thành phần của một hệ thống ảo hóa.
Một hệ thống ảo hóa bao gồm những thành phần sau:
• Tài nguyên vật lý (host machine, host hardware)
• Các phần mềm ảo hóa (virtual software) cung cấp và quản lý môi
Trang 6trường làm việc của các máy ảo.
• Máy ảo (virtual machine): Các máy được cài trên phần mềm ảo hóa
• Hệ điều hành: Là hệ điều hành được cài trên máy ảo
Hình 1.2: Các thành phần của một hệ thống ảo hóa
1.2.1 Tài nguyên vật lý (host machine / host hadware).
Các tài nguyên vật lý trong môi trường ảo hóa cung cấp tài nguyên mà các máy ảo sẽ sửdụng tới Một môi trường tài nguyên lớn có thể cung cấp được cho nhiều máy ảo chạytrên nó và nâng cao hiệu quả làm việc của các máy ảo Các tài nguyên vật lý có thể kểđến là là ổ đĩa cứng, ram, card mạng…
1.2.2 Các phần mềm ảo hóa (virtual software).
Lớp phần mềm ảo hóa này cung cấp sự truy cập cho mỗi máy ảo đến tài nguyên hệthống Nó cũng chịu trách nhiệm lập kế hoạch và phân chia tài nguyên vật lý cho cácmáy ảo Phần mềm ảo hóa là nền tảng của một môi trường ảo hóa Nó cho phép tạo racác máy ảo cho người sử dụng, quản lý các tài nguyên và cung cấp các tài nguyên nàyđến các máy ảo Ngoài ra phần mềm ảo hóa còn cung cấp giao diện quản lý và cấu hìnhcho các máy ảo
1.2.3 Máy ảo (virtual machine).
Thuật ngữ máy ảo được dùng chung khi miêu tả cả máy ảo (lớp 3) và hệ điều hành ảo(lớp 4) Máy ảo thực chất là một phần cứng ảo, một môi trường hay một phân vùng trên
Trang 7ổ đĩa Trong môi trường này có đầy đủ thiết bị phần cứng như một máy thật Đây là mộtkiểu phần mềm ảo hóa dựa trên phần cứng vật lý Các hệ điều hành khách mà chúng tacài trên các máy ảo này không biết phần cứng mà nó nhìn thấy là phần cứng ảo.
1.2.4 Hệ điều hành khách(guest operating system).
Hệ điều hành khách được xem như một phần mềm (lớp 4) được cài đặt trên một máy ảo(lớp 3) giúp ta có thể sử dụng dễ dàng và xử lý các sự cố trong môi trường ảo hóa Nógiúp người dùng có những thao tác giống như đang thao tác trên một lớp phần cứng vật
lý thực sự
Khi có đủ các thành phần trên, người dùng có thể xây dựng cho mình một hệ thống ứngdụng ảo hóa Ngoài việc lựa chọn phần cứng cho thích hợp, người dùng còn cần cânnhắc xem phải sử dụng phần mềm ảo hóa gì hoặc loại ảo hóa nào Điều này rất quantrọng trong việc tối ưu hóa hiệu suất làm việc cho hệ thống
1.3 Giới thiệu các kiến trúc & các mức độ ảo hóa.
Xét về kiến trúc hệ thống, các kiến trúc ảo hóa hệ thống máy chủ có thể chia thành cácdạng dạng chính sau:
• Ảo hóa toàn phần(Full-virtualization): Hệ điều hành khách (Các hệ
điều hành cài trên máy chủ ảo) không bị thay đổi, và chúng hoạt động như trên phầncứng thật sự
• Ảo hóa song song (Paravirtualization): Các hệ điều hành khách sẽ bị
thay đổi để hoạt động tốt hơn với phần cứng Tuy nhiên dạng này thường có hạn chế là
hỗ trợ khá ít các loại hệ điều hành khách
• Ảo hóa Hệ điều hành
• Ảo hóa ứng dụng
Trang 8Sau đây ta sẽ đi tìm hiểu chi tiết về các kiến trúc và mức độ ảo hóa máy chủ, đồng thờixem xét khái niệm Hypervisor là gì.
1.4 Các kiến trúc ảo hóa.
1.4.1 Kiến trúc ảo hóa Hosted-based.
Còn gọi là kiến trúc hosted hypervisor, kiến trúc này sử dụng một lớp hypervisor chạytrên nền tảng hệ điều hành, sử dụng các dịch vụ được hệ điều hành cung cấp để phânchia tài nguyên tới các máy ảo Nếu ta xem hypervisor này là một lớp phần mềm riêngbiệt, thì các hệ điều hành khách của máy ảo sẽ nằm trên lớp thứ 3 so với phần cứng máychủ
• Các ứng dụng máy ảo: Sử dụng tài nguyên do hypervisor quản lý
Trang 9Mối liên lạc giữa phần cứng và trình điều khiển thiết bị trên hệ điều hành trong kiểu ảohóa VMM được mô tả như sau :
• Bước đầu tiên mô phỏng phần cứng: Lớp ảo hóa hypervisor sẽ tạo ra một phânvùng trên ổ đĩa cho các máy ảo Phân vùng này bao gồm các phần cứng ảo như
ổ đĩa, bộ nhớ…
• Hypervisor xây dựng mối liên lạc giữa lớp ảo hóa với hệ điều hành: Khi mộtmáy ảo truy xuất tài nguyên thì lớp hypervisor sẽ thay thế máy ảo đó gởi cácyêu cầu tới hệ điều hành máy chủ để yêu cầu thực hiện,
• Khi hệ điều hành nhận được các yêu cầu này Nó liên lạc với trình điều khiểnthiết bị phần cứng
• Các trình điều khiển thiết bị phần cứng liên lạc đến các phần cứng trên máythực
• Quá trình này sẽ xảy ra ngược lại khi có các trả lời từ các phần cứng đến hệđiều hành chủ
Một số hệ thống hypervisor dạng Hosted-base có thể kể đến như VmwareServer,Microsoft Virtual PC, máy ảo Java
Trang 101.4.2 Kiến trúc ảo hóa Hypervisor-based.
Còn gọi là kiến trúc bare-metal hypervisor Trong mô hình này, lớp phần mềm hypervisor chạy trực tiếp trên nền tảng phần cứng của máy chủ, không thông qua bất kì một hệ điều hành hay một nền tảng nào khác Qua đó, các hypervisor này
có khả năng điều khiển, kiểm soát phần cứng của máy chủ Đồng thời, nó cũng có khả năng quản lý các hệ điều hành chạy trên nó Nói cách khác, các hệ điều hành
sẽ chạy trên một lớp nằm phía trên các hypervisor dạng bare-metal Hình vẽ sau
sẽ minh họa cụ thể hơn cho vấn đề này:
• Các ứng dụng máy ảo: Các máy ảo này sẽ lấy tài nguyên từ phần cứng, thôngqua sự cấp phát và quản lý của hypervisor
Khi một hệ điều hành thực hiện truy xuất hoặc tương tác tài nguyên phần cứng trên hệđiều hành chủ thì công việc của một Hypervisor sẽ là:
Trang 11• Hypervisor mô phỏng phần cứng nó làm cho các hệ điều hành tưởng rằngmình đang sử dụng tài nguyên vật lý của hệ thống thật.
• Hypervisor liên lạc với các trình điều khiển thiết bị
• Các trình điều khiển thiết bị phần cứng liên lạc trực tiếp đến phần cứng vật lý
Mô hình Hypervisor - Base có 2 dạng là Monothic Hypervisor và MicrokernelHypervisor
Một số ví dụ về các hệ thống Bare-metal hypervisor như là: Oracle VM, VmwareESX Server, IBM's POWER Hypervisor (PowerVM), Microsoft's Hyper-V (xuất xưởngtháng 6 năm 2008), Citrix XenServer…
a Monolithic Hypervisor.
Monolithic Hypervisor là một hệ điều hành máy chủ Nó chứa những trình điều khiển(Driver) hoạt động phần cứng trong lớp Hypervisor để truy cập tài nguyên phần cứngbên dưới Khi các hệ điều hành chạy trên các máy ảo truy cập phần cứng thì sẽ thôngqua lớp trình điều khiển thiết bị của lớp hypervisor
Mô hình này mang lại hiệu quả cao, nhưng cũng giống như bất kì các giải pháp khác,bên cạnh mặt ưu điểm thì nó cũng còn có những nhược điểm Vì trong quá trình hoạtđộng, nếu lớp trình điều khiển thiết bị phần cứng của nó bị hư hỏng hay xuất hiện lỗi thìcác máy ảo cài trên nó đều bị ảnh hưởng và nguy hại Thêm vào đó là thị trường phầncứng ngày nay rất đa dạng, nhiều chủng loại và do nhiều nhà cung cấp khác nhau, nêntrình điều khiển của Hypervisor trong loại ảo hóa này có thể sẽ không thể hỗ trợ điềukhiển hoạt động của phần cứng này một cách đúng đắn và hiệu suất chắc chắn cũng sẽkhông được như mong đợi Một trình điều khiển không thể nào điều khiển tốt hoạt độngcủa tất cả các thiết bị nên nó cũng có những thiết bị phần cứng không hỗ trợ Nhữngđiều này cho thấy rằng việc phụ thuộc quá nhiều vào các loại thiết bị dẫn tới sự hạn chếviệc phát triển công nghệ này
Trang 12Hình 1.5: Kiến trúc Monolithic Hypervisor
b Microkernelized Hypervisor.
Microkernelized Hypervisor là một kiểu ảo hóa giống như Monolithic Hypervisor Điểmkhác biệt giữa hai loại này là trong Microkernelized trình điều khiển thiết bị phần cứngbên dưới được cài trên một máy ảo và được gọi là trình điều khiển chính, trình điềukhiển chính này tạo và quản lý các trình điều khiển con cho các máy ảo Khi máy ảo cónhu cầu liên lạc với phần cứng thì trình điều khiển con sẽ liên lạc với trình điều khiểnchính và trình điều khiển chính này sẽ chuyển yêu cầu xuống lớp Hypervisor để liên lạcvới phần cứng
Hình 1.6: Kiến trúc Microkernelized Hypervisor
1.4.3 Kiến trúc ảo hóa Hybrid.
Hybrid là một kiểu ảo hóa mới hơn và có nhiều ưu điểm Trong đó lớp ảo hóa hypervisorchạy song song với hệ điều hành máy chủ Tuy nhiên trong cấu trúc ảo hóa này, các máychủ ảo vẫn phải đi qua hệ điều hành máy chủ để truy cập phần cứng nhưng khác biệt ởchỗ cả hệ điều hành máy chủ và các máy chủ ảo đều chạy trong chế độ hạt nhân Khimột trong hệ điều hành máy chủ hoặc một máy chủ ảo cần xử lý tác vụ thì CPU sẽ phục
vụ nhu cầu cho hệ điều hành máy chủ hoặc máy chủ ảo tương ứng Lý do khiến Hyrbirdnhanh hơn là lớp ảo hóa chạy trong chế độ hạt nhân (chạy song song với hệ điều hành),trái với Virtual Machine Monitor lớp ảo hóa chạy trong trong chế độ người dùng (chạynhư một ứng dụng cài trên hệ điều hành)
Trang 13Hình 1.7: Kiến trúc ảo hóa Hybrid
1.5 Các mức độ ảo hóa.
1.5.1 Ảo hóa toàn phần - Full Virtualization.
Đây là loại ảo hóa mà ta không cần chỉnh sửa hệ điều hành khách (guest OS) cũng nhưcác phần mềm đã được cài đặt trên nó để chạy trong môi trường hệ điều hành chủ (hostOS) Khi một phần mềm chạy trên guest OS, các đoạn code của nó không bị biến đổi
mà chạy trực tiếp trên host OS và phần mềm đó như đang được chạy trên một hệ thốngthực sự Bên cạnh đó, ảo hóa toàn phần có thể gặp một số vấn đề về hiệu năng và hiệuquả trong sử dụng tài nguyên hệ thống
Trình điều khiển máy ảo phải cung cấp cho máy ảo một “ảnh” của toàn bộ hệ thống, baogồm BIOS ảo, không gian bộ nhớ ảo, và các thiết bị ảo Trình điều khiển máy ảo cũngphải tạo và duy trì cấu trúc dữ liệu cho các thành phần ảo(đặc biệt là bộ nhớ), và cấutrúc này phải luôn được cập nhật cho mỗi một truy cập tương ứng được thực hiện bởimáy ảo
Trang 14
1.5.2 Paravirtualization - Ảo hóa song song
Là một phương pháp ảo hóa máy chủ mà trong đó, thay vì mô phỏng một môi trường phần cứng hoàn chỉnh, phần mềm ảo hóa này là một lớp mỏng dồn các truy cập các hệ điều hành máy chủ vào tài nguyên máy vật lý cơ sở, sử dụng môt kernel đơn để quản lý các Server ảo và cho phép chúng chạy cùng một lúc (có thể ngầm hiểu, một Server chính là giao diện người dùng được sử dụng để tương tác với hệ điều hành).
Ảo hóa song song đem lại tốc độ cao hơn so với ảo hóa toàn phần và hiệu quả sử dụngcác nguồn tài nguyên cũng cao hơn Nhưng nó yêu cầu các hệ điều hành khách chạytrên máy áo phải được chỉnh sửa Điều này có nghĩa là không phải bất cứ hệ điều hànhnào cũng có thể chạy ảo hóa song song được (trái với Ảo hóa toàn phần) XP Mode củaWindows 7 là một ví dụ điển hình về ảo hóa song song
Hình 1.9: Ảo hóasong song (Paravirtualization)
Phương pháp ảo hóa này có hai ưu điểm Thứ nhất, giảm chi phí hoạt động do số lượng
mã rất ít Lớp phần mềm của ảo hóa song song hoạt động giống một cảnh sát giao thông, nó cho phép một hệ điều hành chủ truy cập các tài nguyên vật lý của phần cứng, đồngthời ngăn không cho các hệ điều hành chủ khác truy cập các nguồn tài nguyên đó
Ưu điểm thứ hai của ảo hóa song song song là nó không giới hạn các trình điều khiểnthiết bị trong phần mềm ảo hóa; thực tế là ảo hóa song song không hề có các trình điềukhiển thiết bị Thay vào đó, nó sử dụng các trình điều khiển thiết bị có trong một hệ điềuhành chủ, gọi là máy chủ đặc quyền Nó cho phép các công ty tận dụng hiệu suất phần
Trang 15cứng các máy chủ, chứ không bị giới hạn phần cứng mà các trình điều khiển phải sẵn cótrong phần mềm ảo hóa này như trong ảo hóa mô phỏng phần cứng.
Tuy nhiên, phương pháp ảo hóa này cũng có một nhược điểm lớn: Do ít quan trọng vàdồn truy cập vào một phần cứng cơ sở, ảo hóa song song yêu cầu các hệ điều hành chủphải được thay đổi để tương tác với giao diện của nó Công việc này chỉ có thể đượcthực hiện khi truy cập mã nguồn của hệ điều hành
Do đó, nhược điểm này sẽ được giảm thiểu khi sử dụng các máy chủ có các con chip mớitrong cơ sở hạ tầng sản xuất Một ví dụ của ảo hóa song song là một sản phẩm nguồn
mở mới có tên gọi Xen, được công ty thương mại XenSource bảo trợ Xen cũng xuấthiện trong các nguồn phân phối Linux gần đây từ Red Hat và Novell, và có trong nhiềunguồn phân phối cộng đồng Linux như Debian và Ubuntu XenSource cũng tự bán cácsản phẩm dựa trên Xen Một phần mềm tiềm năng khác là Virtual Iron, một giải phápdựa trên Xen
1.5.3 Ảo hóa hệ điều hành.
Một hệ điều hành được vận hành ngay trên một hệ điều hành chủ đã tồn tại và có khảnăng cung cấp một tập hợp các thư viện tương tác với các ứng dụng, khiến cho mỗi ứngdụng truy xuất tài nguyên phần cứng cảm thấy như truy xuất trực tiếp máy chủ vật lý
Từ phối cảnh của ứng dụng, nó được nhận thấy và tương tác với các ứng dụng chạy trên
hệ điều hành ảo, và tương tác với hệ điều hành ảo mặc dù nó kiểm soát tài nguyên hệđiều hành ảo Nói chung, không thể thấy các ứng dụng này hoặc các tài nguyên hệ điềuhành đặt trong hệ điều hành ảo khác
Phương pháp ảo hóa này đặc biệt hữu dụng nếu nhà cung cấp muốn mang lại cho cộngđồng người sử dụng khác nhau các chức năng khác nhau của hệ thống trên một một máychủ duy nhất Đây là một phương pháp lý tưởng cho các công ty máy chủ Web: Họ sửdụng ảo hóa container (OS ảo) để khiến cho một trang Web chủ “tin rằng” trang webnày kiểm soát toàn bộ máy chủ Tuy nhiên, trên thực tế mỗi trang Web chủ chia sẻ cùngmột máy với các trang Web khác, mỗi trang Web này lại có một container riêng
Ảo hóa hệ điều hành yêu cầu rất ít tài nguyên hệ thống, do đó bảo đảm hầu hết tài nguyênmáy sẵn có cho các ứng dụng chạy trên container Tuy nhiên, ảo hóa hệ điều hành vẫn
có một số nhược điểm Nhược điểm đầu tiên và lớn nhất là phương pháp này thườnggiới hạn sự lựa chọn hệ điều hành Sự container hóa nghĩa là các container cung cấp một
hệ điều hành tương tự như hệ điều hành chủ và thậm chí thống nhất về phiên bản và cácbản vá lỗi
Như chúng ta có thể tưởng tượng, có thể xảy ra vấn đề nếu nhà cung cấp muốn chạy cácứng dụng khác nhau trên các container, do các ứng dụng thường được chứng thực chomột phiên bản hệ điều hành và các bản vá lỗi Do đó, ảo hóa hệ điều hành thích hợp nhất
Trang 16với cấu hình thuần nhất, trong các tình huống này ảo hóa hệ điều hành là sự lựa chọnhoàn hảo.
1.5.4 Ảo hóa ứng dụng.
Thông thường, khi muốn sử dụng một phần mềm nào đó như office, design, người dùnghay có suy nghĩ rằng cần phải tốn thời gian cài đặt phần mềm đó lên trên máy tính, cụthể hơn là lên hệ điều hành đang sử dụng Điều này tốn khá nhiều thời gian, nhất là nếu
áp dụng trên những doanh nghiệp lớn, có cả ngàn máy tính, và đồng thời vấn đề quản
lý các phần mềm này như ai truy xuất, thời gian truy xuất cho phép ra sao trở thành mộtthách thức thật sự
Do đó, khái niệm ảo hóa ứng dụng ra đời Một ứng dụng được ảo hóa sẽ không được càiđặt lên máy tính một cách thông thường, mặc dù ở góc độ người sử dụng, ứng dụng vẫnhoạt động một cách bình thường Ảo hóa ứng dụng sẽ giúp tách rời sự phụ thuộc giữanền tảng phần cứng, hệ điều hành và ứng dụng với nhau
Hình 1.10: Mô hình Application Streaming của Citrix
Kỹ thuật streaming cho phép người quản lý có thể “đẩy” và quản lý các ứng dụng trênnền tảng hệ điều hành Windows đến bất cứ người dùng nào theo yêu cầu Cụ thể hơn:thông qua các đường truyền dữ liệu được dành riêng, các ứng dụng được tải về thiết bị
Trang 17của người dùng, sau đó chạy trên một môi trường giả lập Các thành phần của hệ thốngapplication streaming này bao gồm:
• Application Profiler: Tại đây các application được đóng gói, kèm với nó là
các thông tin như tài nguyên cần thiết để chạy ứng dụng, các quy tắc khi triểnkhai trên thiết bị người dùng, các thành phần của ứng dụng…
• Application Hub: Sau khi đã được đóng gói kèm theo các thông tin cần thiết,
các ứng dụng/phần mềm được lưu trữ tại đây
• Một đặc điểm với kỹ thuật này là: Các ứng dụng được lưu trữ tại bộ nhớ cục bộtại các máy tính cuối của người dùng, và được sử dụng như các phần mềmđược cài đặt theo cách truyền thống Nhưng thật sự nó không được cài đặt, mà
là chạy trên lớp đệm là môi trường ảo hóa nằm ngay trên hệ điều hành
1.6 Ưu điểm, nhược điểm của ảo hoá máy chủ.
1.6.1 Ưu điểm.
• Giúp tận dụng tối đa tài nguyên phần cứng của máy chủ vật lí, tiết kiệm chi phíđầu tư hệ thống
• Ảo hóa là một khái niệm quan trọng trong xây dựng nền tảng bảo mật máy tính
• Máy ảo có thể được sử dụng để tạo ra hệ điều hành, hay môi trường thực thi vớitài nguyên giới hạn, mang lại một lịch trình đúng, bảo đảm tài nguyên
• Máy ảo có thể cung cấp ảnh ảo của phần cứng, hay cấu hình phần cứng mà bạnkhông có (chẳng hạn như thiết bị SCSI, đa xử lý, ) Ảo hóa cũng có thể được
sử dụng để mô phỏng mạng hay các máy tính độc lập
• Máy ảo có thể được sử dụng để chạy nhiều hệ điều hành cùng một lúc: cácphiên bản khác nhau hay thậm chí các hệ điều hành khác nhau
• Máy ảo cho phép cơ chế sửa lỗi mạnh mẽ và giám sát hiệu năng Bạn có thể đặtvào một số công cụ ví dụ như là virtual machine monitor (VMM) Hệ điều hành
có thể sửa lỗi mà không làm mất mát hiệu suất, hay thiết lập những kịch bảnsửa lỗi phức tạp hơn
• Máy ảo có thể cách ly với những gì nó chạy, vì thế nó có thể ngăn chặn thiếusót và lỗi Bạn có thể chủ động đặt lỗi vào phần mềm để nghiên cứu cách xử lýtuần tự của nó
• Máy ảo làm cho phần mềm di chuyển dễ dàng hơn, vì thế những ứng dụng trợgiúp và hệ thống có tính di động
• Máy ảo là công cụ tuyệt vời để thử nghiệm lý thuyết Từ khi chúng cung cấp sựcách ly, chúng có thể làm việc an toàn hơn Chúng đóng gói toàn bộ trạng tháicủa hệ thống đang chạy: Người sử dụng có thể lưu trạng thái, khảo sát nó, sửađổi nó, nạp lại nó và v.v
• Ảo hóa có thể khởi tạo hệ điều hành có sẵn để chạy trên những bộ nhớ đa xử lýđược chia sẻ
Trang 18• Máy ảo có thể được sử dụng để tạo ra các kịch bản test tùy ý, và có thể dẫn đếnvài ý tưởng rất sáng tạo, chất lượng, hiệu quả.
• Ảo hóa có thể tạo ra các tác vụ như là di chuyển hệ thống, sao lưu, phục hồi &quản lí dễ dàng, thuận tiện hơn
1.6.2 Nhược điểm:
• Giải pháp ảo hóa có điểm nút sự cố (single point of failure): Hạn chế lớn nhấtcủa ảo hóa là nó có một điểm nút sự cố Khi một máy, mà trên đó, mọi giảipháp ảo hóa đang chạy, gặp sự cố hay khi chính giải pháp ảo hóa gặp sự cố, sẽlàm crash mọi thứ Điều này nghe thật đáng sợ nhưng thực tế rủi ro này tươngđối dễ phòng Tăng sức chứa và thường xuyên sao lưu hệ điều hành ảo (cùngvới ứng dụng ảo) là một cách thức giúp giảm thiểu nguy cơ mất dữ liệu và thờigian chết do single point of failure
• Ảo hóa yêu cầu những cỗ máy mạnh mẽ: Ảo hóa có thể tiết kiệm được tiền bạcbởi vì nó đòi hỏi ít phần cứng hơn và điều này cho phép hạn chế số lượng máyvật lý trong một doanh nghiệp nhưng nó không có nghĩa là có khả năng sửdụng các máy tính cổ lỗ sĩ để chạy các giải pháp ảo hỏa mới Các giải pháp ảohóa đòi hỏi một cỗ máy thật sự mạnh mẽ Nếu cỗ máy được sử dụng không đủmạnh, vẫn có thể triển khai các giải pháp ảo hóa nhưng khi mà không có đủ sứcmạnh CPU và RAM cho chúng, nó sẽ thực sự làm gián đoạn công việc
• Ảo hóa có thể dẫn đến hiệu năng thấp: Thậm chí nếu cỗ máy mà trên đó các hệđiều hành và ứng dụng ảo đang chạy đủ mạnh, vấn đề hiệu năng vẫn có khảnăng xảy ra Một trong những thực tế gặp phải đó là một ứng dụng khi chạytrên môi trường không ảo hóa thì hoạt động tốt nhưng lại gặp vấn đề khi chạytrên hệ thống ảo hóa Ví dụ: Hiệu suất của stress test trong môi trường ảo hóa
có kết quả rất khác (và sai lệch) khi so sánh với stress test trên một máy dànhriêng Điều tốt nhất cần làm khi triển khai trên một nền tảng ảo hóa là luônkiểm tra và theo dõi sát sao các vấn đề tiềm ẩn
• Ứng dụng ảo hóa không phải luôn luôn khả dụng: Trong khi trong hầu hết cáctrường hợp không thể dự đoán chính xác được một ứng dụng cụ thể có thể hoạtđộng tốt khi được ảo hóa hay không thì cũng có một số ứng dụng khác qua thựctiễn cho thấy bị suy giảm hiệu năng khi được ảo hóa
• Rủi ro lỗi vật lý cao: Rất tuyệt vời để lưu trữ/chạy 5 Server (ảo)rất quan trọngcủa bạn trong chỉ một Server vật lý Nhưng bạn có bao giờ tưởng tượng đượcxung đột của 5 Server này chỉ bởi lỗi của 1 phần cứng trong Server vật lý? Nó
sẽ đặt cả 5 Server quan trọng của bạn trong tình trạng offline Đó rõ ràng là mộtnhược điểm và hạn chế lớn của ảo hóa cần phải cân nhắc khi có kế hoạch thiếtlập một môi trường ảo hóa máy chủ
Trang 191.7 An toàn, bảo mật khi triển khai ảo hóa máy chủ.
1.7.1 Giải quyết sự cố.
Một vấn đề mà ta không thể không quan tâm đó chính và nguy cơ gián đoạn dịch vụ
Ảo hóa rất tốt, rất chuyên nghiệp, nhưng triết lý làm việc của nó là “tống tất cả trứngvào trong một giỏ” – quả là mạo hiểm khi đặt toàn bộ các Server đảm nhiệm các dịch
vụ quan trọng vào trong một Server duy nhất Đặc biệt là khi Server duy nhất này dophải tải quá nhiều các tác vụ nên lúc nào cũng phải ở trong tình trạng hoạt động hết côngsuất, điều này sẽ càng làm gia tăng nguy cơ về các sự cố bất thình lình trên Server vật
lý Một khi đã xuất hiện sự cố trên Server vật lý thì các Server ảo nằm trên đó cũng sẽchịu chung số phận
Tuy nhiên, nhược điểm này có thể giải quyết bằng một Server vật lý dự phòng KhiServer vật lý chính phải ngừng hoạt động do hỏng hóc hoặc bảo trì, Server vật lý dựphòng sẽ chạy các máy ảo cho đến khi Server vật lý chính được xử lý xong Nhưng để
có được tính năng này, sẽ phải phát sinh thêm chi phí
1.7.2 Vấn đề bảo mật.
Trở ngại cuối cùng của ảo hóa chính là bảo mật Việc chạy nhiều máy ảo trên một hệthống phàn cứng duy nhất, chúng ta sẽ phải đối mặt với nguy cơ bị đột nhập Ví dụ nhưtrong trường hợp XP mode của Windows 7, ta sẽ phải đối mặt với nguy cơ gặp phải kiểutấn côngguest-to-host attack: Phía tấn công sẽ tập kích guest OS, sau đó sẽ dựa vào các
lỗ hổng bảo mật của phần mềm ảo hóa để vượt qua các cơ chế bảo vệ, để ghi vào vùng
bộ nhớ của host OS Dĩ nhiên, trường hợp ngược lại cũng có thể xảy ra (tấn công host
OS trước sau đó mới tấn công guest OS)
Trang 20CÔNG NGHỆ ẢO HOÁ MÁY CHỦ VỚI VMWARE ESX SERVER
2.1 Một số công nghệ ảo hoá máy chủ.
2.1.1 Công nghệ ảo hoá Virtuozzo Containers của Parallels.
a Giới thiệu chung.
Virtuozzo Containers của hãng Parallels là một giải pháp ảo hóa khai thác đầy đủ năng
lực của hạ tầng công nghệ thông tin bằng cách gia tăng việc tận dụng tài nguyên dư thừacủa các máy chủ hiện hữu gấp 2 – 3 lần so với các công nghệ khác Trong bối cảnh màngân sách đầu tư cho công nghệ thông tin ngày càng eo hẹp như hiện nay thì việc khaithác hạ tầng hiện có ở mức độ cao nhất có thể đồng nghĩa với việc tiết kiệm chi phíkhông chỉ trong khâu bảo hưỡng và năng lượng mà còn cả phần vốn tái đầu tư cho việcmua sắm máy chủ mới
Parallels Virtuozzo Containers cung cấp một lớp ảo hóa chịu trách nhiệm phân bổ tài
nguyên hệ thống cho tất cả các máy ảo – được gọi là container Lớp ảo hóa này chỉ tiêutốn khoảng 2% năng lực xử lý từ đó giúp tăng tỷ lệ máy ảo trên mỗi máy chủ vật lý, hiệunăng máy chủ gần như không đổi so với khi chạy độc lập
Hình 2.1: Kiến trúc ảo hoá Virtuozzo Containers
b Tổng quan về Parallels Virtuozzo Containers.
• Một số đặc tính
Trang 21• Phân vùng thông minh: Mỗi máy ảo chứa liên kết ánh xạ đến phiên bản hệ
điều hành
• Quản lý tài nguyên linh hoạt: việc phân bổ tài nguyên hệ thống được thực thi
tự động hoặc bởi quản trị viên
• Quản lý tập trung: tiến trình vận hành, bảo trì, nâng cấp đều được thực hiện
một cách tập trung thông qua công cụ quản lý
• Di trú trực tiếp (Linux Only): di chuyển linh hoạt các containers giữa các
máy chủ vật lý
• Công cụ quản lý
• Parallels Virtuozzo Containers: Cung cấp các công cụ quản lý hướng tới 3
yếu tố: dễ sử dụng, quản lý tập trung và đa chức năng
• Parallels Virtual Automation: Tiền thân là Parallels Infrastructure Manager
cho phép quản trị viên quản lý hầu hết các ứng dụng ảo hóa bao gồm ParallelsVirtuozzo Containers (Windows and Linux), Parallels Server Bare Metal
(standard and advanced editions), Parallels Server for Mac and Parallels Serverfor Mac Bare Metal Edition thông qua giao diện web
• Parallels Management Console là một thành phần được tự động cài đặt chung
với Parallels Virtuozzo Containers Với PMC, quản trị viên có thể thực hiệncác tác vụ:
• Tạo container mới và cài đặt hệ điều hành
• Cấu hình và chỉnh sửa các thông số của container
• Quản lý các OS và Application template
• Giám sát, phát hiện và khắc phục nhanh các sự cố xảy ra
Trang 22Hình 2.2: Thống kê tình hình sử dụng tài nguyên của các máy ảo trên cùng hệ thống(Cửa sổ Parallels Management Console)
2.1.2 Công nghệ ảo hoá XenServer của Citrix.
a Giới thiệu chung.
Citrix XenServer là môt nền tảng quản lý máy chủ ảo hóa hoàn chỉnh, được xây dựngtrên trên nền tảng Xen Hypervisor mạnh mẽ Công nghệ Xen được các chuyên giatrong ngành thừa nhận rộng rãi là một phần mềm ảo hóa nhanh nhất và an toàn nhất.XenDesktop được thiết kế để quản lý các máy chủ ảo Windows và Linux một cách hiệuquả nhất và cung cấp giải pháp hợp nhất máy chủ với chi phí hợp lí và đảm bảo tính liêntục trong các hoạt động kinh doanh
Trang 23Hình 2.3: Cửa sổ làm việc XenServer
• Vận hành và Quản lý
Thực thi các tác vụ của trung tâm dữ liệu một cách tự động bằng các sử dụng cáctính năng của phiên bản miễn phí của XenServer trong môi trường vận hành trực tiếp.XenConvert, XenMotion và XenCenter cung cấp đầy đủ các tính năng cần thiết giúpdoanh nghiệp quản lý trung tâm dữ liệu ảo hóa
• Lợi ích:
Trang 24Là một giải pháo ảo hóa máy chủ thực thụ, XenServer giúp doanh nghiệp đạt được lợiích kinh tế từ đám mây thông qua việc tự động hóa các trung tâm dữ liệu, tăng cườnghiệu quả giám sát và quản lý, với độ tin cậy cao và đảm bảo tính liên tục trong kinhdoanh, khả năng tân dụng điện toán đám mây như một giải pháp mở rộng cơ sở hạ tầngcủa doanh nghiệp XenServer giúp doanh nghiệp:
• Tự động hóa trung tâm dữ liệu và hợp lý hóa quy trình vận hành
• Thích nghi với yêu cầu ngày càng cao về hiệu quả quản lý CNTT
• Giảm thời gian chết ngoài kế hoạch
• Tăng sức mạnh cho hệ thống điện toán đám mây của doanh nghiệp
• Sự khác biệt của Citrix XenServer
• Giá trị ảo hóa tốt nhất – Cung cấp hỗ trợ miễn phí sức mạnh công nghệ từ nhàcung cấp giải pháp ảo hóa máy chủ hàng đầu,công nghệ của Xen Hypervisorgiúp chuyển đối chi phí hợp nhất máy chủ doanh nghiệp thành vốn đầu tư thiết
bị, không gian, hệ thống năng lượng và làm mát
• Tính năng đẳng cấp doanh nghiệp – Quản lý tập trung và chuyển đổi máy chủ
ảo trực tiếp giúp doanh nghiệp quản lý môi trường một cách dễ dàng và thôngminh hơn trong khi tối ưu hóa các nguồn lực và giảm thời gian chết ngoài kếhoạch
• Dễ dàng thiết lập và Quản trị – XenServer có thể được cài đặt và vận hànhtrong vòng 10 phút và nó có kiến trúc quản lý và giao diện điều khiển độc đáo,giúp doanh nghiệp quản lý tập trung hàng trăm máy chủ ảo chỉ với 4 MB dunglượng lưu trữ
2.1.3.Công nghệ ảo hoá Hyper – V của Microsoft.
a Giới thiệu chung.
Hyper-V là công nghệ ảo hóa Server thế hệ mới của Microsoft và là
thành phần quan trọng trong hệ điều hành Windows Server 2008
Hyper-V chính là công nghệ ảo hóa thế hệ kế tiếp dựa trên hypervisor, khai thác phầncứng Server 64-bit thế hệ mới Người dùng (chủ yếu là doanh nghiệp) không cần phảimua thêm phần mềm để khai thác các tính năng ảo hoá bới nó là một tính năng sẵn cótrên Windows Server 2008
Với Hyper-V, Microsoft cung cấp một nền tảng ảo hóa mạnh và linh hoạt, có thể đápứng nhu cầu ảo hóa mọi cấp độ cho môi trường doanh nghiệp
Hyper-V có 3 phiên bản Windows Server 2008 64 bit là:
Trang 25Standard (một máy ảo), Enterprise (4 máy ảo) và DataCenter (không giới hạn số lượngmáy ảo) Tuy nhiên nó hỗ trợ hệ điều hành khách trên cả 32-bit và 64-bit Đây là điểmnổi bật của Hyper-V
b Tổng quan về Hyper - V.
• Một số đặc tính:
• Hyper-V gồm 3 thành phần chính: hypervisor, ngăn ảo hóa và mô hình I/O(nhập/xuất) ảo hóa mới Hypervisor là lớp phần mềm rất nhỏ hiện diện ngaytrên bộ xử lý (BXL) theo công nghệ Intel-V hay AMD-V, có vai trò tạo các
"partition" (phần vùng) mà thực thể ảo sẽ chạy trong đó
• Một partition là một đơn vị cách ly về mặt luận lý và có thể chứa một hệ điềuhành làm việc trong đó Luôn có ít nhất 1 partition gốc chứa Windows Server
2008 và ngăn ảo hóa, có quyền truy cập trực tiếp các thiết bị phần cứng
Partition gốc tiếp theo có thể sinh các partition con (được gọi là máy ảo) đểchạy các hệ điều hành máy khách Một partition con cũng có thể sinh tiếp cácpartition con của mình
• Máy ảo không có quyền truy cập đến bộ xử lý vật lý, mà chỉ “nhìn thấy” bộ xử
lý được hypervisor cấp cho Máy ảo cũng chỉ sử dụng được thiết bị ảo, mọi yêucầu đến thiết bị ảo sẽ được chuyển qua VMBus đến thiết bị ở partition cha.Thông tin hồi đáp cũng được chuyển qua VMBus Nếu thiết bị ở partition chacũng là thiết bị ảo, nó sẽ được chuyển tiếp cho đến khi gặp thiết bị thực ở
partition gốc Toàn bộ tiến trình trong suốt đối với HĐH khách
• Hyper-V được tích hợp sẵn trong HĐH Windows Server, và hypervisor móctrực tiếp đến các luồng xử lý của BXL, nhờ vậy việc vận hành máy ảo hiệu quảhơn so với kiến trúc ảo hoá trước đây
Trang 26Hình 2.4: Kiến trúc Hyper - V
• Các lợi ích chính khi sử dụng Hyper – V
• Độ tin cậy: Hyper-V cung cấp độ tin cậy tốt hơn và khả năng mở rộng lớn hơn
cho ảo hóa cơ sở hạ tầng Hypervisor không phụ thuộc vào bất kì trình điềukhiển thiết bị nào của hãng thứ ba Nó thúc đẩy phần lớn các trình điều khiểnthiết bị đã được xây dựng cho Windows Hyper-V cũng có sẵn trên Server Core Điểm nổi bật là bạn có thể quản lý các dịch vụ trên Server Core bằng giaodiện dòng lệnh (CLI) hoặc quản lý từ xa bằng công cụ MMC và công cụ
Remote Server Administration Tools được tích hợp sẵn trong Windows Vista
và Windows Server 2008
• Máy chủ ảo hóa mạnh: Ảo hóa cho phép khả năng sử dụng, quản lý các tài
nguyên, các ứng dụng hiệu quả trên một máy chủ Các máy chủ ảo hóa có khảnăng làm công việc của mình với sự linh hoạt cao, tận dụng khả năng phầncứng tối đa, mà không có xung đột với các máy chủ ảo hóa khác Hyper-Vkiểm soát chặt chẽ các nguồn tài nguyên phần cứng có sẵn cho mỗi máy ảo Vídụ: Máy ảo được cô lập hoặc tiếp xúc rất giới hạn với máy ảo khác trên mạnghoặc trên cùng một máy tính
• Bảo mật: An ninh bảo mật là một thách thức chính trong mọi giải pháp máy
chủ Các máy chủ ảo hóa ít tiếp xúc với các chức năng máy chủ khác trên cùngmột hệ thống chính Ví dụ khi triển khai nhiều chức năng máy chủ trên mộtmáy tính, mỗi máy chủ ảo hóa đảm nhận một chức năng, khi đó nếu một máychủ ảo hóa bị mất quyền kiểm soát, thì vẫn đảm bao kẻ tấn công khó có thể thể
Trang 27tiếp xúc với các máy ảo hóa khác trên cùng một máy chủ vật lý Ảo hóa cungcấp cơ hội để tăng cường an ninh cho tất cả các nền tảng máy chủ
• Hiệu suất: Hyper-V có thể giải quyết khối lượng công việc đòi hỏi nhiều hơn
các giải pháp ảo hóa trước đây và cung cấp khả năng phát triển trong hệ thống.Hiệu suất bao gồm:
• Tốc độ cải tiến thông qua kiến trúc ảo hóa cốt lõi hypervisor
• Hỗ trợ đa luồng tăng đến bốn bộ vi xử lý trên mảy chủ ảo hóa
• Tăng cường hỗ trợ 64-bit, cho phép máy chủ ảo hóa chạy các hệ điều hànhbit-64 và truy cập số lượng lớn bộ nhớ (lên đến 64 GB mỗi VM), cho phép sử
lý khối lượng công việc chuyên sâu cao hơn
• Kiến trúc hypervisor cho phép chia cắt ra các lớp thực thi và các trình điềukhiển, làm việc chặt chẽ hơn với ảo hóa kiến trúc phần cứng
• Nâng cao hiệu suất phần cứng Chia sẻ, tối ưu hóa truyền dữ liệu giữa các phầncứng vật lý và máy ảo
2.2 Cấu trúc Vmware Esx Server.
Máy chủ Esx sử dụng cấu trúc VMM– Hypervisor, nghĩa là máy chủ Esx sẽ tạo một lớp
ảo hóa hypervisor để điều khiển quá trình chia sẻ và sử dụng tài nguyên của các máy ảo.Nhờ cấu trúc xử lý linh hoạt nên các máy ảo có thể tận dụng tối đa hiệu suất phần cứng
và quản lý dễ dàng hơn
Trong mô hình này các máy ảo không phải thông qua hệ điều hành chủ để truy cập phầncứng Mọi vấn đề liên lạc giữa máy ảo với phần cứng được thực hiện qua lớp ảo hóaHypervisor do máy chủ Esx tạo ra Vì vậy tốc độ làm việc của các máy ảo nhanh hơn vàđạt hiệu quả cao hơn
Hình 2.5: Cấu trúc của ESX Server
Trang 28Esx Server được tạo thành từ hai thành phần chính đó là ;
• Hạt nhân máy chủ ESX hay còn gọi là vmkernel, vmkerlnel quản lý và phânphối việc truy cập tới tài nguyên phần cứng trên máy chủ, nhờ đó vmkernel chophép cài hệ điều hành lên các máy ảo nó quản lý bộ nhớ cho các máy ảo,phân phối các chu kì của bộ xử lý, duy trì các thiết bị chuyển mạch của các kếtnối mạng
• Hệ điều hành điều khiển (t) hay còn gọi là COS
Hình 2.6: Sơ đồ tương tác trong ESX Server
2.2.1 Hệ điều hành điều khiển (Console Operating System).
Hệ điều hành điều khiển (COS)được sử dụng để khởi động hệ thống và chuẩn bị quátrình làm việc của phần cứng cho vmkernel Khi hệ điều hành điều khiển được tải lên
nó hoạt động như các chương trình khởi động cho vmkernel, có nghĩa là nó chuẩn bị tất
cả các tài nguyên cần thiết cho hoạt động của vmkernel Khi COS đã tải xong Esx thìvmkernel sẽ bắt đầu hoạt động khởi động hệ thống và đảm nhận vai trò hệ điều hànhchính Lúc này vmkernel sẽ tải lại COS và một số thành phần phụ gọi là “người giúp đỡcông việc (helper works)” và hoạt động ở chế độ đặc quyền.Lúc này hệ điều hành điềukhiển có một số nhiệm vụ khác khá quan trọng ảnh hưởng tới sự hoạt động của các máy
ảo như là
• User interaction with ESX : Đây là giao diện tương tác giữa người dùng với
Esx Server Cos có trách nhiệm trình bày bằng nhiều phương pháp khác nhau
Trang 29để thực hiện giao tiếp giữa máy chủ Esx với hệ thống Nó cho phép người sửdụng tương tác với máy chủ sử dụng các dịch vụ như là
• Giao diện truy cập trực tiếp(Direct console access)
• Truy cập bằng Telnet và ssh
• Giao diện Web (Web interface)
• Truyền dữ liệu (FTP)
• Proc file system : Hệ thống tập tin proc được sử dụng bởi cả COS và vmkernel
để cung cấp số liệu thời gian thực và thay đổi các cấu hình
• Authentication : Có những tiến trình trong cos đòi hỏi cung cấp chứng thực để
có cơ chế cho phép và ngăn chặn truy cập vào hệ thống
• Running Support Applications: Có một số ứng dụng chạy trong COS cung
cấp các hỗ trợ mở rộng trên môi trường máy chủ mỗi nhà cung cấp phần cứng
sẽ có một số phương pháp đề phát hiện các vấn đề vế phần cứng khi chúng phátsinh.trong một số trường hợp nó còn khuyến cáo người dùng backup hệ thốnglên cos để cos backup các file hệ thống quan trọng
2.2.2 Vmkernel (lõi điều khiển chính).
Khi hệ điều hành được nạp ,các vmkernel bắt đầu khởi động và khởi động hệ thống
Nó chịu trách nhiệm quản lý và phân phối tài nguyên Các COS cũng được nạp lại nhưmột máy ảo và được quản lý bằng các cấu hình của nó Các COS thực hiện các quy tắctương tự cho các nguồn tài nguyên và phân bổ nó cho người dùng trên hệ thống
Vmkernel thực hiện nhiều chức năng nhưng chức năng chính của nó là quản lý sự tươngtác giữa phần cứng máy ảo và phần cứng của Server vật lý.nó hoạt động như một ngườiđứng giữa và điều phối tài nguyên cho máy ảo khi cần thiết
2.2.3 The ESX Boot Process (Qúa trình khởi động máy chủ ESX).
Là quá trình khởi động máy chủ Esx Bằng việc quan sát quá trình khởi động của một hệthống máy chủ Esx này, chúng ta có thể thấy COS và vmkernel tương tác với nhau nhưthế nào và lúc nào vmkernel nắm quyền quản lý tài nguyên hệ thống Cần phải nắm rõquá trình này để hiểu rằng COS là một phần tách biệt với vmkernel Ngoài ra nếu máychủ không thể khởi động hoặc một số dịch vụ hoặc ứng dụng không thể hoạt động đượcthì những kiến thức am tường về quá trình này sẽ giúp ích rất nhiều trong quá trình tìmkiếm , phát hiện và xử lý các sự cố Có nhiều bước trong quá trình khởi động hệ thống
và sau đây là một số quá trình quan trọng
2.2.3.1 Lilo (Bộ nạp khởi động ứng dụng).
Còn gọi là linux loader là một bộ nạp khởi động ứng dụng.giống như ntloader củawindows khi khởi động hệ thống đọc nó từ trong ổ cứng dựa trên các thông tin có trong
Trang 30định lilo sẽ tải và khởi động vmkernel trong file này còn chứa các thông tin về cấu hìnhcos như nó khởi động thông tin này chứa một lượng bộ nhớ để phân bổ cho các thiết bịđược cấu hình để cos sử dụng.
Nếu bình thường lilo được cài trên master boot record thì mặc định nó sẽ tải hệ điềuhành mà phân vùng đã được đánh dấu tích cực lên để khởi động.trong trường hợp cónhiều hệ điều hành và có nhiều sự lựa chọn để khởi động thì lifo sẽ khởi tạo dấu nháybáo hiệu cho người dùng lựa chọn một hệ điều hành để khởi động,
Sau khi lilo được nạp thành công thì cos sẽ được tải lên đa số các quá trình khởi độngđều nằm trong cos
2.2.3.2 Init
Quá trình đầu tiên mà Cos thực hiện là init Quá trình này đọc file etc/inittab là tập tinxác định runlevel mà hệ thống đó sẽ thực thi Runlevel xác định những dịch vụ sẽ đượckhởi động và thứ tự khởi động của chúng Các giá trị runlevel biến đổi trong linux được
so sánh như các tùy chọn có sẵn trong window như là safe mode hoặc command prompt
Hệ thống Esx mặc định runlevel là 3
2.2.4 Phần cứng ảo (HardwareVirtualization).
ESX có trách nhiệm cung cấp các phần cứng ảo cho các máy ảo.khi một máy ảo yêu cầutruy suất hay truy cập một tài nguyên nào đó thì vmkernel sẽ chịu trách nhiệm thiết lậpmột bản đồ ảo tương tác giữa các yêu cầu của máy ảo với phần cứng vật lý để xử lý Một số tài nguyên như ổ cứng , card mạng có nhiều lựa chọn ,vì thế am hiểu về nhữngphần cứng này sẽ giúp chúng ta xây dựng một hệ thống tương thích để hoạt động mộtcách hoàn hảo nhất
Trang 31Hình 2.7: Sơ đồ phân phối card mạng
2.2.5 Tính năng Của ESX Server.
2.2.5.1 Virtual Machine File System (VMFS).
Đây là một hệ thống tập tin hiệu suất cao cho phép nhiều hệ thống có thể truy cập vào
hệ thống tập tin tại cùng một thời điểm Nó là công nghệ hỗ trợ cho VMotion và HighAvailability VMFS cho phép thêm và xóa các máy chủ Esx mà không làm ảnh hưởngđến các máy chủ khác
Trang 32Hình 2.8: Sơ đồ hoạt động của VMFS
2.2.5.2 Virtual symmetric multi-processing (Virtual SMP).
Virtual SMP cho phép Vmware ESX Server có thể tận dụng đến bốn bộ vi xử lý vật lýtrên hệ thống cùng lúc Cân bằng tải các tác vụ giữa các bộ vi xử lý
2.2.5.3 Vmware High Availability (VMHA).
Đây là một tiện ích hoàn hảo được thiết kế cho hệ thống máy chủ ESX và VmwareInfrastructure Mục đích của công nghệ này là di chuyển các máy ảo từ máy chủ ESXnày sang một máy chủ ESX khác khi sảy ra sự cố về hỏng hóc máy chủ vật lý hay mấtkết nối mạng Giúp các máy ảo đang ở máy ESX vật lý bị hỏng chuyển qua máy ESXkhác và phục hồi tình trạng mà không mất nhiều thời gian chết nên nó không ảnh hưởngđến tiến trình làm việc
Đây là một tính năng rất mạnh vì bất cứ hệ thống hoặc thiết bị phần cứng nào cũng đều
có thể bị rủi ro và hư hỏng,và các vấn đề trục trặc này khó có thể đoán trước được Vì
Trang 33vậy để đảm bảo an toàn dữ liệu và các máy chủ ứng dụng có thể hoạt động trực tuyếnngay lập tức khi bị sự cố thì giải pháp chính là cấu hình cho hệ thống hoạt động tínhnăng High Availability.
Hình 2.9: Sơ đồ hoạt động của Vmware High Availability
• Yêu cầu của Vmware High Availability
• Công nghệ High Availability chỉ hỗ trợ cho một số phần Phần mềm ảo hóa doVmware cung cấp như là Vmware Infrastructure hoặc Vmware ESX Server
• Để cấu hình tính năng này phải có ít nhất là hai hệ thống máy chủ sử dụng ảohóa
• Phải có ít nhất một thiết bị lưu trữ mạng SAN để kết nối hai hệ thống
• Yêu cầu phải có tương thích về hoạt động của các hệ thống máy chủ
− Ưu điểm của High Availability
• Cung cấp độ an toàn cao cho các máy ảo, nhờ đó các máy ảo có thể hoạt độngđược ngay khi đươc di chuyển sang hệ thống máy chủ mới
• Không phân loại hệ điều hành, bất cứ hệ điều hành nào được cài trên máy ảocũng sẽ được chuyển đồi
Trang 34• Có thể kết hợp với các công nghệ khác như bộ phân phối tài nguyên nguyên
(Distributed Resource Scheduler) và VMonitor để các máy ảo di chuyển sang
hệ thống khác mà không gây mất kết nối đối với người dùng
• Có thể cấu hình độ ưu tiên khởi động lại khi chuyển qua máy chủ ESX Servermới
• Hạn chế
• Các CPU trên mỗi máy chủ phải tương thích với nhau
• Các máy ảo nằm trên hệ thống máy chủ gặp trục trặc cần phải khởi động lại
• Không đảm bảo an toàn cho các ứng dụng khi máy tự động khởi động lại saukhi chuyển qua máy chủ mới
2.2.5.4 VMotion và Storage Vmotion.
Vmonitor cho phép di chuyển các máy ảo từ máy chủ Esx này sang máy chủ Esx khác
mà không gây đứt kết nối với người dùng Storage Vmonitor cũng giống như Vmonitornhưng nó cho phép di chuyển và lưu trữ máy ảo trên các thiết bị lưu trữ mạng
Hình 2.10: Mô hình hoạt động của VMmonitor
Khi một máy chủ Esx bị sự cố thì các máy ảo được di chuyển đến một máy chủ Esx hoạtđộng bình thường khác để hoạt động trở lại
2.2.5.5 Vmware Consolidated Backup (VCB).
Vmware Consolidated Backup là một phần mềm tiện ích của Vmware được cài trên hệđiều hành.Nó cho phép hệ thống có thể kết nối hệ thống lưu trữ SAN bên ngoài với hệthống tập tin của máy chủ
Trang 35Hình 2.11: Mô hình hoạt động của Vmware Consolidated Backup
• Bước 1 : VCB thực hiện ghi lại các cấu hình và dữ liệu trên các máy ảo ra ổđĩa
• Bước 2 :VCB đưa các tập tin sao lưu dự phòng này lên một máy chủ hoặc mộtmáy ảo có chức năng và nhiệm vụ lưu trữ
• Bước 3 :Máy chủ hoặc máy ảo có nhiệm vụ lưu trữ sẽ sao lưu các tập tin dựphòng này ra ổ đĩa hoặc băng từ để thuận tiện cho việc sao lưu lần tiếp theo vàphục hồi nếu có lỗi
2.2.5.6 Vcenter Update Manager.
Quản lý nâng cấp(Update Manager) là một tính năng mới đi kèm với Virtual Center vàESX Server Có thể thực hiện các nâng cấp ESX Server, các nâng cấp của hệ điều hànhWindows và Linux đối với máy ảo để vá lỗi cho các hệ thống này Để thực hiện cácnâng cấp ESX Server Có thể dùng kết hợp với công nghệ Vmonitor để thực hiện update
mà không ảnh hưởng đến kết nối với người dùng
2.2.5.7 Phân phối tài nguyên theo lịch trình (Distributed resource scheduler( DRS).
DRS về cơ bản là một hệ thống lập lịch trình tài nguyên và cân bằng tải của các máy chủESX Khi tài nguyên trên một máy chủ Esx trở nên thiếu thốn và không thể đáp ứng chonhu cầu hoạt động của máy ảo thì hệ thống phân phối sẽ tìm một máy chủ Esx khác cònnhiều tài nguyên đáp ứng hơn và chuyển máy ảo sang đó bằng công nghệ Vmonitor đềkhông bị ngắt kết nối với người dùng Và cứ tuần hoàn như vậy thì hệ thống sẽ tận dụngđược tối đa năng suất hoạt động của nó