CHƯƠNG 1 TỔNG QUAN VỀ CÔNG NGHỆ ẢO HÓA 1. TỔNG QUAN ẢO HÓA 1. Khái niệm ảo hóa Ảo hóa là công nghệ cho phép khai thác triệt để khả năng hoạt động của các phần cứng trong hệ thống máy chủ bằng cách chạy đồng thời nhiều OS trên cùng lớp vật lý. Nó sử dụng phần mềm để tạo một tầng trung gian giữa phần cứng máy tính và phần mềm chạy trên nó, cho phép các thành phần phần cứng của một máy tính – CPU, RAM, ổ cứng,… được chia thành nhiều máy tính ảo, thường được gọi là máy ảo (VM).
Mỗi VM chạy hệ điều hành (OS) riêng và hoạt động như một máy tính độc lập, mặc dù nó chỉ chạy trên nền tảng phần cứng máy tính thực tế bên dưới. Khác với công nghệ siêu phân luồng (Hyper-Threading) cho phép một CPU vật lý thực hiện như 2 CPU mang đến khả năng xử lý nhiều tác vụ ở cùng một thời điểm bằng cách chia thành các luồng xử lý khác nhau nhưng sẽ trên cùng một máy. Thì công nghệ ảo hóa (Virtualization Technology) lại làm cho hệ thống hiểu là có nhiều CPU tương ứng với nhiều máy ảo độc lập chạy trên hệ điều hành độc lập và xử lý những tác vụ độc lập với nhau. Hiện nay, hầu hết mọi CPU đều đã tích hợp công nghệ ảo hóa với những tên gọi khác nhau như Intel® Virtualization Technology (VT-x) trên CPU Intel và AMD Virtualization (AMD-V) trên CPU AMD.
Lịch sử phát triển Mặc dù công nghệ ảo hóa đã có nguồn gốc từ những năm 1960, nhưng chỉ được áp dụng rộng rãi cho đến đầu những năm 2000. Các công nghệ cho phép ảo hóa - như hypervisors - đã được phát triển từ nhiều thập kỷ trước cho phép nhiều người dùng truy cập đồng thời vào các máy tính thực hiện batch processing (xử lý hàng loạt). Cho đến những năm 1990, hầu hết các doanh nghiệp đều có máy chủ vật lý và hạ tầng CNTT của một nhà cung cấp đơn lẻ, điều này không cho SVTH: Trần Xuân Huy, Trần Hà Trường An Trang |3 GVHD:ThS.Hoàng Đình Hạnh phép các ứng dụng cũ chạy trên phần cứng khác của nhà cung cấp. Khi các công ty thay đổi hoặc nâng cấp các máy chủ, hệ điều hành và ứng dụng rẻ tiền hơn từ nhiều nhà cung cấp khác nhau, họ buộc phải sử dụng lại phần cứng vật lý - mỗi máy chủ chỉ có thể chạy 1 tác vụ cụ thể của nhà cung cấp.
Đây là lúc ảo hóa trở thành giải pháp cho 2 vấn đề: các công ty có thể phân vùng máy chủ của họ và chạy các ứng dụng cũ trên nhiều loại và phiên bản hệ điều hành khác nhau. Máy chủ bắt đầu được sử dụng hiệu quả hơn nhờ tận dụng được tối đa hiệu năng, do đó giảm chi phí liên quan đến mua, thiết lập, làm mát và bảo trì. Khả năng ứng dụng rộng rãi của ảo hóa đã giúp giảm sự ràng buộc với nhà cung cấp và biến nó thành nền tảng của điện toán đám mây. Ngày nay, đa số các doanh nghiệp cho rằng phần mềm quản lý ảo hóa chuyên dụng thường cần thiết cho hoạt động của họ.
Tại sao lại chọn công nghệ ảo hóa ? Người ta chọn công nghệ ảo hóa vì những lợi ích nó mang lại sau đây: - Tận dụng hiệu quả các tài nguyên: Trước khi có ảo hóa, mỗi máy chủ ứng dụng yêu cần phải có một CPU vật lý chuyên dụng, đội ngũ IT sẽ mua và cấu hình mỗi server độc lập để chạy một ứng dụng duy nhất (mỗi máy chỉ chạy một ứng dụng và một hệ điều hành để đảm bảo độ tin cậy). Với ảo hóa máy chủ, nó cho phép chạy nhiều ứng dụng, mỗi ứng dụng nằm trên máy ảo của riêng nó với hệ điều hành riêng trên một máy tính vật lý duy nhất (thường là máy chủ x86) mà không làm giảm độ tin cậy. Điều này cho phép sử dụng tối đa khả năng xử lý của phần cứng vật lý. - Quản lý dễ dàng hơn: Việc thay thế máy tính vật lý bằng máy ảo dựa trên phần mềm giúp sử dụng và quản lý các chính sách được viết bằng phần mềm dễ dàng hơn.
Điều này cho phép tạo quy trình quản lý dịch vụ CNTT một cách tự động. Ví dụ, các công cụ cấu SVTH: Trần Xuân Huy, Trần Hà Trường An Trang |4 GVHD:ThS.Hoàng Đình Hạnh hình và triển khai tự động cho phép quản trị viên xác định các tập hợp máy ảo và ứng dụng dưới dạng dịch vụ, trong các template của phần mềm. Điều này có nghĩa là họ có thể cài đặt các dịch vụ đó nhiều lần và nhất quán mà không cồng kềnh, tốn thời gian và tránh được lỗi khi thiết lập thủ công. Quản trị viên có thể sử dụng các chính sách bảo mật ảo hóa để thi hành một số cấu hình bảo mật nhất định dựa trên vai trò của máy ảo.
Các chính sách thậm chí có thể tăng hiệu quả tài nguyên bằng cách thu hồi các máy ảo không sử dụng để tiết kiệm không gian và sức mạnh tính toán. - Tối thiểu hóa thời gian chết: Sự cố hệ điều hành và ứng dụng có thể gây ra thời gian chết và làm gián đoạn năng suất của người dùng. Quản trị viên có thể chạy nhiều máy ảo dự phòng cùng nhau và chuyển đổi giữa chúng khi có vấn đề phát sinh. - Triển khai nhanh hơn: Việc mua, cài đặt và định cấu hình phần cứng cho mỗi ứng dụng rất tốn thời gian.
Với điều kiện là phần cứng đã sẵn sàng, việc triển khai các máy ảo để chạy tất cả các ứng dụng sẽ nhanh hơn đáng kể. Người dùng thậm chí có thể tự động hóa nó bằng phần mềm quản lý và xây dựng nó thành các quy trình công việc hiện có. CÁC THÀNH PHẦN CỦA MỘT HỆ THỐNG ẢO HÓA 1. Tài nguyên vật lý (máy chủ) Máy chủ là phần cứng vật lý mà quá trình ảo hóa diễn ra.
Máy này chạy phần mềm ảo hóa cho phép máy ảo tồn tại. Các thành phần vật lý của nó như CPU, RAM và ổ cứng sẽ xử lý các nhu cầu của các máy ảo. Những tài nguyên này thường được ẩn hoặc che giấu đối với các máy khách. Để tạo hiệu ứng này, một phần mềm ảo hóa, chẳng hạn như hypervisor, được cài đặt trên phần cứng vật lý thực tế.
Mục đích của máy chủ là cung cấp sức mạnh tính toán vật lý cho các máy ảo dưới dạng CPU, RAM, ổ cứng và kết nối mạng. SVTH: Trần Xuân Huy, Trần Hà Trường An Trang |5 GVHD:ThS.Hoàng Đình Hạnh 1. Phần mềm ảo hóa (hypervisor) Còn được gọi là trình quản lý máy ảo, hypervisor là phần mềm được dùng để khởi tạo, chạy và quản lý các máy ảo. Hypervisor là tiền đề để có thể thực hiện ảo hóa và tạo ra một môi trường ảo trong đó chứa các máy ảo.
Đối với các máy ảo, máy ảo hypervisor là máy duy nhất tồn tại, ngay cả khi có nhiều máy ảo chạy trên cùng một phần cứng vật lý. Hypervisor được chia ra làm 2 loại: Loại 1, hypervisor ở dạng native (hay còn gọi “bare-metal”) chạy trực tiếp trên phần cứng. Nó nằm giữa phần cứng và một hoặc nhiều hệ điều hành khách. Nó được khởi động trước cả hệ điều hành và tương tác trực tiếp với kernel.
Điều này mang lại hiệu suất cao nhất có thể vì không có hệ điều hành chính nào cạnh tranh tài nguyên máy tính với nó. Tuy nhiên, nó cũng đồng nghĩa với việc hệ thống chỉ có thể được sử dụng để chạy các máy ảo vì hypervisor luôn phải chạy ngầm bên dưới. Các hypervisor loại 1 phổ biến bao gồm Microsoft Hyper-V, VMware ESXi và Apple Boot Camp.1: Mô hình hypervisor loại 1 Loại 2, hay hosted hypervisor, chạy trên một hệ điều hành được cài đặt trực tiếp trên phần cứng. Trong trường hợp này, một bản sao của Windows hoặc hệ thống dựa trên nền tảng Unix phải được cài SVTH: Trần Xuân Huy, Trần Hà Trường An Trang |6 GVHD:ThS.Hoàng Đình Hạnh đặt để khởi động hệ thống và truy cập phần cứng.Một khi hệ điều hành chạy, hosted hypervisor mới có thể khởi chạy.
Các trình ảo hóa loại 2 thường được sử dụng để chạy nhiều hệ điều hành trên một máy, thay vì mô phỏng nhiều hệ thống đang chạy trên phần cứng. Các trình ảo hóa loại 2 phổ biến bao gồm VMware Workstation, VirtualBox và Parallels mô phỏng hệ điều hành Windows trong khi chạy trên máy tính chạy Mac.2: Hypervisor loại 2 Mục đích của hypervisor là quản lý từng máy ảo và cung cấp cho nó các tài nguyên cần thiết để chạy. Máy ảo (virtual/guest machine) Là máy được tạo ra bằng phần mềm chạy trên máy chủ trong môi trường ảo. Có thể có nhiều máy ảo chạy trên một máy chủ.
Một máy ảo không nhất thiết phải là máy tính. Có thể ảo hóa các loại lưu trữ, cơ sở dữ liệu và các hệ thống khác. Một máy ảo chạy môi trường riêng của nó. Nó giả lập hoặc mô phỏng một phần của phần cứng vật lý như máy tính để bàn hoặc máy chủ.
Tuy nhiên, mọi thứ đều thông qua hypervisor, thứ thực sự tạo ra các yêu cầu đối với phần cứng. Phần cứng trả về bất kỳ dữ liệu hoặc phản hồi mà hypervisor yêu cầu và truyền dữ liệu đó đến máy ảo. Mỗi máy ảo hoạt động tách biệt với các máy ảo khác. Trên thực tế, mỗi máy ảo đều nghĩ rằng nó là hệ thống duy nhất chạy trên phần cứng.
SVTH: Trần Xuân Huy, Trần Hà Trường An Trang |7 GVHD:ThS.Hoàng Đình Hạnh Hypervisor còn có thể mô phỏng phần cứng máy tính thay thế. Ví dụ, một máy ảo mô phỏng mảng lưu trữ có thể được tạo trên phần cứng máy chủ tiêu chuẩn. Mảng lưu trữ ảo sẽ hoạt động giống như khi nó là 20 ổ cứng được nối với mạng, bởi vì trình ảo hóa sẽ hoạt động như thể đó là phần cứng thực sự. Mục đích của máy ảo là chạy các ứng dụng và môi trường người dùng cho từng hệ thống ảo.
Hệ điều hành khách Hệ điều hành khách là phần mềm được cài đặt trên máy ảo (VM) hoặc phân vùng ổ cứng mà nó là một hệ điều hành khác với hệ điều hành của máy chủ. Không giống như hệ điều hành máy chủ, được cài đặt trên máy tính vật lý và tương tác với phần cứng bên dưới, hệ điều hành khách nằm trên một máy ảo. Mặc dù một hệ điều hành khách có thể sử dụng một số tài nguyên của hệ điều hành máy chủ, hai tài nguyên này hoàn toàn riêng biệt. Một hệ điều hành khách được lưu trữ trên một máy ảo có thể được sử dụng để thử nghiệm mà không có tác động đến bất kỳ thứ gì bên ngoài máy ảo đó.
Hệ điều hành khách mang lại lợi ích rất lớn cho quản trị viên.