Ảo hóa CPU là gì?
Ảo hóa CPU là quá trình trừu tượng hóa các tài nguyên bộ xử lý vật lý thành một hoặc nhiều biểu diễn logic có thể được áp dụng cho các khối công việc khác nhau. Hệ điều hành có truy cập trực tiếp vào các tài nguyên phần cứng, nhưng với ảo hóa, phần mềm được gọi là hypervisor trừu tượng hóa các tài nguyên đó để các nhóm công nghệ thông tin có thể cung cấp và sử dụng chúng một cách hiệu quả hơn. Bạn có thể chỉ định một hoặc nhiều vCPU ảo cho một máy ảo (VM), tùy thuộc vào tải công việc tính toán. Cùng một nguồn tài nguyên bộ xử lý cơ bản tồn tại cho cả máy vật lý và máy ảo, hypervisor trừu tượng hóa từng CPU vật lý thành một vCPU có thể dễ dàng chỉ định cho các tải công việc. Việc chỉ định và phân bổ lại các tài nguyên trở nên dễ dàng hơn khi chúng được ảo hóa. Dưới đây là một số yếu tố cần xem xét khi chọn và cấu hình CPU cho ảo hóa.So sánh các loại bộ xử lý: AMD vs. Intel
Các loại bộ xử lý, như những gì được cung cấp bởi Intel và AMD, và các ứng dụng cụ thể của chúng được phân biệt bởi các chữ viết tắt đại diện cho các tập lệnh và hướng dẫn được phát triển để thực hiện các tác vụ trọng tâm ảo hóa bộ xử lý. Ví dụ, các cài đặt VT của Intel bao gồm VT-x, VT-i, VT-d và VT-c, và AMD cung cấp AMD-V và AMD-Vi. Một trong những phương pháp tốt nhất để chọn CPU phù hợp cho ảo hóa là xác định các tính năng cụ thể mà bạn muốn triển khai trong môi trường ảo của mình. Sự lựa chọn của hypervisor – và sự hỗ trợ của nó cho các bộ xử lý cụ thể – có thể ảnh hưởng đến việc lựa chọn bộ xử lý cho ảo hóa. Một tính năng mà cả Intel và AMD đều cung cấp là cách ly không gian bộ nhớ thông qua các bit no-execute (NX) và execute disable (XD) tương ứng, giúp bảo vệ VM khỏi phần mềm độc hại. NX và XD bit đảm bảo rằng bộ xử lý từ chối chạy mã trong các khu vực được bảo vệ. Các tính năng khác của CPU quan trọng đối với ảo hóa là các lệnh Load AH từ Flags (LAHF) và Save AH đến Flags (SAHF) và các phần mở rộng ảo hóa. Lệnh LAHF và SAHF cho phép kiểm soát nội dung của bộ đăng ký, trong khi các phần mở rộng ảo hóa cung cấp sử dụng tài nguyên tốt hơn. Việc lựa chọn phần cứng phù hợp là bước đầu tiên để đảm bảo khối lượng công việc ảo hóa chạy ở hiệu suất cao nhất.Tắt hyper-threading để tăng hiệu suất
Bước tiếp theo là đảm bảo sử dụng CPU của bạn hiệu quả. Xác định những tính năng để tận dụng và những tính năng có thể dẫn đến vấn đề hiệu suất trong tương lai. Hyper-threading là một tính năng CPU tổ chức và lên lịch các luồng ứng dụng, nhưng không phải lúc nào cũng là cách hiệu quả nhất để cải thiện hiệu suất bộ vi xử lý. Hyper-threading hoạt động như một ống dẫn thứ hai cho các bộ chỉ thị để tránh lãng phí tài nguyên. Vấn đề của cách tiếp cận này là lõi CPU chỉ có một động cơ thực thi, vì vậy có thể xảy ra tranh chấp tài nguyên, gây bottleneck hiệu suất. Thay vì sử dụng hyper-threading, hãy xem xét chi tiêu tiền trước để mua nhiều lõi hơn khi mua CPU cho ảo hóa, nếu có thể. Nó có thể hiệu quả hơn để mua nhiều lõi CPU và tắt hyper-threading hơn là chia sẻ ít lõi hơn giữa khối lượng công việc thông qua hyper-threading. Ngay cả khi bạn không gặp vấn đề hiệu suất do hyper-threading, việc lưu trữ nhiều lõi tương đương với nhiều năng lực CPU tổng thể để ưu tiên và thực thi bộ chỉ thị.Giảm thiểu chi phí ảo hóa với SLAT
Một vấn đề phổ biến trong ảo hóa là lượng chi phí ảo hóa liên tục để dịch giữa không gian bộ nhớ vật lý và ảo. Lớp phần mềm này tạo ra chi phí ảo hóa có thể làm giảm các tài nguyên có sẵn cho các máy ảo (VMs). Second Level Address Translation (SLAT) – tính năng bộ xử lý mà Intel gọi là Extended Page Tables và AMD gọi là Rapid Virtualization Indexing hoặc Nested Page Tables – giảm thiểu chi phí đó, nâng cao hiệu suất ảo hóa. SLAT loại bỏ công việc lặp lại bằng cách thêm bộ nhớ đệm cho các ánh xạ bảng trang ảo-sang-vật lý gần đây mà hypervisor đã tạo ra. Nếu thông tin ánh xạ đã tồn tại trong bộ nhớ đệm, những tài nguyên CPU và bộ nhớ đó không cần thiết cho việc dịch giữa ảo và vật lý. Mức độ chi phí ảo hóa giảm phụ thuộc vào công việc cụ thể. Ngoài ra, một số hệ thống yêu cầu bạn bật hỗ trợ SLAT trong BIOS để tận dụng tính năng này.Cấp đủ tài nguyên vCPU cho VMs
Công việc đòi hỏi tài nguyên lớn đòi hỏi phải có một phương pháp sáng tạo để phân bổ tài nguyên bộ xử lý và ảo hóa CPU. Mỗi ứng dụng và các yêu cầu tính toán khác nhau. Hầu hết các VMs hoạt động bình thường với một vCPU, nhưng đối với các công việc yêu cầu nhiều tài nguyên hơn, chẳng hạn như máy chủ cơ sở dữ liệu hoặc email, bạn có thể cần đến bốn vCPU – đôi khi là nhiều hơn.
Để bắt đầu, cung cấp số lượng bộ xử lý ảo tương đương với yêu cầu bộ xử lý vật lý được đưa ra bởi ứng dụng. Nếu ứng dụng yêu cầu hai bộ xử lý vật lý, gán hai vCPU cho nó và giám sát hiệu suất để xem liệu nó cần thêm hay không. Ngoài ra, nếu khối lượng công việc đặc biệt đòi hỏi nhiều, gán vCPU từ các nhân khác nhau để cân bằng tải. Áp dụng quy tắc liên hệ và chống liên hệ có thể giúp chỉ định những bộ xử lý nào máy đơn cần và không cần sử dụng.
Đánh giá thông số kỹ thuật phù hợp với mục tiêu
Khi lựa chọn máy chủ vật lý để ảo hóa, cân nhắc CPU, bộ nhớ, lưu trữ và I/O mạng. Cả bốn yếu tố này đều quan trọng đối với sự hợp nhất máy chủ. Về cấu hình CPU, đánh giá số lõi, kích thước bộ nhớ cache và tốc độ đồng hồ nội bộ. Xác định mục tiêu của cơ sở hạ tầng ảo hóa của bạn và các loại công việc bạn thực hiện khi chọn CPU cho ảo hóa. Nếu giảm kích thước máy chủ là mục tiêu chính, hãy chọn một số lõi lớn hơn đồng hồ tốc độ nhanh hơn. Tuy nhiên, nếu hiệu suất công việc là mối quan tâm lớn hơn, tốc độ đồng hồ nhanh và ít lõi có thể hợp lý hơn. Thêm bộ nhớ và lưu trữ cũng giúp việc hợp nhất máy chủ, nhưng cần chọn kích thước bộ nhớ và lưu trữ phù hợp với nhu cầu để tránh lãng phí tài nguyên vật lý. Cuối cùng, đảm bảo bạn có đủ băng thông mạng để phục vụ các công việc ảo của bạn.Các CPU phổ biến cho ảo hóa
Ba nhà sản xuất vi xử lý chính là Intel, AMD và IBM. Sau đây là một số CPU phổ biến nhất của họ cho ảo hóa doanh nghiệp:- Vi xử lý Intel 3rd Gen Xeon Scalable. Các vi xử lý chuỗi 5000 có từ 6 đến 40 lõi và từ 6 đến 80 luồng. Đối với triển khai các máy chủ cơ bản trong nội bộ, Bronze là một lựa chọn tốt; Silver và Gold có tốc độ bộ nhớ và sức mạnh tăng lên, và nhiều tính năng bảo mật hơn; và Platinum có sẵn cho trung tâm dữ liệu cấp doanh nghiệp.
- Vi xử lý AMD 3rd Gen EPYC. Các vi xử lý chuỗi 7003 có từ 8 đến 64 lõi và từ 16 đến 128 luồng. AMD cũng cung cấp một công cụ ước tính chi phí sở hữu máy chủ ảo (TCO) để giúp bạn chọn vi xử lý phù hợp nhất với nhu cầu của bạn.
- Vi xử lý IBM Power9. Các vi xử lý Power9 có từ 4 đến 24 lõi, và IBM cung cấp các tùy chọn scale-out và scale-up. Các vi xử lý Power9 sử dụng công nghệ hệ thống I/O nhằm tăng cường I/O ngoại vi và tương thích với các tiêu chuẩn I/O chính, bao gồm Nvidia NVLink 2.0, PCIe Gen4 và OpenCAPI.