Kinh Doanh - Tiếp Thị - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang i LỜI NÓI ĐẦU Ngày nay, nền kinh tế đang trên đà tăng trưởng mạnh. Cùng với nó là sự tiến bộ vượt bậc của nền khoa học công nghệ, đặc biệt là công nghệ thông tin. Máy tính đã giúp con người rất nhiều từ tối ưu hóa công việc, giảm thời gian làm việc, tăng hiệ u suất và mang lại hiệu quả cao. Với tình hình phát triển như hiện nay thì bất cứ một cơ quan, tổ chức nào cũng cần một hệ thống máy chủ (Server) chứ không phải chỉ một vài máy tính con đơn lẻ nữa. Máy chủ thực ra cũng là một máy tính nhưng có cấu hình, tính năng và các chức năng lớn hơn hẳn các máy tính thông thường. Nó dùng làm trung tâm liên kế t các máy tính và thiết bị mạng trong một cơ quan, tổ chức lại với nhau, là một trung tâm dữ liệu nơi chia sẻ và lưu trữ dữ liệu. Và các dữ liệu này luôn sẵn sàng đối với ngườ i dùng hợp lệ được phép truy cập vào nó. Nói chung máy chủ là một máy tính mà nó cung cấ p các dịch vụ đang chạy trên nó cho nhiều máy tính khác. Các dịch vụ đó có thể như là : Application service File service Database service Mail service Ftp service Web service Authentication Service… Thế nhưng thực tế cho ta thấy rằng các máy chủ sử dụng rất ít tài nguyên phầ n cứng của nó, chỉ từ 10 đến 30 cho một loại dịch vụ và phần tài nguyên còn lại thì không dùng đến, do vậy sinh ra lãng phí. Vì vậy nhu cầu thực thực tế là làm sao có thể tận dụng các phần tài nguyên còn lại đó một cách hiệu quả. Trong đồ án này em sẽ trình bày về công nghệ ảo hóa để giải quyết vấn đề này. Để hoàn thành tốt đồ án này, trong quá trình thực hiện đồ án em đã nhận được sự giúp đỡ tận tình của thầy Lê Kim Trọng, các thầy cô trong khoa và các bạn. Vì thờ i gian và kiến thức hạn hẹp nên đồ án không tránh khỏi thiếu sót. Rất mong nhận đượ c sự góp ý của thầy cô và các bạn. Em xin chân thành cảm ơn Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang ii MỤC LỤC LỜI NÓI ĐẦU .................................................................................................................i MỤC LỤC ..................................................................................................................... ii DANH MỤC TỪ VIẾT TẮT .......................................................................................iv DANH MỤC HÌNH ẢNH .............................................................................................v CHƯƠNG I: TỔNG QUAN ĐIỆN TOÁN ĐÁM MÂY.............................................1 VÀ CÔNG NGHỆ ẢO HÓA. .......................................................................................1 1.1. Bối cảnh. ...............................................................................................................1 1.2. Nhiệm vụ đồ án. ...................................................................................................1 1.3. Giới thiệu về công nghệ điện toán đám mây. ....................................................2 1.4. Tổng quan về ảo hóa. ..........................................................................................2 1.4.1. Khái niệm ảo hóa. ..........................................................................................2 1.4.2. Các thành phần của một hệ thống ảo hóa....................................................4 1.5. Các loại ảo hóa. ....................................................................................................5 1.5.1. VMM – Hypervisor. .......................................................................................6 1.5.2. Virtual Machine Monitor (VMM). ................................................................7 1.5.3. Hybrid .............................................................................................................8 1.5.4. Monolithic Hypervisor. ..................................................................................8 1.5.5. Microkernelized Hypervisor. .........................................................................9 1.6. Lợi ích của công nghệ ảo hóa. ..........................................................................10 1.7. Các công nghệ giúp tối ưu trong ảo hóa..........................................................11 1.7.1. Công nghệ máy ảo (Virtual Machine). .......................................................11 1.7.2. Công nghệ RAID. ........................................................................................13 1.7.2.1. Khái niệm. ..............................................................................................13 1.7.2.2. Lịch sử ra đời và phát triển RAID. .........................................................13 1.7.2.3. Các chuẩn RAID. ....................................................................................13 1.7.2.4. Các loại RAID. .......................................................................................15 1.7.3. Công nghệ lưu trữ mạng SAN ....................................................................17 CHƯƠNG II: ẢO HÓA VỚI VMWARE ESX SERVER. ......................................19 2.1. Giới thiệu............................................................................................................19 2.2. Cấu trúc VMware Esx Server. .........................................................................20 2.2.1. Hệ điều hành điều khiển (Console Operating System). .............................22 Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang iii 2.2.2. VMkernel. .....................................................................................................23 2.2.3. The ESX Boot Process. ................................................................................23 2.3. Phần cứng ảo (Hardware Virtualization). ......................................................24 2.4. Tính năng của ESX Server. ..............................................................................25 2.4.1. Virtual Machine File System (VMFS). ......................................................25 2.4.2. Virtual symmetric multi-processing (Virtual SMP). ..................................25 2.4.3. VMware High Availability (VMHA). ..........................................................25 2.4.4. VMotion và Storage VMotion......................................................................27 2.4.5. VMware Consolidated Backup (VCB). .......................................................28 2.4.6. vCenter Update Manager.............................................................................28 2.4.7. Phân phối tài nguyên theo lị ch trình (Distributed resource scheduler(DRS)). ....................................................................................................28 2.4.8. Quản lý phân phối điện năng (Distributed Power Manager (DPM)). ......29 2.4.9. VMware vSphere Data Recovery. ................................................................29 2.4.10. Virtual Center (VC) và VMware vSphere Client. .....................................30 2.5. Quản lý từ xa bằng VM vSphere Client. .........................................................30 CHƯƠNG III: XÂY DỰNG MÔ HÌNH ỨNG DỤNG Ả O HÓA CHO DOANH NGHIỆP VỪA VÀ NHỎ. ...........................................................................................32 3.1. Mục tiêu của giải pháp......................................................................................32 3.2. Mô hình. .............................................................................................................32 3.3. Triển khai. ..........................................................................................................33 KẾT LUẬN ..................................................................................................................40 TÀI LIỆU THAM KHẢO.......................................................................................... vii NHÂN XÉT CỦA CÁN BỘ HƯỚNG DẪN ............................................................ viii Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang iv DANH MỤC TỪ VIẾT TẮT Từ viết tắt Từ gốc Nghĩa của từ DRS Distributed Resource Scheduler Phân phối tài nguyên theo lịch trình VMM Virtual Machine Monitor Máy ảo SAN Storage Area Network Công nghệ lưu trữ mạng nội bộ RAID Redundant Array of Independent Disks Sự tận dụng các phần dư trong các ổ cứng độc lập COS Console Operating System Hệ điều hành điều khiển VMFS Virtual Machine File System Hệ thống truy cập tập tin trên máy ảo VSMP Virtual Symmetric Multi - Processing Hệ thống cân bằng tải đa nhân VMHA VMware High Availability Công nghệ tính năng cao của VMware VCB VMware Consolidated Backup Trình khôi phục dữ liệu của VMware DPM Distributed Power Manager Quản lý phân phối điện năng VC Virtual Center Trung tâm ảo Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang v DANH MỤC HÌNH ẢNH Hình 1.1: Một server vật lý trong mô hình ảo hoá. ....................................................3 Hình 1.2: Các thành phần của một hệ thống ảo hóa. .................................................4 Hình 1.3: Cấu trúc kiểu ảo hoá VMM Hypervisor. ...................................................6 Hình 1.4: Cấu trúc của kiểu ảo hoá VMM. .................................................................7 Hình 1.5: Kiến trúc ảo hoá kiểu Hybrid. .....................................................................8 Hình 1.6: Kiến trúc Monolithic Hypervisor. ...............................................................9 Hình 1.7: Kiến trúc kiểu Microkernelized Hypervisor. ...........................................10 Hình 1.8: Sơ đồ truy cập tài nguyên phần cứng của các máy ảo. ...........................12 Hình 1.9: Sơ đồ hoạt động của chuẩn Striping. ........................................................14 Hình 1.10: Sơ đồ hoạt động của chuẩn Duplexing. ..................................................14 Hình 1.11: Sơ đồ hoạt động của RAID level 0. .........................................................15 Hình 1.12: Sơ đồ hoạt động của RAID level 1. .........................................................16 Hình 1.13: Sơ đồ hoạt động của RAID 5. ..................................................................16 Hình 1.14: Sơ đồ hoạt động của RAID 1+0. ..............................................................17 Hình 1.15: Sơ đồ lưu trữ mạng SAN. .........................................................................18 Hình 2.1: Các sản phẩm ảo hóa của Vmware. ..........................................................19 Hình 2.2: Cấu trúc của ESX Server. ..........................................................................21 Hình 2.3: Sơ đồ tương tác trong ESX Server. ...........................................................22 Hình 2.4 : Sơ đồ phân phối card mạng. .....................................................................24 Hình 2.5: Sơ đồ hoạt động của VMFS. ......................................................................25 Hình 2.6: Sơ đồ hoạt động của Vmware High Availability. ....................................26 Hình 2.7: Mô hình hoạt động của Vmotion. ..............................................................27 Hình 2.8: Mô hình hoạt động của VMware Consolidated Backup .........................28 Hình 2.9: Mô hình hoạt động của DRS. ....................................................................29 Hình 2.10: Mô hình hoạt động của VMware vsphere data recovery. ....................29 Hình 2.11: Mô hình hoạt động của Virtual Center Manager ..................................30 Hình 2.12: Chương trình Vsphere Client. .................................................................31 Hình 2.13: Giao diện kết nối ESX Server. .................................................................31 Hình 3.1: Mô hình tổng quan. ....................................................................................32 Hình 3.2: Bắt đầu cài đặt Vmware ESXi. ..................................................................33 Hình 3.3: Quá trình cài đặt Vmware ESXi được hoàn thành. ................................34 Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang vi Hình 3.4: Chương trình quản lý từ xa Vsphere Client đang được cài đặt.............34 Hình 3.5: Cài đặt vCenter. ..........................................................................................35 Hình 3.6: Cài đặt SQL Server 2008. ..........................................................................35 Hình 3.7: Quá trình cài đặt vCenter được hoàn tất. ................................................36 Hình 3.8: Đăng nhập vào máy vCenter. ....................................................................36 Hình 3.9: Chọn Ignore để vào quản lý.......................................................................37 Hình 3.10: Giao diện sau khi đăng nhập vào vCenter. ............................................37 Hình 3.11: Nhập các thông tin để thêm host. ............................................................38 Hình 3.12: Hoàn tất việc Add Host. ...........................................................................38 Hình 3.14: Hệ thống sau khi được tạo. ......................................................................39 Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang 1 CHƯƠNG I: TỔNG QUAN ĐIỆN TOÁN ĐÁM MÂY VÀ CÔNG NGHỆ ẢO HÓA. 1.1. Bối cảnh. Nền công nghệ thông tin trên thế giới đang phát triển với tốc độ nhanh chóng. Ngày càng nhiều sản phẩm và nhiều tiện ích được phát triển và đưa đến tay ngườ i dùng. Các công nghệ cũ dần dần đã thể hiện nhiều mặt hạn chế và không phù hợp vớ i nhu cầu thực tiễn nữa, đặc biệt trong thời buổi kinh tế phát triển không ổn định như lúc này, các doanh nghiệp phải đối mặt với nhiều rủ ro. Do đó yêu cầu nhất thiết được đặt ra là tìm mọi cách để giảm thiểu các chi phí có thể. Trong lĩnh vực công nghệ thông tin thì công nghệ ảo hóa là giải pháp lý tưởng cho các doanh nghiệp có thể giả i quyết bài toán về các trung tâm dữ liệu của họ. Công nghệ này giúp giảm thiểu chi phí đầu tư mua nhiều máy chủ, tiết kiệm điện năng, hệ thống làm mát. Nhiệm vụ của công nghệ ảo hóa chính là tận dụng tối đa hiệu suất làm việc củ a các máy chủ bằng cách cho phép cài đặt nhiều máy chủ ứng dụng trên một máy chủ vật lý duy nhất. Và việc quản lý cũng trở nên dễ dàng hơn khi quản lý tập trung nhiề u máy trên một máy chủ duy nhất. Vấn đề khó khăn của công nghệ này chính là sự an toàn dữ liệu khi lo lắng rằng nếu máy chủ này bị sự cố về ổ đĩa thì sẽ bị mất dữ liệ u. Tuy nhiên vấn đề đó đã được khắc phục bằng một loạt các công nghệ đảm bả o an toàn dữ liệu và hoạt động ổn định của máy chủ như công nghệ High Availability, VM Monitor, RAID, công nghệ lưu trữ mạng SAN. Hiện nay các nhà cung cấp các sản phẩm phần mềm máy chủ đều ra sức tập trung để nghiên cứu và phát triển công nghệ này. Nổi bật là VMware và Microsoft. Đây là hai nhà cung cấp đang nắm giữ phần lớn thị trường ảo hóa hiện nay. Tại Việt Nam, ứng dụng công nghệ ảo hóa còn rất dè dặt do chưa có nhiề u doanh nghiệp thấy được nhu cầu cần thiết và nắm được công nghệ này. Bên cạnh đó thì việ c còn thiếu một đội ngũ lành nghề và lo ngại về tính an toàn của công nghệ này cũng làm cho các doanh nghiệp lo ngại và ít chú tâm vào công nghệ này. 1.2. Nhiệm vụ đồ án. Việc ra đời của công nghệ ảo hóa đã dẫn đến những động lực phát triể n và các mục tiêu mới cho các nhà cung cấp sản phẩm ảo hóa cho phù hợp với nhu cầu thị trường và yêu cầu thực tiễn. Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang 2 Nhiệm vụ chính của luận văn là nghiên cứu về công nghệ ảo hóa nhằm ứng dụ ng xây dựng mô hình ứng dụng ảo hóa cho doanh nghiệp nhỏ. Từ đó có thể cho thấy đượ c các lợi ích mà công nghệ này đem lại và cũng để đánh giá để tìm ra giả i pháp xây dựng các giải pháp nhằm tối ưu hóa hệ thống công nghệ thông tin. 1.3. Giới thiệu về công nghệ điện toán đám mây. Thuật ngữ “Cloud Computing” ra đời giữa năm 2007 không phải để nói về một trào lưu mới, mà để khái quát lại các hướng đi của cơ sở hạ tầng thông tin v ốn đã và đang diễn ra từ mấy năm qua. Quan niệm này có thể diễn giải một cách đơn giả n: các nguồn điện toán khổng lồ như phần mềm, dịch vụ… sẽ nằm tại các máy chủ ảo (đám mây) trên Internet thay vì trong máy tính gia đình và văn phòng để mọi người kết nố i và sử dụng mỗi khi họ cần. Điện toán đám mây có thể hiểu là mô hình điện toán sử dụng công nghệ phầ n mềm, khoa học máy tính… được phát triển trên hạ tầng mạng máy tính và Internet, để tạo ra “một đám mây” cung cấp từ cơ sở hạ tầng, nơi lưu trữ dữ liệu cho đến các dị ch vụ sẵn sàng, nhanh chóng cho mọi cơ quan, tổ chức doanh nghiệp và người dùng đầ u cuối theo yêu cầu. Với mô hình điện toán đám mây, người dùng không phải quan tâm đến kỹ năng cài đặt, triển khai và ứng dụng phần mềm, các yêu cầu về cơ sở hạ tầ ng truyền thông, mạng máy tính và Internet để truy cấp dịch vụ. Cloud Computing giả i quyết các vấn đề tối ưu hóa lưu trữ, ảo hóa máy chủ, cơ sở hạ tầng mạng. Ả o hóa tính toán, sử dụng các siêu máy tính để xử lý tính toán và công nghệ tính toán song song, phân toán, tính toán lưới. “ Chìa khóa” chính giúp công nghệ điện toán đám mây giải quyết được các vấn đề phức tạp kể trên chính là sự ảo hóa. Tất cả tài nguyên của hệ thống đều được ả o hóa. Ảo hóa nhưng vẫn giữ và vẫn đáp ứng được các yêu cầu cần thiết như các nguồ n tài nguyên vật lý bình thường và vấn đề quản lý rất đơn giản. 1.4. Tổng quan về ảo hóa. 1.4.1. Khái niệm ảo hóa. Ảo hóa là một công nghệ được ra đời nhằm khai thác triệt để khả năng làm việ c củ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 gian giữ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. Ảo hóa 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 Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang 3 được cấp phá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ài nguyê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 mô hình ảo hoá. Hiện nay có nhiều nhà cung cấp các sản phẩm máy chủ và phần mềm đều 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 nay sau này mới phát triển thành nhiều loại ả o hóa có chức nă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ều má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át cá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ên củ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ừng má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ột má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ụng chạ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ủa mộ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ẽ cho phé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 Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang 4 điểm là chỉ cần mộ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.4.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 trườ ng làm việc của các máy ảo. Máy ảo (Virtual Machine) là 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. 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ạy trên nó và hiệu quả làm việc của các máy ảo cao hơn. Các tài nguyên vật lý thông thường như là ổ đĩa cứng, RAM, card mạng… 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ác má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 ra cá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 Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang 5 nguyên này đến các máy ảo. Kế hoạch quản lý sử dụng tài nguyên khi có sự tranh chấ p một tài nguyên đặc biệt của các máy ảo, điều này dẫn tới sự hiệu quả làm việc củ a 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ình cho các máy ảo. 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 ổ đĩ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ột kiể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 ta cà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. 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 dung có những thao tác giống như là đ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 thì bạn có thể xây dựng cho mình một hệ thống ứng dụng ảo hóa. Ngoài việc lựa chọn phần cứng cho thích hợp bạn còn phải cân nhắ 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 quan trọ ng trong việc tối ưu hóa hiệu suất làm việc cho hệ thống của bạn. 1.5. Các loại ảo hóa. Ảo hoá được xây dựng dựa trên giải pháp chia một máy chủ vật lý thành nhiề u máy con. Giải pháp này được biết đến với cái tên là Virtual Machine Monitor (VMM) sau này được gọi là Hypervisor. VMM cho phép tạo tách rời các máy ảo và điều phố i truy cập tài nguyên của các máy ảo này đến tài nguyên phần cứng. Mặ c dù cho phép sử dụng các hệ điều hành bất kì trên các máy ảo nhưng trong thực tế để đạt một kế t quả và hiệu suất cao nhất thì các nhà sản xuất vẫn giới hạn và khuyến cáo rằng nên sử dụng một hệ điều hành nào đó. Đó là vì các vấn đề tương thích giữa các hệ điề u hành máy ảo với hệ điều hành máy chủ và hệ điều hành máy chủ với phần cứng. Dựa vào đặc điểm cấu trúc thì có thể phân loại ảo hoá thành những dạng sau: Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang 6 1.5.1. VMM – Hypervisor. Công nghệ VMM-Hypervisor là một dạng ảo hóa cơ bản. Nó hoạt động như là một lớp phần mềm nằm ngay trên phần cứng hoặc bên dưới một hoặc nhiều hệ điề u hành khách. Mục đích chính của nó là cung cấp các môi trường làm việc cho các máy ảo. Cho phép các máy ảo hoạt động trên một phần của phần cứng được gọ i là phân vùng (partition). Các hệ điều hành của máy ảo được cài đặt trên phân vùng này. Mỗ i phân vùng sẽ được cung cấp tập hợp các tài nguyên phần cứng riêng của nó chẳng hạn như bộ nhớ, các chu kỳ CPU và thiết bị. Hypervisor có trách nhiệm điều khiể n và phân phối các luồng truy cập đến các tài nguyên phần cứng. 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à: Hypervisor mô phỏng phần cứng. Nó làm cho các hệ điều hành tưởng rằng mì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ý. Hình 1.3: Cấu trúc kiểu ảo hoá VMM Hypervisor. Trong mô hình này trình điều khiển phần cứng liên lạc trực tiếp với các thiết bị phần cứng mà không phải qua bất kì trung gian nào nên nó mang lại một hiệu suấ t cao nhất về sử dụng tài nguyên phần cứng. Một vài sản phẩm đang sử dụng dạ ng này là Microsoft Hyper-V, Citrix Xen Server, VMware ESX Server. Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang 7 1.5.2. Virtual Machine Monitor (VMM). VMM là một loại ảo hóa hoạt động như một phần mềm chạy trên một hệ điề u hành chủ khác. Nghĩa là để tương tác với tài nguyên phần cứng nó phải liên lạ c thông qua hệ điều hành chủ. Các sản phẩm điển hình cho kiểu ả o hóa này là VMware Server, Microsoft Virtual PC, máy ảo Java. Mố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 ảo hóa VMM được mô tả như sau 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ân vù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ộ t máy ảo truy xuất tài nguyên thì lớp Hypervisor sẽ thay thế máy ảo đó gở i các yê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ể n thiế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áy thự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ủ. Hình 1.4: Cấu trúc của kiểu ảo hoá VMM. Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang 8 1.5.3. 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 Hypervisor chạ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áy chủ ả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. Khi mộ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 Hybrid nhanh hơn là lớp ảo hóa chạy trong trong chế độ hạt nhân (chạ y song song với hệ điều hành) trái với Virtual Machine Monitor với lớp ảo hóa chạ y trong trong chế độ người dùng (chạy như một ứng dụng cài trên hệ điều hành). Phương pháp ảo hóa Hybrid được sử dụng trong hai sản phẩm ảo hóa phổ biế n của là Microsoft Virtual PC 2007 và Microsoft Virtual Server 2005 R2. Hình 1.5: Kiến trúc ảo hoá kiểu Hybrid. 1.5.4. 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ứng bê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ông qua 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 cao, nhưng cũng giống như bất kì các giả i pháp khác bên mặt ưu điểm thì nó cũng còn có nhiều điểm yếu. Vì nếu lớp trình điều khiển Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang 9 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ần cứng ngày nay rất đa dạ ng, nhiều loại và do nhiều nhà cung cấp khác nhau nên trì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ều khiể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 có thể điều khiển tốt hoạt động củ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. Hình 1.6: Kiến trúc Monolithic Hypervisor. 1.5.5. Microkernelized Hypervisor. Microkernelized Hypervisor là một kiểu ảo hóa giống như Monolithic Hypervisor. Điểm khá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ứng bê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ều khiể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ển chí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ạc với phần cứng. Tiêu biểu cho ứng dụng loại ả o hóa này là Windows Server 2008 Hyper-V Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang 10 Hình 1.7: Kiến trúc kiểu Microkernelized Hypervisor. 1.6. Lợi ích của công nghệ ảo hóa. Quản lý đơn giản: Khi triển khai hệ thống ảo hoá thì số lượng máy chủ vậ t lý giảm đi đáng kể và khi đó việc theo dõi và giám sát hệ thống rất dễ dàng và h ầu như được thực hiện bởi công cụ phần mềm quản trị tập trung từ xa do nhà cung cấp phầ n mềm ảo hoá hỗ trợ. Nhà quản trị dễ dàng theo dõi tình trạng của các máy ảo và của cả hệ thống. Nếu máy chủ bị trục trặc thì có thể chuyển máy ảo từ máy chủ này sang máy chủ khác, có thể nâng cấp phần cứng bằng cách gắn thêm RAM, ổ cứng một cách nhanh chóng và đơn giản. Triển khai nhanh: Khi triển khai hệ thống thì không cần nhất thiết phải cài đặ t toàn bộ máy ảo trên hệ thống. Vì mỗi máy ảo chỉ là một tập tin được cài trên mộ t phân vùng trên ổ cứng nên chúng ta có thể tận dụng điều này để giảm thiểu thời gian cài đặ t bằng cách sao chép các tập tin này và cấu hình lại cho đúng với yêu cầu của máy ảo đang sử dụng. Với cách làm này sẽ giảm thời gian cài đặt từng máy ảo và tận dụng tối đa tài nguyên nhàn rỗi của tất cả các máy chủ vật lý. Vì thực tế hiện nay tạ i trung tâm dữ liệu có nhiều máy chủ không khai thác thác hết tài nguyên phần cứng của hệ thống. Phục hồi và lưu trữ hệ thống nhanh: Vì máy ảo chỉ là một tập tin trên ổ đĩa nên việc sao lưu rất đơn giản là sao chép lại các tập tin này. Và khi một máy ảo gặp sự cố và hỏng hóc do một lỗi hệ điều hành nào đó thì việc phục hồi đơn giản là chép đè tập tin đã được sao chép lên tập tin cũ và hệ thống có thể hoạt động bình thường lại ngay như lúc chưa bị lỗi. Thời gian để phục hồi hệ thống là rất ít. Nếu được đầu tư thêm mộ t số máy chủ khác thì ta có thể cấu hình tính năng High Availability cho các máy chủ ả o hóa này. Khi đó một máy ảo hay một máy chủ bị sự cố thì tất cả các máy ảo sẽ đượ c di chuyển nóng đến máy chủ khác và có thể hoạt động lại ngay tức thì. Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang 11 Cân bằng tải và phân phối tài nguyên linh hoạt: Với các công cụ quản lý từ xa các máy chủ và máy ảo ta sẽ thấy được tình trạng của toàn bộ hệ thống từ đó có chính sách năng cấp CPU, RAM, ổ cứng cho máy chủ hoặc máy ảo đó hoặc di chuyển máy ảo đang quá tải đó sang máy chủ vật lý có cấu hình mạnh hơn, có nhiề u tài nguyên còn trống hơn để hoạt động. Tiết kiệm: Công nghệ ảo hóa giúp các doanh nghiệp có thể tiết kiệm được mộ t chi phí lớn đó là điện năng chiếu sáng và hệ thống làm mát. Ả o hóa cho phép gom nhiều máy chủ vào một máy chủ vật lý nên chỉ tốn kém chi phí điện tiêu thụ , làm mát và chiếu sáng cho một vài máy chủ thôi. Bên cạnh đó thì diện tích sử dụng để đặ t máy chủ cũng được thu hẹp lại. Và hệ thống dây cáp nối cũng ít đi. 1.7. Các công nghệ giúp tối ưu trong ảo hóa. 1.7.1. Công nghệ máy ảo (Virtual Machine). Máy ảo là một máy tính được cài trên một hệ điều hành khác hay mộ t máy tính khác. Một máy ảo cũng bao gồm phần cứng, các ứng dụng phần mềm và hệ điều hành. Điều khác biệt ở đây là lớp phần cứng của máy ảo không phải là các thiết bị thườ ng mà chỉ là một môi trường hay phân vùng mà ở đó nó được cấp phát một số tài nguyên như là chu kì CPU, bộ nhớ, ổ đĩa… Công nghệ máy ảo cho phép cài và chạy nhiề u máy ảo trên một máy tính vật lý. Mỗi máy ảo có một hệ điều hành máy khách riêng lẻ và được phân bố tài nguyên, ổ cứng, card mạng và các tài nguyên phần cứng khác mộ t cách hợp lý. Việc phân bố tài nguyên này phụ thuộc vào nhu cầu của từng máy ảo ứ ng dụng và cũng tùy thuộc vào phương pháp ảo hóa được dùng. Đặc biệt khi máy ảo cầ n truy xuất tài nguyên phần cứng thì nó hoạt động giống như một máy thật hoàn chỉ nh. Vì chỉ là một tập tin được phân vùng trên ổ đĩa nên việc di chuyển các máy ảo từ máy chủ này sang máy chủ khác là rất dễ dàng và không cần quan tâm đến vấn đề tương thích phần cứng hay ảnh hưởng tới máy chủ. Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B Trang 12 Hình 1.8: Sơ đồ truy cập tài nguyên phần cứng của các máy ảo. Trong kiến trúc của một bộ xử lý ảo hóa được chia thành 4 lớp. Lớp 0 là lớ p có quyền cao nhất có thể truy cập và can thiệp sâu nhất đến tài nguyên phần cứng. Lớp 0 thường là các hệ điều hành chủ được cài trên chính máy chủ. Lớp 1 là lớp ả o hóa Hypervisor. Lớp này dùng đề quản lý và phân phối tài nguyên đến các máy ảo. Lớ p 2 là các hệ điều hành khách chạy trên các máy ảo. Để truy cập tài nguyên phần cứ ng nó phải liên lạc với lớp ảo hóa và phải qua hệ điều hành máy chủ. Lớp có quyền can thiệ p thấp nhất đến tài nguyên là lớp 3. Đây là các ứng dụng hoạt động trên các máy ảo. Trong các hệ thống máy tính lớn dùng để xử lý các ứng dụng thương mạ i và khoa học (Mainframe), hệ điều hành chạy trên phần cứng máy thực ở chế độ ưu tiên vì chỉ có hệ điều hành chủ mới được phép sửa đổi và can thiệp vào phần cứng bên dướ i nó. Còn máy ảo làm việc ở chế độ giới hạn vì phần cứng mà nó nhìn thấy chỉ là các thiết bị ảo. Khi máy ảo yêu cầu các lệnh hoặc tiến trình thông thường thì hệ điề u hành chủ sẽ chuyển tiếp chúng đến bô xử lý để thực thi trực tiếp, còn đối với các lệnh hoặ c các tiến trình đặc biệt nhạy cảm can thiệp sâu đến phần cứng bên dưới sẽ bị chặn lạ i vì có thể làm ảnh hưởng tới hệ thống và máy ảo còn lại. Hệ điều hành chủ sẽ thự c thi lệnh với bộ xử lý trên máy thực rồi sau đó mô phỏng kết quả rồi trả về cho máy ảo. Đây là cơ chế nhằm cách ly máy ảo với máy thực để đảm bảo an toàn hệ thống. Ảo hóa cho doanh nghiệp vừa và nhỏ dùng Vmware ESX Server Trần Vũ Xuân – Lớp CCMM04B...
TỔNG QUAN ĐIỆN TOÁN ĐÁM MÂY
Bối cảnh
Nền công nghệ thông tin trên thế giới đang phát triển với tốc độ nhanh chóng Ngày càng nhiều sản phẩm và nhiều tiện ích được phát triển và đưa đến tay người dùng Các công nghệ cũ dần dần đã thể hiện nhiều mặt hạn chế và không phù hợp với nhu cầu thực tiễn nữa, đặc biệt trong thời buổi kinh tế phát triển không ổn định như lúc này, các doanh nghiệp phải đối mặt với nhiều rủ ro Do đó yêu cầu nhất thiết được đặt ra là tìm mọi cách để giảm thiểu các chi phí có thể Trong lĩnh vực công nghệ thông tin thì công nghệ ảo hóa là giải pháp lý tưởng cho các doanh nghiệp có thể giải quyết bài toán về các trung tâm dữ liệu của họ Công nghệ này giúp giảm thiểu chi phí đầu tư mua nhiều máy chủ, tiết kiệm điện năng, hệ thống làm mát
Nhiệm vụ của công nghệ ảo hóa chính là tận dụng tối đa hiệu suất làm việc của các máy chủ bằng cách cho phép cài đặt nhiều máy chủ ứng dụng trên một máy chủ vật lý duy nhất Và việc quản lý cũng trở nên dễ dàng hơn khi quản lý tập trung nhiều máy trên một máy chủ duy nhất Vấn đề khó khăn của công nghệ này chính là sự an toàn dữ liệu khi lo lắng rằng nếu máy chủ này bị sự cố về ổ đĩa thì sẽ bị mất dữ liệu Tuy nhiên vấn đề đó đã được khắc phục bằng một loạt các công nghệ đảm bảo an toàn dữ liệu và hoạt động ổn định của máy chủ như công nghệ High Availability, VM Monitor, RAID, công nghệ lưu trữ mạng SAN
Hiện nay các nhà cung cấp các sản phẩm phần mềm máy chủ đều ra sức tập trung để nghiên cứu và phát triển công nghệ này Nổi bật là VMware và Microsoft Đây là hai nhà cung cấp đang nắm giữ phần lớn thị trường ảo hóa hiện nay
Tại Việt Nam, ứng dụng công nghệ ảo hóa còn rất dè dặt do chưa có nhiều doanh nghiệp thấy được nhu cầu cần thiết và nắm được công nghệ này Bên cạnh đó thì việc còn thiếu một đội ngũ lành nghề và lo ngại về tính an toàn của công nghệ này cũng làm cho các doanh nghiệp lo ngại và ít chú tâm vào công nghệ này.
Nhiệm vụ đồ án
Việc ra đời của công nghệ ảo hóa đã dẫn đến những động lực phát triển và các mục tiêu mới cho các nhà cung cấp sản phẩm ảo hóa cho phù hợp với nhu cầu thị trường và yêu cầu thực tiễn
Nhiệm vụ chính của luận văn là nghiên cứu về công nghệ ảo hóa nhằm ứng dụng xây dựng mô hình ứng dụng ảo hóa cho doanh nghiệp nhỏ Từ đó có thể cho thấy được các lợi ích mà công nghệ này đem lại và cũng để đánh giá để tìm ra giải pháp xây dựng các giải pháp nhằm tối ưu hóa hệ thống công nghệ thông tin.
Giới thiệu về công nghệ điện toán đám mây
Thuật ngữ “Cloud Computing” ra đời giữa năm 2007 không phải để nói về một trào lưu mới, mà để khái quát lại các hướng đi của cơ sở hạ tầng thông tin vốn đã và đang diễn ra từ mấy năm qua Quan niệm này có thể diễn giải một cách đơn giản: các nguồn điện toán khổng lồ như phần mềm, dịch vụ… sẽ nằm tại các máy chủ ảo (đám mây) trên Internet thay vì trong máy tính gia đình và văn phòng để mọi người kết nối và sử dụng mỗi khi họ cần Điện toán đám mây có thể hiểu là mô hình điện toán sử dụng công nghệ phần mềm, khoa học máy tính… được phát triển trên hạ tầng mạng máy tính và Internet, để tạo ra “một đám mây” cung cấp từ cơ sở hạ tầng, nơi lưu trữ dữ liệu cho đến các dịch vụ sẵn sàng, nhanh chóng cho mọi cơ quan, tổ chức doanh nghiệp và người dùng đầu cuối theo yêu cầu Với mô hình điện toán đám mây, người dùng không phải quan tâm đến kỹ năng cài đặt, triển khai và ứng dụng phần mềm, các yêu cầu về cơ sở hạ tầng truyền thông, mạng máy tính và Internet để truy cấp dịch vụ Cloud Computing giải quyết các vấn đề tối ưu hóa lưu trữ, ảo hóa máy chủ, cơ sở hạ tầng mạng Ảo hóa tính toán, sử dụng các siêu máy tính để xử lý tính toán và công nghệ tính toán song song, phân toán, tính toán lưới
“ Chìa khóa” chính giúp công nghệ điện toán đám mây giải quyết được các vấn đề phức tạp kể trên chính là sự ảo hóa Tất cả tài nguyên của hệ thống đều được ảo hóa Ảo hóa nhưng vẫn giữ và vẫn đáp ứng được các yêu cầu cần thiết như các nguồn tài nguyên vật lý bình thường và vấn đề quản lý rất đơn giản.
Tổng quan về ảo hóa
1.4.1 Khái niệm ảo hóa Ảo hóa là một công nghệ được ra đời nhằm khai thác triệt để khả năng làm việc củ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 gian giữ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 Ảo hóa 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ấp phá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ài nguyê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 mô hình ảo hoá
Hiện nay có nhiều nhà cung cấp các sản phẩm máy chủ và phần mềm đều 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 nay sau này mới phát triển thành nhiều loại ảo hóa có chức nă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ều má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át cá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ên củ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ừng má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ột má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ụng chạ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ủa mộ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ẽ cho phé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ần mộ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.4.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 trường làm việc của các máy ảo
Máy ảo (Virtual Machine) là 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
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ạy trên nó và hiệu quả làm việc của các máy ảo cao hơn Các tài nguyên vật lý thông thường như là ổ đĩa cứng, RAM, card mạng…
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ác má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 ra cá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 Kế hoạch quản lý sử dụng tài nguyên khi có sự tranh chấp một tài nguyên đặc biệt của các máy ảo, điều này dẫn tới sự hiệu quả làm việc của 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ình cho các máy ảo
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 ổ đĩ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ột kiể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 ta cà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
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 dung có những thao tác giống như là đ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 thì bạn có thể xây dựng cho mình một hệ thống ứng dụng ảo hóa Ngoài việc lựa chọn phần cứng cho thích hợp bạn còn phải cân nhắ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 quan trọng trong việc tối ưu hóa hiệu suất làm việc cho hệ thống của bạn.
Các loại ảo hóa
Ảo hoá được xây dựng dựa trên giải pháp chia một máy chủ vật lý thành nhiều máy con Giải pháp này được biết đến với cái tên là Virtual Machine Monitor (VMM) sau này được gọi là Hypervisor VMM cho phép tạo tách rời các máy ảo và điều phối truy cập tài nguyên của các máy ảo này đến tài nguyên phần cứng Mặc dù cho phép sử dụng các hệ điều hành bất kì trên các máy ảo nhưng trong thực tế để đạt một kết quả và hiệu suất cao nhất thì các nhà sản xuất vẫn giới hạn và khuyến cáo rằng nên sử dụng một hệ điều hành nào đó Đó là vì các vấn đề tương thích giữa các hệ điều hành máy ảo với hệ điều hành máy chủ và hệ điều hành máy chủ với phần cứng Dựa vào đặc điểm cấu trúc thì có thể phân loại ảo hoá thành những dạng sau:
Công nghệ VMM-Hypervisor là một dạng ảo hóa cơ bản Nó hoạt động như là một lớp phần mềm nằm ngay trên phần cứng hoặc bên dưới một hoặc nhiều hệ điều hành khách Mục đích chính của nó là cung cấp các môi trường làm việc cho các máy ảo Cho phép các máy ảo hoạt động trên một phần của phần cứng được gọi là phân vùng (partition) Các hệ điều hành của máy ảo được cài đặt trên phân vùng này Mỗi phân vùng sẽ được cung cấp tập hợp các tài nguyên phần cứng riêng của nó chẳng hạn như bộ nhớ, các chu kỳ CPU và thiết bị Hypervisor có trách nhiệm điều khiển và phân phối các luồng truy cập đến các tài nguyên phần cứng
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à:
Hypervisor mô phỏng phần cứng Nó làm cho các hệ điều hành tưởng rằng mì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ý
Hình 1.3: Cấu trúc kiểu ảo hoá VMM Hypervisor
Trong mô hình này trình điều khiển phần cứng liên lạc trực tiếp với các thiết bị phần cứng mà không phải qua bất kì trung gian nào nên nó mang lại một hiệu suất cao nhất về sử dụng tài nguyên phần cứng Một vài sản phẩm đang sử dụng dạng này là Microsoft Hyper-V, Citrix Xen Server, VMware ESX Server
VMM là một loại ảo hóa hoạt động như một phần mềm chạy trên một hệ điều hành chủ khác Nghĩa là để tương tác với tài nguyên phần cứng nó phải liên lạc thông qua hệ điều hành chủ Các sản phẩm điển hình cho kiểu ảo hóa này là VMware Server, Microsoft Virtual PC, máy ảo Java
Mố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 ảo hóa VMM được mô tả như sau 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ân vù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ột máy ảo truy xuất tài nguyên thì lớp Hypervisor sẽ thay thế máy ảo đó gởi các yê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ển thiế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áy thự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ủ
Hình 1.4: Cấu trúc của kiểu ảo hoá VMM
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 Hypervisor chạ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áy chủ ả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 Khi mộ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 Hybrid nhanh hơn là lớp ảo hóa chạy trong trong chế độ hạt nhân (chạy song song với hệ điều hành) trái với Virtual Machine Monitor với lớp ảo hóa chạy trong trong chế độ người dùng (chạy như một ứng dụng cài trên hệ điều hành)
Phương pháp ảo hóa Hybrid được sử dụng trong hai sản phẩm ảo hóa phổ biến của là Microsoft Virtual PC 2007 và Microsoft Virtual Server 2005 R2
Hình 1.5: Kiến trúc ảo hoá kiểu Hybrid
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ứng bê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ông qua 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 cao, nhưng cũng giống như bất kì các giải pháp khác bên mặt ưu điểm thì nó cũng còn có nhiều điểm yếu Vì 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ần cứng ngày nay rất đa dạng, nhiều loại và do nhiều nhà cung cấp khác nhau nên trì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ều khiể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 có thể điều khiển tốt hoạt động củ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
Hình 1.6: Kiến trúc Monolithic Hypervisor
Microkernelized Hypervisor là một kiểu ảo hóa giống như Monolithic Hypervisor Điểm khá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ứng bê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ều khiể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ển chí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ạc với phần cứng Tiêu biểu cho ứng dụng loại ảo hóa này là Windows Server 2008 Hyper-V
Hình 1.7: Kiến trúc kiểu Microkernelized Hypervisor.
Lợi ích của công nghệ ảo hóa
Quản lý đơn giản: Khi triển khai hệ thống ảo hoá thì số lượng máy chủ vật lý giảm đi đáng kể và khi đó việc theo dõi và giám sát hệ thống rất dễ dàng và hầu như được thực hiện bởi công cụ phần mềm quản trị tập trung từ xa do nhà cung cấp phần mềm ảo hoá hỗ trợ Nhà quản trị dễ dàng theo dõi tình trạng của các máy ảo và của cả hệ thống Nếu máy chủ bị trục trặc thì có thể chuyển máy ảo từ máy chủ này sang máy chủ khác, có thể nâng cấp phần cứng bằng cách gắn thêm RAM, ổ cứng một cách nhanh chóng và đơn giản
Triển khai nhanh: Khi triển khai hệ thống thì không cần nhất thiết phải cài đặt toàn bộ máy ảo trên hệ thống Vì mỗi máy ảo chỉ là một tập tin được cài trên một phân vùng trên ổ cứng nên chúng ta có thể tận dụng điều này để giảm thiểu thời gian cài đặt bằng cách sao chép các tập tin này và cấu hình lại cho đúng với yêu cầu của máy ảo đang sử dụng Với cách làm này sẽ giảm thời gian cài đặt từng máy ảo và tận dụng tối đa tài nguyên nhàn rỗi của tất cả các máy chủ vật lý Vì thực tế hiện nay tại trung tâm dữ liệu có nhiều máy chủ không khai thác thác hết tài nguyên phần cứng của hệ thống
Phục hồi và lưu trữ hệ thống nhanh: Vì máy ảo chỉ là một tập tin trên ổ đĩa nên việc sao lưu rất đơn giản là sao chép lại các tập tin này Và khi một máy ảo gặp sự cố và hỏng hóc do một lỗi hệ điều hành nào đó thì việc phục hồi đơn giản là chép đè tập tin đã được sao chép lên tập tin cũ và hệ thống có thể hoạt động bình thường lại ngay như lúc chưa bị lỗi Thời gian để phục hồi hệ thống là rất ít Nếu được đầu tư thêm một số máy chủ khác thì ta có thể cấu hình tính năng High Availability cho các máy chủ ảo hóa này Khi đó một máy ảo hay một máy chủ bị sự cố thì tất cả các máy ảo sẽ được di chuyển nóng đến máy chủ khác và có thể hoạt động lại ngay tức thì
Cân bằng tải và phân phối tài nguyên linh hoạt: Với các công cụ quản lý từ xa các máy chủ và máy ảo ta sẽ thấy được tình trạng của toàn bộ hệ thống từ đó có chính sách năng cấp CPU, RAM, ổ cứng cho máy chủ hoặc máy ảo đó hoặc di chuyển máy ảo đang quá tải đó sang máy chủ vật lý có cấu hình mạnh hơn, có nhiều tài nguyên còn trống hơn để hoạt động
Tiết kiệm: Công nghệ ảo hóa giúp các doanh nghiệp có thể tiết kiệm được một chi phí lớn đó là điện năng chiếu sáng và hệ thống làm mát Ảo hóa cho phép gom nhiều máy chủ vào một máy chủ vật lý nên chỉ tốn kém chi phí điện tiêu thụ, làm mát và chiếu sáng cho một vài máy chủ thôi Bên cạnh đó thì diện tích sử dụng để đặt máy chủ cũng được thu hẹp lại Và hệ thống dây cáp nối cũng ít đi.
Các công nghệ giúp tối ưu trong ảo hóa
1.7.1 Công nghệ máy ảo (Virtual Machine)
Máy ảo là một máy tính được cài trên một hệ điều hành khác hay một máy tính khác Một máy ảo cũng bao gồm phần cứng, các ứng dụng phần mềm và hệ điều hành Điều khác biệt ở đây là lớp phần cứng của máy ảo không phải là các thiết bị thường mà chỉ là một môi trường hay phân vùng mà ở đó nó được cấp phát một số tài nguyên như là chu kì CPU, bộ nhớ, ổ đĩa… Công nghệ máy ảo cho phép cài và chạy nhiều máy ảo trên một máy tính vật lý Mỗi máy ảo có một hệ điều hành máy khách riêng lẻ và được phân bố tài nguyên, ổ cứng, card mạng và các tài nguyên phần cứng khác một cách hợp lý Việc phân bố tài nguyên này phụ thuộc vào nhu cầu của từng máy ảo ứng dụng và cũng tùy thuộc vào phương pháp ảo hóa được dùng Đặc biệt khi máy ảo cần truy xuất tài nguyên phần cứng thì nó hoạt động giống như một máy thật hoàn chỉnh
Vì chỉ là một tập tin được phân vùng trên ổ đĩa nên việc di chuyển các máy ảo từ máy chủ này sang máy chủ khác là rất dễ dàng và không cần quan tâm đến vấn đề tương thích phần cứng hay ảnh hưởng tới máy chủ
Hình 1.8: Sơ đồ truy cập tài nguyên phần cứng của các máy ảo
Trong kiến trúc của một bộ xử lý ảo hóa được chia thành 4 lớp Lớp 0 là lớp có quyền cao nhất có thể truy cập và can thiệp sâu nhất đến tài nguyên phần cứng Lớp 0 thường là các hệ điều hành chủ được cài trên chính máy chủ Lớp 1 là lớp ảo hóa Hypervisor Lớp này dùng đề quản lý và phân phối tài nguyên đến các máy ảo Lớp 2 là các hệ điều hành khách chạy trên các máy ảo Để truy cập tài nguyên phần cứng nó phải liên lạc với lớp ảo hóa và phải qua hệ điều hành máy chủ Lớp có quyền can thiệp thấp nhất đến tài nguyên là lớp 3 Đây là các ứng dụng hoạt động trên các máy ảo
Trong các hệ thống máy tính lớn dùng để xử lý các ứng dụng thương mại và khoa học (Mainframe), hệ điều hành chạy trên phần cứng máy thực ở chế độ ưu tiên vì chỉ có hệ điều hành chủ mới được phép sửa đổi và can thiệp vào phần cứng bên dưới nó Còn máy ảo làm việc ở chế độ giới hạn vì phần cứng mà nó nhìn thấy chỉ là các thiết bị ảo Khi máy ảo yêu cầu các lệnh hoặc tiến trình thông thường thì hệ điều hành chủ sẽ chuyển tiếp chúng đến bô xử lý để thực thi trực tiếp, còn đối với các lệnh hoặc các tiến trình đặc biệt nhạy cảm can thiệp sâu đến phần cứng bên dưới sẽ bị chặn lại vì có thể làm ảnh hưởng tới hệ thống và máy ảo còn lại Hệ điều hành chủ sẽ thực thi lệnh với bộ xử lý trên máy thực rồi sau đó mô phỏng kết quả rồi trả về cho máy ảo Đây là cơ chế nhằm cách ly máy ảo với máy thực để đảm bảo an toàn hệ thống
RAID là chữ viết tắt của Redundant Arrays of Inexpensive Disks có ngĩa là sự tận dụng các phần dư trong các ổ cứng độc lập Ban đầu, RAID được sử dụng như một giải pháp phòng hộ vì nó cho phép ghi dữ liệu lên nhiều đĩa cứng cùng lúc RAID chính là sự kết hợp giữa các đĩa cứng vật lý bẳng cách sử dụng một trình điều khiển đặc biệt RAID có thể sử dụng như là một phần cứng lẫn phần mềm
Hệ thống RAID được dùng trong việc đảm bảo an toàn dữ liệu khi có ổ đĩa bị lỗi và phục hồi lại các dữ liệu, có thể thay nóng ổ đĩa đối với một số loại RAID và cũng còn tùy thuộc vào máy chủ RAID ngày càng trở nên cần thiết cho các hệ thống máy tính
Vì RAID mang tính toàn vẹn dữ liệu cao, phục hồi nhanh chóng nên RAID chủ yếu được ứng dụng vào các máy máy chủ, không phải là các máy bàn không thể dùng RAID được mà là do chi phí đầu tư khá tốn kém nên chỉ ở các hệ thống lớn đòi hỏi độ an toàn cho dữ liệu phải cao mới sử dụng
1.7.2.2 Lịch sử ra đời và phát triển RAID
Công nghệ RAID bắt nguồn từ ý tưởng gom những dung lượng nhỏ còn trống ở nhiều ổ cứng để tạo một ổ cứng có dung lượng lớn hơn Ngày 30/5/1978 Norman Ken Ouchi tại IBM đã nhận được giải thưởng bằng sáng chế với chủ đề “System for recovering data stored in failed memory unit” Chủ đề này nói về cách hoạt động ghi song song, ánh xạ và ghép đôi mà ngày nay được ứng dụng trong các loại RAID Sau nhiều năm nghiên cứu thì tại viện nghiên cứu Berkeley, David A Patterson, Garth A Gibson và Randy Katz đã đưa ra định nghĩa vể RAID và các ứng dụng của nó Vào tháng 6/1988, trong một hội nghị SIGMOD, RAID chính thức được công bố là từ viết tắt của “Redundant Arrays of Inexpensive Disks” và cũng từ ngày này trở đi, khái niệm về RAID được xuất hiện
- Các chuẩn RAID là các công nghệ lưu trữ , phân tách dữ liệu được sử dụng trong RAID
- Các loại RAID hay còn gọi là cấp độ RAID là những chế độ RAID được ứng dụng dựa trên các công nghệ của những chuẩn RAID
Các chuẩn RAID đang nghiên cứu và phát triển hiện nay:
Striping (còn gọi là Song Hành)
Là một trong những chuẩn RAID mang lại hiệu năng cao nhất, nó giúp ta tăng tốc độ truy cập lên tối đa bằng cách ghi song song dữ liệu lên các ổ đĩa này Kỹ thuật này sẽ chia các tập tin dữ liệu ra và ghi đồng thời lên ổ đĩa cứng trong cùng một thời gian Và khi đọc thì cũng đọc cùng lúc trên tất cả các ổ đĩa làm cho tốc độ đọc cao, mang lại hiệu suất cao
Hình 1.9: Sơ đồ hoạt động của chuẩn Striping
Còn gọi là chuẩn Ghép Đôi Đây là chuẩn mở rộng của ánh xạ Dữ liệu cũng được ghi trên hai ổ cứng nhưng phải có hai bộ điều khiển RAID kết nối với hai đĩa cứng Chi phí cho kĩ thuật này tốn kém hơn vì phải sử dụng hai bộ điều khiển và dung lượng lưu trữ thật sự chỉ bằng một nửa dung lượng của các ổ đĩa
Hình 1.10: Sơ đồ hoạt động của chuẩn Duplexing
Parity RAID Đây là phương pháp bảo vệ an toàn cho dữ liệu, nó sử dụng các thông tin mang tính chẵn lẻ bằng cách lưu giữ một con số nhị phân 0 hoặc 1 cho biết tổng các bit trong gói tin là chẵn hay lẻ Nếu dùng chuẩn này thì lợi ích lớn nhất của nó là không yêu cầu hệ thống RAID bớt đi một phần dung lượng để lưu trữ dữ liệu Nhưng khuyết điểm của nó là phải yêu cầu hệ thống có một phần cứng thật mạnh
Sử dụng chuẩn ghi song hành để ghi dữ liệu lên ổ đĩa.Vì thế tốc độ của chuẩn này thì nhanh và ít tốn kém vì chỉ dùng một thiết bị điều khiển RAID Nhược điểm của nó là không bảo đảm an toàn dữ liệu Khi một ổ cứng bị lỗi thì dữ liệu trên các ổ cứng còn lại sẽ không sử dụng được Không thể thay nóng ổ cứng vì nếu mất một ổ cứng thì toàn bộ dữ liệu sẽ không sử dụng được RAID 0 đòi hỏi ít nhất hai ổ đĩa và dung lượng là tổng dung lượng RAID của các ổ đĩa Ví dụ có hai ổ đĩa 80GB thì RAID 0 sẽ tạo thành một ổ đĩa 160GB
Hình 1.11: Sơ đồ hoạt động của RAID level 0
Sử dụng chuẩn ánh xạ hay ghép đôi để ghi dữ liệu lên các ổ đĩa Tốc độ truy xuất dữ liệu bình thường như đối với một ổ đĩa đơn Ưu điểm của RAID 1 là tính an toàn dữ liệu cao, vì dữ liệu được sao chép và lưu trữ trên hai ổ đĩa khác nhau Khi một ổ đĩa hỏng thì ổ đĩa thứ hai sẽ hoạt động và dữ liệu được đảm bảo an toàn Có thể thay nóng một ổ cứng bị hỏng Công nghệ này cũng đòi hỏi ít nhất hai ổ cứng, và dung lượng sau khi RAID 1 là một nửa tổng dung lượng RAID của các ổ đĩa Ví dụ có hai ổ đĩa 80GB sau khi RAID 1 sẽ tạo thành 1 ổ đĩa 80GB và một ổ dự phòng
Hình 1.12: Sơ đồ hoạt động của RAID level 1
RAID level 5 Đây là loại RAID phổ biến nhất hiện nay vì tốc độ nhanh và độ an toàn dữ liệu cao vì sử dụng kết hợp chuẩn ghi song hành và kiểm tra tính chẳn lẽ (parity) của dữ liệu để ghi lên ổ đĩa
Quá trình ghi và kiểm tra chẵn lẻ là khá phức tạp nên có thể hình dung theo hai quy luật là: Nếu tổng số bit nhiều nhất là số lẻ thì parity là bit 1 Nếu tổng số bit nhiều nhất là số chẳn thì parity là bit 0 Theo ví dụ hình bên dưới nếu dữ liệu ghi vào đĩa 1 và đĩa 2 lần lượt là 1-0 Tổng số bit là 1 nên parity sẽ là 1 Vậy dữ liệu ghi trên 3 đĩa lúc này là 1-0-1 Nếu đĩa 1 bị hư hỏng thì dữ liệu lúc này sẽ là -0-1 và dựa vào quy luật trên ta có thể suy ra dữ liệu trên ổ đĩa 1 là bit 1 Tương tự nếu ổ đĩa thứ hai bị hư thì dữ liệu sẽ là 1- -1 và dựa vào quy luật trên ta có thể suy ra bit trong ổ đĩa thứ hai là bit 0
ẢO HÓA VỚI VMWARE ESX SERVER
Giới thiệu
VMware được mọi người biết đến như là một nhà cung cấp các sản phẩm ảo hóa hàng đầu thế giới Các giải pháp công nghệ và ảo hóa của VMware đã trở thành chuẩn trong ứng dụng doanh nghiệp Năm 1999 VMware giới thiệu sản phẩm VMware Workstation Sản phẩm này ban đầu được thiết kế để hỗ trợ việc phát triển và kiểm tra phần mềm và đã trở nên phổ biến nhờ khả năng tạo những máy tính ảo chạy đồng thời nhiều hệ điều hành khác nhau trên cùng một máy tính thực khác với chế độ khởi động kép là những máy tính được cài nhiều hệ điều hành và có thể chọn lúc khởi động nhưng mỗi lúc chỉ làm việc được với một hệ điều hành
Hình 2.1: Các sản phẩm ảo hóa của Vmware
VMware Workstation là một phần mềm ảo hóa mạnh mẽ dành cho các nhà phát triển, kiểm tra phần mềm và các chuyên gia công nghệ thông tin cần chạy nhiều hệ điều hành một lúc trên một máy máy chủ để nghiên cứu kiểm tra hoặc đánh giá một sản phẩm nào đó
Tuy rất mạnh trong lĩnh vực nghiên cứu và học tập nhưng VMware Workstation còn nhiều giới hạn bởi vì nó chạy trên lớp 3 của mô hình ảo hóa (hình 2.8) Có nghĩa là lớp ứng dụng này có rất hạn chế quyền truy cập và kiểm soát tài nguyên phần cứng Các hoạt động của nó chủ yếu được mô phỏng bởi các máy ảo cho giống như là đang thao tác trên máy thật và nhược điểm lớn nhất của nó là không có một công cụ quản lý từ xa nào Vì vậy nên VMware workstation không đáp ứng được nhu cầu hiệu suất và độ tin cậy trong môi trường là những hệ thống lớn Tuy vậy VMware thật sự là một công cụ mạnh mẽ cho việc học tập và giả lập các môi trường làm việc một cách linh hoạt nhờ vào tính năng có thể chạy bất kì hệ điều hành nào trên nó
Một bước tiến bộ hơn kế sau đó là máy chủ GSX Máy chủ GSX đơn giản chỉ là một gói phần mềm cài đặt trên một hệ điều hành chủ nào đó (Linux hoặc Windows)
Nó cung cấp một số phương pháp quản lý và giao diện truy cập vào các máy ảo Điều giới hạn của nó là cũng như VMware Workstation làm việc tại lớp 3 của mô hình ảo hóa, nó vẫn phải thông qua hệ điều hành chủ Điều này làm giảm khả năng tương tác với phần cứng và dẫn tới hiệu suất không cao GSX không hẳn là một sản phẩm tốt nhưng cũng không thể phủ nhận lợi ích thực sự của nó đối với những hệ thống không yêu cầu khả năng mở rộng các tính năng cho các máy ảo, hoặc những hệ thống sử dụng rất ít máy ảo, và những hệ thống không yêu cầu tối đa hiệu suất GSX cũng được sử dụng trong các trung tâm thí nghiệm và đánh giá các sản phẩm trong một môi trường ảo
Sản phẩm thế mạnh của VMware trong môi trường ảo hóa hệ thống đó là phiên bản ESX server Đây không phải đơn thuần chỉ là một gói phần mềm mà nó là một hệ điều hành của riêng nó Nó khác hẳn VMware Workstation, GSX hay Microsof Virtual Server 2005 là các gói phần mềm được cài đặt vào máy chủ lưu trữ Hệ điều hành ESX là một hệ điều hành máy chủ, nó được thiết kế cho phù hợp với nhu cầu ảo hóa ngày càng phát triển và vấn đề hiệu suất làm việc của các hệ thống máy chủ ngày càng được chú tâm hơn Nó cung cấp việc quản lý và chia sẻ tài nguyên phần cứng một cách chặt chẽ và hiệu quả Và việc quản lý các máy ảo chạy trên nó cũng được dễ dàng hơn nhờ các công cụ hỗ trợ từ xa
Các máy chủ ESX cung cấp, phân phối và chia sẽ các tài nguyên hệ thống một cách linh hoạt Đặc biệt là vì ESX là một hệ điều hành máy chủ nên nó có thề cung cấp cho các máy ảo khả năng tương tác cao nhất với phần cứng cũng như tài nguyên hệ thống Vì thế các máy ảo có thể đạt hiệu suất làm việc cao nhất
Ngoài hiệu suất thì độ tin cậy của sản phẩm ESX server được người dùng đánh giá cao.
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ần cứ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óa Hypervisor 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.2: Cấu trúc của ESX Server
ESX 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, VMkernel quản lý và phân phối việc truy cập tới tài nguyên phần cứng trên máy chủ, nhờ đó VMkernel cho phé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ết nối mạng
Hệ điều hành điều khiển hay còn gọi là COS
Hình 2.3: 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ành chí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ều khiể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 để 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)
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át sinh Trong một số trường hợp nó còn khuyến cáo người dùng backup hệ thống lên COS để COS backup các file hệ thống quan trọng
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ắc tươ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ương tá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
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áy chủ 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 được thì 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ìm kiế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
Còn gọi là linux loader là một bộ nạp khởi động ứng dụng Giống như ntloader của Windows Khi khởi động hệ thống đọc nó từ trong ổ cứng Dựa trên các thông tin có trong file etc/lilo.config hệ thống bắt đầu khởi tạo quá trình khởi động của nó Trong ESX mặc đị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ình COS 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ều hà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ì lilo sẽ khởi tạo dấu nháy bá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
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 tin xác định runlevel mà hệ thống đó sẽ thực thi Runlevel xác định những dịch vụ sẽ được khở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.
Phần cứng ảo (Hardware Virtualization)
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ầu truy xuấ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ập mộ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ững phầ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ột cách hoàn hảo nhất
Hình 2.4 : Sơ đồ phân phối card mạng.
Tính năng của ESX Server
2.4.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à High Availability 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
Hình 2.5: Sơ đồ hoạt động của VMFS
2.4.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ý
High Availability được cung cấp bởi nhà sản suất VMware Đây là một tiện ích hoàn hảo được thiết kế cho hệ thống máy chủ ESX và VMware Infrastructure Mục đích của công nghệ này là di chuyển các máy ảo từ máy chủ này sang một máy chủ khác khi xảy ra sự cố về hỏng hóc máy chủ vật lý hay mất kết nối mạng Công nghệ này giúp các máy ảo ứng dụng có thể được phục hồi và hoạt động ngay khi chuyển sang máy chủ mới mà không có lo lằng gì về vấn đề tương thích với máy chủ vật lý Đâ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ì vậ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ến ngay 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ính năng High Availability
Hình 2.6: 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 do
VMware 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 ảo hó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, High Availability có thể di chuyển bất cứ hệ điều hành nào được cài trên máy ảo
Cấu hình dễ dàng và triển khai nhanh chóng
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 (Distributed Resource Scheduler) và VMotion để 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
Bên cạnh những ưu điểm đó thì High Availability còn có những nhược điểm chưa khắc phục được như là :
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 sau khi chuyển qua máy chủ mới
VMotion 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 VMotion cũng giống như VMotion như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.7: Mô hình hoạt động của VMotion
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
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ủ
Hình 2.8: 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ột má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
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ành Windows và Linux đối với máy ảo để vá lỗi cho các hệ thống này Để thực hiện các nâng cấp ESX Server Có thể dùng kết hợp với công nghệ VMotion để thực hiện update mà không ảnh hưởng đến kết nối với người dùng
2.4.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 cho nhu 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òn nhiều tài nguyên đáp ứng hơn và chuyển máy ảo sang đó bằng công nghệ VMotion để 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ó
Hình 2.9: Mô hình hoạt động của DRS
2.4.8 Quản lý phân phối điện năng (Distributed Power Manager (DPM))
Quản lý phân phối điện năng cũng là một phần của hệ thống quản lý phân phối tài nguyên Nếu nó thấy các máy chủ còn quá nhiều tài nguyên chưa sử dụng thì nó sẻ dồn các máy ảo về máy chủ này để khi một máy chủ không còn máy ảo nào hoạt động trên nó nữa thì trình quàn lý phân phối điện năng sẽ tắt máy chủ này để tiết kiệm điện
Khôi phục dữ liệu (Data Recovery) - Một trong những tính năng mới trong các máy chủ ESX Backup dự phòng và tránh backup những phần đã backup nhằm tiết kiệm không gian lưu trữ
2.4.10 Virtual Center (VC) và VMware vSphere Client
VMware vSphere Client và Virtual Center cũng là một tính năng tiên tiến của máy chủ ESX Nó cung cấp nhiều công cụ quản lý từ xa đối với các máy chủ ESX
Hình 2.11: Mô hình hoạt động của Virtual Center Manager
Quản lý từ xa bằng VM vSphere Client
Chúng ta có thể tải phần mềm VM vSphere Client từ trang chủ http://www.vmware.com và tiến hành cài đặt như một phần mềm bình thường và chú ý rằng kết nối mạng giữa máy tính cài phần mềm client này và máy chủ ESX Server luôn thông suốt
Khi cài đặt xong thì khi start chương trình vSphere client thì giao diện của nó hiện lên Lúc này ta điền địa chỉ IP của máy chủ khi máy chủ ESX và máy client ở trong cùng một mạng Nếu không cùng một mạng mà muốn truy cập và ESX server từ xa thì phải đăng kí một host name với IP trỏ về địa chỉ của máy ESX server và phải mở một số port trên modem
Hình 2.12: Chương trình vSphere Client
Khi đã kết nối thành công đến ESX Server thì ta có thể thao tác trên máy chủ ESX Server Thực ra đây mới là giao diện làm việc chính của người quản trị, giao diện linux chỉ sử dụng để khắc phục các sự cố hoặc bật tắt một số dịch vụ hoặc ứng dụng nào đó Với vSphere client ta có thể khởi tạo, cấu hình và theo dõi hoạt động của các máy ảo một cách linh hoạt và tập trung Việc này rất dễ dàng cho quản lý tập trung và triển khai các máy ảo một cách nhanh chóng
Hình 2.13: Giao diện kết nối ESX Server.
XÂY DỰNG MÔ HÌNH ỨNG DỤNG ẢO HÓA CHO DOANH NGHIỆP VỪA VÀ NHỎ
Mục tiêu của giải pháp
Xây dựng hệ thống ảo hóa trên một server chủ nhằm:
Tiết kiệm chí phí đầu tư mua nhiều server cùng lúc
Tiết kiệm không gian đặt server trên tủ rack cũng như không gian phòng chứa
Tiết kiệm điện năng, hệ thống làm mát và cable
Quản lý đơn giản và tập trung trên một server vật lý duy nhất
Dễ dàng triển khai,nâng cấp và backup hệ thống.
Mô hình
Hình 3.1: Mô hình tổng quan
Giải thích ý nghĩa mô hình:
- Máy server có địa chỉ IP 192.168.1.25 ta cài hệ điều hành phục vụ ảo hóa Vmware ESX Server
- Máy server có địa chỉ IP 192.168.1.30 ta cài hệ điều hành phục vụ ảo hóa Vmware ESX Server
- Máy Bàn có địa chỉ IP 192.168.1.20 ta cài hệ điều hành Windows Server 2008, trên máy này ta cài thêm gói phần mềm Vmware vCenter
- Tại máy Client có địa chỉ IP 192.168.1.10 ta cài gói phần mềm Vmware vSphere
- Phải đảm bảo kết nối mạng luôn thông suốt trong quá trình triển khai cài đặt mô hình.
Triển khai
- Cài đặt Vmware ESXi Server:
Hình 3.2: Bắt đầu cài đặt Vmware ESXi
Hình 3.3: Quá trình cài đặt Vmware ESXi được hoàn thành
Hình 3.4: Chương trình quản lý từ xa Vsphere Client đang được cài đặt
Chạy file setup.exe trong đĩa cài đặt, hoặc để hệ thống tự nhận đĩa và chạy file này Sau đó ta chọn loại cài đặt vCenter và nhấn Install
Trong quá trình cài đặt vCenter, chương trình có cài đặt thêm SQL Server 2008
Hình 3.6: Cài đặt SQL Server 2008
Quá trình cài đặt vCenter đã hoàn thành
Hình 3.7: Quá trình cài đặt vCenter được hoàn tất
- Dùng vSphere Client đăng nhập vào vCenter để quản lý:
Trên máy cài đặt vSphere Client, ta bật phần mềm lên, đăng nhập vào máy vCenter
Hình 3.8: Đăng nhập vào máy vCenter
Hình 3.9: Chọn Ignore để vào quản lý
Hình 3.10: Giao diện sau khi đăng nhập vào vCenter
Thêm các host ESXi được cài đặt sẵn vào vCenter bằng cách click chuột phải vào Datacenter/ Add Host… (Hoặc bấm tổ hợp phím nhanh Ctrl + H) Sau đó ta nhập địa chỉ IP của host ESX, các chứng thực về Username và Password
Hình 3.11: Nhập các thông tin để thêm host
Sau đó ta chọn Next, chọn Finish để hoàn tất việc Add Host
Hình 3.12: Hoàn tất việc Add Host
Sau khi Add Host vào vCenter, ta tạo các máy ảo trên các host này để triển khai các dịch vụ Từ giao diện chương trình quản lý từ xa vSphere Client, ta click chuột phải vào các host chọn New Virtual Machine Hoặc bấm tổ hợp phím Ctrl+N Sau đó tùy theo nhu cầu, ta thiết lập các thông số để tạo một máy server mới
Hình 3.13: Tạo một máy ảo mới
Một hệ thống đã được tạo xong
Hình 3.14: Hệ thống sau khi được tạo.