Ảo hóa là gì?
Ảo hóa là một quá trình cho phép sử dụng hiệu quả hơn phần cứng máy tính vật lý và là nền tảng của điện toán đám mây.
Ảo hóa sử dụng phần mềm để tạo một lớp trừu tượng trên phần cứng máy tính cho phép các thành phần phần cứng của một máy tính—bộ xử lý, bộ nhớ, bộ lưu trữ, v.v.—đượ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 giống như một máy tính độc lập, mặc dù nó chỉ chạy trên một phần cứng thực sự của máy tính.
Theo đó, ảo hóa cho phép sử dụng phần cứng máy tính vật lý hiệu quả hơn và mang lại lợi tức đầu tư phần cứng lớn hơn cho tổ chức.
Ngày nay, ảo hóa là một phương pháp tiêu chuẩn trong kiến trúc CNTT doanh nghiệp. Nó cũng là công nghệ thúc đẩy kinh tế điện toán đám mây. Ảo hóa cho phép các nhà cung cấp đám mây phục vụ người dùng bằng phần cứng máy tính vật lý hiện có của họ; nó cho phép người dùng đám mây chỉ mua tài nguyên điện toán họ cần khi họ cần và mở rộng quy mô các tài nguyên đó một cách hiệu quả về mặt chi phí khi khối lượng công việc của họ tăng lên.
Lợi ích của ảo hóa
Ảo hóa mang lại một số lợi ích cho người vận hành trung tâm dữ liệu và nhà cung cấp dịch vụ:
- Hiệu quả tài nguyên: Trước khi ảo hóa, mỗi máy chủ ứng dụng cần có CPU vật lý chuyên dụng riêng—nhân viên CNTT sẽ mua và định cấu hình một máy chủ riêng cho từng ứng dụng mà họ muốn chạy. (Bộ phận CNTT ưu tiên một ứng dụng và một hệ điều hành (HĐH) cho mỗi máy tính vì lý do độ tin cậy.) Luôn luôn, mỗi máy chủ vật lý sẽ không được sử dụng đúng mức. Ngược lại, ảo hóa máy chủ cho phép bạn chạy nhiều ứng dụng—mỗi ứng dụng trên một máy ảo riêng với hệ điều hành riêng—trên một máy tính vật lý (thường là máy chủ x86) mà không làm giảm độ tin cậy. Điều này cho phép tận dụng tối đa khả năng tính toán 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 được xác định bằng 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 bạn tạo quy trình quản lý dịch vụ CNTT tự động. Ví dụ: các công cụ cấu hình và triển khai tự động cho phép quản trị viên xác định bộ sưu tập máy ảo và ứng dụng dưới dạng dịch vụ, trong các mẫu 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 rườm rà, tốn thời gian. và thiết lập thủ công dễ xảy ra lỗi. Quản trị viên có thể sử dụng các chính sách bảo mật ảo hóa để ủy quyền 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ả sử dụng tài nguyên bằng cách loại bỏ 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.
- Thời gian ngừng hoạt động tối thiểu: Sự cố hệ điều hành và ứng dụng có thể gây ra thời gian ngừng hoạt động 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 lúc và chuyển đổi dự phòng giữa chúng khi có sự cố phát sinh. Chạy nhiều máy chủ vật lý dự phòng sẽ tốn kém hơn.
- Cung cấp nhanh hơn: Việc mua, cài đặt và định cấu hình phần cứng cho từng ứng dụng tốn nhiều thời gian. Với điều kiện là phần cứng đã sẵn sàng, việc cung cấp máy ảo để chạy tất cả các ứng dụng của bạn sẽ nhanh hơn đáng kể. Bạn 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ó vào quy trình công việc hiện có.
Các giải pháp
Một số công ty cung cấp các giải pháp ảo hóa bao gồm các nhiệm vụ cụ thể của trung tâm dữ liệu hoặc các kịch bản ảo hóa máy tính để bàn tập trung vào người dùng cuối. Các ví dụ nổi tiếng hơn bao gồm VMware, chuyên về ảo hóa máy chủ, máy tính để bàn, mạng và lưu trữ; Citrix, chuyên về ảo hóa ứng dụng nhưng cũng cung cấp các giải pháp ảo hóa máy chủ và máy tính để bàn ảo; và Microsoft, hãng có giải pháp ảo hóa Hyper-V đi kèm với Windows và tập trung vào các phiên bản ảo của máy chủ và máy tính để bàn.
Máy ảo (VM)
Máy ảo (VM) là môi trường ảo mô phỏng tính toán vật lý ở dạng phần mềm. Chúng thường bao gồm một số tệp chứa cấu hình của VM, bộ lưu trữ cho ổ cứng ảo và một số ảnh chụp nhanh của VM để duy trì trạng thái của nó tại một thời điểm cụ thể.
Để biết tổng quan đầy đủ về VM, hãy xem “Máy ảo là gì?”
Trình ảo hóa
Hypervisor là lớp phần mềm điều phối các máy ảo. Nó đóng vai trò là giao diện giữa VM và phần cứng vật lý cơ bản, đảm bảo rằng mỗi phần cứng đều có quyền truy cập vào các tài nguyên vật lý mà nó cần để thực thi. Nó cũng đảm bảo rằng các máy ảo không can thiệp lẫn nhau bằng cách xâm phạm không gian bộ nhớ hoặc chu trình tính toán của nhau.
Có hai loại hypervisor:
- Các trình ảo hóa loại 1 hoặc “kim loại trần” tương tác với các tài nguyên vật lý cơ bản, thay thế hoàn toàn hệ điều hành truyền thống. Chúng thường xuất hiện nhất trong các tình huống máy chủ ảo.
- Trình ảo hóa loại 2 chạy như một ứng dụng trên hệ điều hành hiện có. Được sử dụng phổ biến nhất trên các thiết bị đầu cuối để chạy các hệ điều hành thay thế, chúng có chi phí hoạt động cao vì chúng phải sử dụng Hệ điều hành máy chủ để truy cập và điều phối các tài nguyên phần cứng cơ bản.
Các loại ảo hóa
Đến thời điểm này, chúng ta đã thảo luận về ảo hóa máy chủ, nhưng nhiều yếu tố cơ sở hạ tầng CNTT khác có thể được ảo hóa để mang lại những lợi thế đáng kể cho các nhà quản lý CNTT (đặc biệt) và toàn bộ doanh nghiệp. Trong phần này, chúng tôi sẽ đề cập đến các loại ảo hóa sau:
- Desktop virtualization
- Network virtualization
- Storage virtualization
- Data virtualization
- Application virtualization
- Data center virtualization
- CPU virtualization
- GPU virtualization
- Linux virtualization
- Cloud virtualization
Desktop virtualization
Desktop virtualization cho phép bạn chạy nhiều hệ điều hành máy tính để bàn, mỗi hệ điều hành có VM riêng trên cùng một máy tính.
Có hai loại Desktop virtualization:
- Cơ sở hạ tầng máy tính để bàn ảo (VDI) chạy nhiều máy tính để bàn trong máy ảo trên máy chủ trung tâm và truyền chúng tới người dùng đăng nhập trên thiết bị máy khách mỏng. Bằng cách này, VDI cho phép một tổ chức cung cấp cho người dùng quyền truy cập vào nhiều hệ điều hành từ bất kỳ thiết bị nào mà không cần cài đặt hệ điều hành trên bất kỳ thiết bị nào. Xem “Cơ sở hạ tầng máy tính ảo (VDI) là gì?” để có lời giải thích sâu sắc hơn.
- Desktop virtualization cục bộ chạy một trình ảo hóa trên máy tính cục bộ, cho phép người dùng chạy một hoặc nhiều hệ điều hành bổ sung trên máy tính đó và chuyển từ hệ điều hành này sang hệ điều hành khác nếu cần mà không thay đổi bất kỳ điều gì về hệ điều hành chính.
Ảo hóa mạng
Ảo hóa mạng sử dụng phần mềm để tạo “chế độ xem” mạng mà quản trị viên có thể sử dụng để quản lý mạng từ một bảng điều khiển duy nhất. Nó trừu tượng hóa các thành phần và chức năng phần cứng (ví dụ: kết nối, bộ chuyển mạch, bộ định tuyến, v.v.) và trừu tượng hóa chúng thành phần mềm chạy trên bộ ảo hóa. Quản trị viên mạng có thể sửa đổi và kiểm soát các thành phần này mà không cần chạm vào các thành phần vật lý cơ bản, giúp đơn giản hóa đáng kể việc quản lý mạng.
Các loại ảo hóa mạng bao gồm mạng được xác định bằng phần mềm (SDN), ảo hóa phần cứng kiểm soát việc định tuyến lưu lượng mạng (được gọi là “mặt phẳng điều khiển”) và ảo hóa chức năng mạng (NFV), ảo hóa một hoặc nhiều thiết bị phần cứng cung cấp một mạng cụ thể (ví dụ: tường lửa, bộ cân bằng tải hoặc bộ phân tích lưu lượng), giúp các thiết bị đó dễ dàng định cấu hình, cung cấp và quản lý hơn.
Ảo hóa lưu trữ
Ảo hóa lưu trữ cho phép tất cả các thiết bị lưu trữ trên mạng—cho dù chúng được cài đặt trên máy chủ riêng lẻ hay thiết bị lưu trữ độc lập—có thể được truy cập và quản lý dưới dạng một thiết bị lưu trữ duy nhất. Cụ thể, ảo hóa lưu trữ sẽ tập trung tất cả các khối lưu trữ vào một nhóm chung duy nhất mà từ đó chúng có thể được gán cho bất kỳ VM nào trên mạng nếu cần. Ảo hóa lưu trữ giúp việc cung cấp lưu trữ cho máy ảo dễ dàng hơn và tận dụng tối đa tất cả lưu trữ có sẵn trên mạng.
Ảo hóa dữ liệu
Các doanh nghiệp hiện đại lưu trữ dữ liệu từ nhiều ứng dụng, sử dụng nhiều định dạng tệp, ở nhiều vị trí, từ đám mây đến hệ thống phần cứng và phần mềm tại chỗ. Ảo hóa dữ liệu cho phép mọi ứng dụng truy cập tất cả dữ liệu đó—bất kể nguồn, định dạng hoặc vị trí.
Các công cụ ảo hóa dữ liệu tạo ra một lớp phần mềm giữa các ứng dụng truy cập dữ liệu và hệ thống lưu trữ dữ liệu đó. Lớp này dịch yêu cầu hoặc truy vấn dữ liệu của ứng dụng khi cần và trả về kết quả có thể trải rộng trên nhiều hệ thống. Ảo hóa dữ liệu có thể giúp phá vỡ các kho dữ liệu khi các loại tích hợp khác không khả thi, mong muốn hoặc không thể chi trả được.
Ảo hóa ứng dụng
Ảo hóa ứng dụng chạy phần mềm ứng dụng mà không cần cài đặt trực tiếp trên hệ điều hành của người dùng. Điều này khác với ảo hóa máy tính để bàn hoàn chỉnh (đã đề cập ở trên) vì chỉ ứng dụng chạy trong môi trường ảo—HĐH trên thiết bị của người dùng cuối chạy như bình thường. Có ba loại ảo hóa ứng dụng:
- Ảo hóa ứng dụng cục bộ: Toàn bộ ứng dụng chạy trên thiết bị đầu cuối nhưng chạy trong môi trường thời gian chạy thay vì trên phần cứng gốc.
- Truyền phát ứng dụng: Ứng dụng tồn tại trên một máy chủ sẽ gửi các thành phần nhỏ của phần mềm để chạy trên thiết bị của người dùng cuối khi cần.
- Ảo hóa ứng dụng dựa trên máy chủ: Ứng dụng chạy hoàn toàn trên một máy chủ chỉ gửi giao diện người dùng của nó tới thiết bị khách.
Ảo hóa trung tâm dữ liệu
Ảo hóa trung tâm dữ liệu trừu tượng hóa hầu hết phần cứng của trung tâm dữ liệu thành phần mềm, cho phép quản trị viên chia một trung tâm dữ liệu vật lý thành nhiều trung tâm dữ liệu ảo cho các khách hàng khác nhau một cách hiệu quả.
Mỗi khách hàng có thể truy cập cơ sở hạ tầng của riêng mình dưới dạng dịch vụ (IaaS), dịch vụ này sẽ chạy trên cùng một phần cứng vật lý cơ bản. Các trung tâm dữ liệu ảo cung cấp khả năng dễ dàng chuyển sang điện toán dựa trên đám mây, cho phép công ty nhanh chóng thiết lập môi trường trung tâm dữ liệu hoàn chỉnh mà không cần mua phần cứng cơ sở hạ tầng.
Ảo hóa CPU
Ảo hóa CPU (đơn vị xử lý trung tâm) là công nghệ cơ bản giúp cho các bộ ảo hóa, máy ảo và hệ điều hành trở nên khả thi. Nó cho phép một CPU được chia thành nhiều CPU ảo để nhiều máy ảo sử dụng.
Lúc đầu, ảo hóa CPU hoàn toàn được xác định bằng phần mềm, nhưng nhiều bộ xử lý ngày nay bao gồm các tập lệnh mở rộng hỗ trợ ảo hóa CPU, giúp cải thiện hiệu suất VM.
Ảo hóa GPU
GPU (bộ xử lý đồ họa) là bộ xử lý đa lõi đặc biệt giúp cải thiện hiệu suất tính toán tổng thể bằng cách xử lý đồ họa hoặc toán học hạng nặng. Ảo hóa GPU cho phép nhiều máy ảo sử dụng tất cả hoặc một phần sức mạnh xử lý của một GPU để có video nhanh hơn, trí tuệ nhân tạo (AI) và các ứng dụng chuyên sâu về đồ họa hoặc toán học khác.
GPU truyền qua cung cấp toàn bộ GPU cho một hệ điều hành khách.
Các vGPU dùng chung chia các lõi GPU vật lý cho một số GPU ảo (vGPU) để các máy ảo dựa trên máy chủ sử dụng.
Ảo hóa Linux
Linux bao gồm bộ ảo hóa của riêng nó, được gọi là máy ảo dựa trên kernel (KVM), hỗ trợ các phần mở rộng bộ xử lý ảo hóa của Intel và AMD để bạn có thể tạo các máy ảo dựa trên x86 từ bên trong Hệ điều hành máy chủ Linux.
Là một hệ điều hành nguồn mở, Linux có khả năng tùy biến cao. Bạn có thể tạo các máy ảo chạy phiên bản Linux được thiết kế riêng cho khối lượng công việc cụ thể hoặc các phiên bản được tăng cường bảo mật cho các ứng dụng nhạy cảm hơn.
Ảo hóa đám mây
Như đã lưu ý ở trên, mô hình điện toán đám mây phụ thuộc vào ảo hóa. Bằng cách ảo hóa máy chủ, bộ lưu trữ và các tài nguyên trung tâm dữ liệu vật lý khác, nhà cung cấp điện toán đám mây có thể cung cấp nhiều dịch vụ cho khách hàng, bao gồm:
- Cơ sở hạ tầng dưới dạng dịch vụ (IaaS): Máy chủ, bộ lưu trữ và tài nguyên mạng ảo hóa mà bạn có thể định cấu hình dựa trên yêu cầu của chúng.
- Nền tảng dưới dạng dịch vụ (PaaS): Các công cụ phát triển, cơ sở dữ liệu ảo hóa và các dịch vụ dựa trên đám mây khác mà bạn có thể sử dụng để xây dựng các ứng dụng và giải pháp dựa trên đám mây của riêng mình.
- Phần mềm dưới dạng dịch vụ (SaaS): Ứng dụng phần mềm bạn sử dụng trên đám mây. SaaS là dịch vụ dựa trên đám mây được trừu tượng hóa nhiều nhất từ phần cứng.