Chúng ta cùng quay lại chủ để Ảo hóa là gì. Ở phần trước chúng ta đã tìm hiểu về định nghĩa ảo hóa và các bộ phận của quá trình ảo hóa. Phần này cũng ta tiếp tục với:
3. Ảo hóa phần cứng “Hardware virtualization”
– Loại ảo hóa phổ biến nhất là ảo hóa phần cứng “Hardware virtualization”. Với ảo hóa phần cứng, một chương trình phần mềm trừu tượng hóa phần cứng vật lý như phần cứng ảo. Hypervisor hoạt động như một người trung gian giữa máy ảo và phần cứng vật lý.
– Ảo hóa phần cứng tạo ra một phiên bản ảo, chỉ ở dạng phần mềm, của máy vật lý, chẳng hạn như máy tính “Compuer”, bộ định tuyến “Router” hoặc mảng lưu trữ “Storage Array”. Hình thức ảo hóa phần cứng cơ bản nhất là việc tạo ra một máy tính ảo “virtual computer” hoặc máy chủ ảo “virtual server”. Trong trường hợp này, máy tính ảo bắt chước một máy vật lý thực hoàn chỉnh với bộ xử lý, bộ nhớ địa chỉ và dung lượng đĩa cứng. Khi máy ảo tương tác với bộ xử lý hoặc bộ nhớ, nó thực sự tương tác với hypervisor, sau đó sẽ chuyển qua quyền truy cập. Tương tự như vậy, hypervisor nhận bất kỳ dữ liệu nào từ phần cứng vật lý và sau đó chuyển nó đến máy ảo như thể nó có nguồn gốc từ phần cứng ảo.
– Bất cứ điều gì người ta có thể làm trên một máy thực tế đều có thể được sao chép trong máy ảo, kể cả việc cài đặt các hệ điều hành khác nhau. Một máy chủ ảo hóa duy nhất có thể chạy một số máy ảo khác nhau, mỗi máy có hệ điều hành riêng, chương trình đã cài đặt, dịch vụ đang chạy, cấp bản vá, v.v. Mỗi máy được cấu hình, chạy và cài đặt theo yêu cầu của việc sử dụng, hoàn toàn tách biệt với bất kỳ máy ảo nào khác.
– Vì máy ảo không biết rằng nó đã được ảo hóa nên phần mềm và dịch vụ chạy bên trong không cần phải cài đặt hoặc cấu hình đặc biệt để được ảo hóa.
– Nói chung, mỗi máy ảo được phân vùng khả năng sử dụng một tập hợp con toàn bộ sức mạnh của máy chủ. Ví dụ: máy khách có thể được thiết lập với 20 GB RAM, ngay cả khi máy chủ thực tế có RAM 512 GB.
– Đối với máy khách, chỉ tồn tại các tài nguyên do hypervisor hiển thị. Trong ví dụ trên, máy ảo sẽ không bao giờ có thể truy cập hơn 20 GB RAM bất kể nhu cầu. Đối với máy ảo chỉ tồn tại số lượng đó.
– Tổng tài nguyên hiển thị cho tất cả các máy khách kết hợp không được giới hạn trong tổng tài nguyên của máy chủ. Hypervisor có thể cung cấp 20 GB RAM cho 50 máy ảo khác nhau trên một hệ thống chỉ có 512 GB RAM. Bởi vì hầu hết các hệ thống không sử dụng tối đa tài nguyên sẵn có, nên hypervisor có thể phân bổ động bộ nhớ máy chủ bên dưới cho mỗi hệ thống khi cần. Điều này được gọi là đăng ký quá mức “Oversubscription”.
– Ngoài ra, vì hypervisor tạo ra ảo giác về các máy vật lý đơn lẻ, hoàn toàn có thể truy cập được, nên không máy ảo nào có thể nhìn thấy máy ảo khác. Điều này cho phép nhiều máy ảo chạy mà không cần tương tác. Kết quả là, trên cùng một máy chủ, không chỉ có thể tồn tại các máy ảo có kích thước khác nhau mà còn với các hệ điều hành khác nhau.
– Điện toán đám mây “Cloud computing” và ảo hóa “Virtualization”
- Ảo hóa “Virtualization” là chìa khóa của điện toán đám mây “Cloud computing”. Các nhà cung cấp dịch vụ điện toán đám mây cung cấp khả năng tạo, duy trì và quản trị một máy ảo trên phần cứng bên ngoài cơ sở “off-premises hardware”. Bởi vì mỗi máy ảo tồn tại như một hệ thống riêng biệt, không cần phải tách biệt các máy khách “Clients” vì mục đích bảo mật hoặc ổn định. Ngay cả khi người dùng làm hỏng toàn bộ hệ thống của họ, thiệt hại đó không ảnh hưởng gì ngoài máy ảo duy nhất đó.
- Trước khi ảo hóa, việc lưu trữ và chạy các máy chủ ngoài cơ sở “Off-side server” của nhà cung cấp khác đã được thực hiện dưới dạng lưu trữ từ xa “Remote hosting”. Để làm điều này, nhà cung cấp Cloud sẽ phải cung cấp một máy chủ vật lý thực tế cho mỗi máy được yêu cầu. Việc duy trì tỷ lệ máy chủ vật lý một đối một này với tỷ lệ máy chủ chức năng của khách hàng là rất tốn công sức và rất tốn kém.
- Với sự ra đời của điện toán đám mây “Cloud computing”, nhà cung cấp không cần phải khớp phần cứng vật lý với từng yêu cầu đối với một máy mới. Thay vào đó, một máy ảo có thể được tạo ra.
- Các nhà cung cấp đám mây lớn cài đặt và vận hành phần cứng máy chủ cực kỳ mạnh mẽ, bản thân nó thường được ảo hóa từ một loạt phần cứng. Đối với mỗi máy chủ lớn hơn này, nhà cung cấp dịch vụ đám mây tạo ra các máy ảo theo yêu cầu của khách hàng.
- Ví dụ: một máy khách “client” có thể yêu cầu một máy chủ mới với một lượng sức mạnh xử lý, bộ nhớ và không gian đĩa nhất định. Nhà cung cấp dịch vụ đám mây sẽ “khởi tạo” hoặc khởi động một máy ảo mới với các thông số kỹ thuật đó trên một trong các máy chủ hiện có của chính họ mà không cần cài đặt bất kỳ phần cứng vật lý mới nào. Vì mỗi máy ảo không có quyền truy cập trực tiếp vào phần cứng vật lý bên dưới hypervisor nên không có rủi ro đối với dữ liệu hoặc sự ổn định của hệ thống.
– Nhà cung cấp trình quản lý máy ảo “Virtualization hypervisor vendors”
- Có một số công ty cung cấp sản phẩm hypervisor hoặc trình quản lý máy ảo cho phép ảo hóa toàn bộ phần cứng. Lớn nhất là VMware và dòng sản phẩm vSphere của nó, và Microsoft với Hyper-V. Những nhà cung cấp khác bao gồm Citrix XenServer và KVM.
4. Ảo hóa lồng nhau “Nested virtualization”
– Điểm nổi bật của ảo hóa là mỗi hệ thống ảo hóa không thể phân biệt được nó có phải là ảo hay không, hay đang chạy trực tiếp trên phần cứng. Điều đó giúp bạn có thể tạo một máy ảo bên trong một máy ảo, một quá trình được gọi là ảo hóa lồng nhau “Nested virtualization”. Ví dụ, một máy ảo được tạo bởi một công ty trên Amazon AWS có thể nằm trong một máy ảo do Amazon tạo ra.
– Về mặt nào đó, đây giống như một phiên bản máy tính của Blade Runner. Các máy chủ không biết chúng là máy chủ thực hay máy chủ được tạo ảo, mặc dù mỗi máy chủ đều tin rằng chúng là “thật”.
– Không có giới hạn cho việc lồng các máy ảo với nhau như thế này. Vì vậy, Amazon có thể lắp đặt một hệ thống máy chủ vật lý “Bare-metal system” trong một trung tâm dữ liệu “Data center”. Nó cài đặt một Trình quản lý máy ảo vật lý “Bare metal hypervisor” trên hệ thống đó để tạo ra một hệ thống cho bộ phận điện toán đám mây của nó sử dụng. Đến lượt mình, bộ phận điện toán đám mây sẽ cài đặt một Trình quản lý máy ảo “Hypervisor” chia từng hệ thống theo khu vực. Khi khách hàng đặt mua một máy ảo mới, bộ phận điện toán đám mây tại Amazon sẽ tạo ra một máy ảo khác. Cuối cùng, máy khách cũng tiếp tục tạo ra hai máy ảo từ đó, một máy dành cho sản xuất và một máy khác dành cho môi trường thử nghiệm. Mỗi máy hoạt động chính xác như một phần cứng vật lý.
– Việc lồng ghép này là rất quan trọng để cung cấp một môi trường mà không cần kiến thức về hệ thống trước đó hoặc hữu ích.
Đọc thêm các phần khác trong series Ảo hóa: