Hướng dẫn cài đặt Windows Server trên Proxmox (Chuẩn VirtIO)
Trong bài viết này, mình sẽ hướng dẫn các bạn cách cài đặt máy ảo Windows trên nền tảng Proxmox. Thực tế, việc khởi tạo một máy ảo chỉ mất vài cú click chuột, thế nhưng để hệ thống hoạt động ổn định, tránh tình trạng 'nghẽn cổ chai' và tận dụng tối đa hiệu năng phần cứng thì khâu lựa chọn thông số cấu hình lại là bước cực kỳ quan trọng.
Và ngay bây giờ, hãy cùng mình đi vào chi tiết các thiết lập chuẩn nhất để có một máy ảo Windows vận hành mượt mà. Bắt đầu thôi!
Lưu ý: Hướng dẫn này áp dụng chung cho tất cả các phiên bản Windows Server: 2016, 2022, 2025... và Windows 10, 11... Trong bài viết này mình sẽ cài đặt phiên bản Windows Server 2022.
Upload file ISO lên Promox
Đầu tiên chúng ta sẽ cần phải tải file ISO của hệ điều hành và upload lên Proxmox. Các bạn nên tải các file ISO chính hãng của Microsoft để đảm bảo các file này chưa bị sửa đổi hoặc bị lỗi.
Nếu mua windows chính hãng, thì các bạn sẽ vào tài khoản CSP hoặc Microsoft 365 Admin Center để tải về, phần license sẽ có tuỳ chọn để chúng ta download file ISO hoặc copy key để active. Các bạn có thể tham khảo bài viết: Hướng dẫn cách lấy License Key vĩnh viễn Microsoft CSP.
Nếu chưa mua license, thì các bạn có thể tải trực tiếp file Eval trực tiếp trên trang chủ của Microsoft về cài dùng thử 180 ngày, khi có license thì chúng ta sẽ active sau. Các bạn chỉ cần tìm kiếm Windows Server 2022 Eval trên Google là được.
Ngoài file windows ra, thì các bạn có thể tải thêm file Virtio Drivers cho Windows. Virtio Drivers là tuỳ chọn khi các bạn sử dụng SCSI, còn nếu sử dụng các chuẩn SATA cũ thì chúng ta không cần file này.
VirtIO là 1 bộ driver tổng hợp dành cho các thiết bị ảo hoá trên môi trường KVM hay Proxmox. Vì Windows không tích hợp sẵn các driver dành cho phần cứng, nên bạn bắt buộc phải có file này để Windows có thể giao tiếp và nhìn thấy được Hardware nếu chúng ta sử dụng các loại ổ đĩa SCSI hoặc card mạng VirtIO. Trong phần chi tiết cài đặt thì mình sẽ nói cụ thể phần này. VirtIO được phát triển từ dự án Fedora do Red Hat quản lý, do vậy các bạn có thể tải trực tiếp file này từ website của Fedora: virtio-win-download.
Sau khi có đủ file ISO thì các bạn upload các file này lên Proxmox. Các bạn chọn Server Proxmox, chọn Storage Local > ISO Images. Chọn Upload và tải 2 file ISO cho Windows và VirtIO lên.

Thiết lập thông số cho máy ảo Windows trên Proxmox
Sau khi đã tải file ISO lên, thì chúng ta sẽ tiến hành cài đặt máy ảo. Các bạn kích chuột phải vào Server Proxmox và chọn Create VM.

Trong tab General, các bạn thiết lập các thông số cơ bản:
- VM ID: là số định danh để quản lý cho VM này, mặc định sẽ từ 100 và tăng dần. Các bạn có thể để mặc định hoặc quy hoạch ID cụ thể cho từng máy. Vì với những cấu hình nâng cao, cần làm việc trong Shell thì chúng ta sẽ cần phải sử dụng ID này.
- Name: nhập tên cho máy ảo.
- Tích chọn Start at boot để máy ảo tự bật khi Proxmox khởi động.
- Nhấn Next để chuyển sang tab OS.

Trong tab OS, các bạn chọn file ISO để cài đặt:
- ISO Image: chọn file ISO của Windows.
- Type: chọn Microsoft Windows.
- Version: chọn 11/2022/2025 cho Windows Server 2022.
- Tích chọn Add additional drive for VirtIO drivers, sau đó chọn file Virtio Driver mà chúng ta vừa down về. Khi chọn mục này thì file driver cũng sẽ được mount thành 1 ổ CD ảo, các bạn có thể truy cập được vào khi cài Win hoặc sau khi cài win xong để lấy driver.
- Nhấn Next để chuyển sang tab System.

Chuyển sang tab System, trong menu này thì các bạn sẽ cần chú ý 1 số tuỳ chọn.
- Machine: chọn q35. Đây là chuẩn mới, hỗ trợ PCIe và, tối ưu passthrough GPU, NIC 10/40G. Chuẩn i440fx là chuẩn cũ và không hỗ trợ các tiêu chuẩn hiện nay.
- BIOS: chúng ta sẽ chọn là OVMF (UEFI).
- EFI Storage: chọn Storage sử dụng cho để cấp dung lượng cho máy ảo này.
- SCSI Controller: các bạn chọn VirtIO SCSI Single. Khi đó mỗi ổ đĩa được cấp 1 card điều khiển riêng biệt. Nếu các bạn chọn bản không có VirtIO SCSI thì tất cả ổ đĩa sẽ dùng chung 1 card điều khiển. Nếu có nhiều ổ đĩa thì sẽ không tối ưu, VirtIO SCSI single là tuỳ chọn tốt nhất.
- Tích chọn Qemu Agent để giúp Proxmox giao tiếp tốt hơn với các máy ảo.
- Add TMP thì các bạn có thể tắt đi. Đây là tuỳ chọn, nếu bật lên thì sẽ tăng tính bảo mật cho máy ảo.

Chuyển sang tab Disks:
- Phần mà các bạn quan tâm nhất ở đây là Bus/Device. Chúng ta sẽ có 3 tuỳ chọn là IDE, SATA và SCSI.
- IDE là chuẩn cũ. Chuẩn này cho tốc tộ đọc ghi rất thấp, độ trễ cao và tiêu tốn nhiều tài nguyên CPU để xử lý. Nếu các bạn không tải VirtIO lên thì IDE sẽ là tuỳ chọn mặc định, nếu các bạn không để ý và sử dụng chuẩn này thì hiệu suất của máy ảo sẽ giảm đi rất nhiều.
- Tuỳ chọn thứ 2 là SATA, sử dụng cơ chế giả lập Controller AHCI, sẽ cho hiệu suất ở mức độ trung bình, đây là chuẩn mà chúng ta thường hay sử dụng trên PC hoặc Server hiện nay. Chuẩn SATA thì được hỗ trợ trên tất cả các bản Win, nên chúng ta sẽ không cần thêm Virtio Driver để Windows nhận ổ. Các bạn có thể sử dụng chuẩn SATA này thay cho IDE, không nên dùng IDE.
- SCSI là chuẩn cho tốc độ cao nhất, độ trễ thấp và có khả năng xử lý đa luồng. Đây là chuẩn tối ưu nhất cho các ổ SSD hoặc SAN. Ngoài ra thì SCSI hỗ trợ TRIM/Discard giúp giải pháp dung lượng SAN. Tuy nhiên thì các bản Windows hiện nay chưa tích hợp sẵn Driver cho SCSI, do vậy khi cài win thì chúng ta cần phải có VirtIO driver để windows nhìn thấy ổ đĩa. Nếu đã download file VirtIO driver rồi thì các bạn nên chọn chuẩn này. Mình sẽ hướng dẫn dùng SCSI vì với SATA hay IDE thì khi cài win các bạn cài như bình thường, giống như cài trên máy thật. SCSI sẽ khác 1 bước là các bạn phải load driver VirtIO nữa.
- Disk Size (GiB): nhập dung lượng cấp cho máy ảo.
- Mục Discard là phần để giải phóng dung lượng SAN nếu các bạn xoá dữ liệu trên máy ảo đi. Tuy nhiên nó chỉ có tác dụng nếu pool các bạn đang cài là Thin Provisioning.
- IOThread thì các bạn nên chọn nếu sử dụng SCSI Single, nó sẽ tạo ra 1 luồng xử lý riêng biệt cho việc đọc ghi ổ đĩa, như vậy sẽ tối ưu được hiệu suất. Nếu các bạn tắt mục này đi, thì toàn bộ việc xử lý network, đồ hoạ, đọc ghi ổ đĩa của máy ảo sẽ được dùng chung 1 cái gói là Main Event Loop. Nếu 1 tiến trình dùng nhiều thì sẽ làm giảm hiệu suất của các tiến trình khác.
- Nếu sử dụng ổ SSD, thì các bạn tích chọn SSD emulation để thông báo cho hệ điều hành biết ổ là SSD, khi đó nó có thể sử dụng được các tính năng tối ưu hoá cho ổ SSD.

Nếu các bạn muốn add nhiều phân vùng cho máy ảo này, thì các bạn chỉ cần chọn Add và thiết lập tương tự như ổ trước là được.
Nhấn Next để chuyển sang tab CPU.
- Trong tab CPU thì các bạn thiết lập số Sockets và Cores cấp cho máy ảo là được.
- Nếu máy chủ có 2 CPU thì các bạn tích chọn Enable NUMA, đây là cơ chế để thông báo cho Server biết đang có 2 CPU vật lý, và nó sẽ cố gắp sắp xếp các tiến trình và dữ liệu trên cùng 1 Socket, giúp giảm độ trễ truy xuất RAM. Vì khi có 2 CPU, nếu CPU1 muốn lấy dữ liệu từ RAM của CPU 2, nó phải đi qua 1 đường dẫn giữa 2 CPU, dẫn đến độ trễ cao hơn.
- Type: thì có rất nhiều tuỳ chọn, mặc định sẽ là x86-x64-v2-aes. Mỗi loại sẽ có ưu điểm và nhược điểm riêng, chúng ta sẽ cần áp dụng vào từng trường hợp cụ thể. Tuỳ chọn mặc định này sẽ tương thích hầu hết trường hợp, các bạn có thể giữ nguyên. Hoặc nếu Proxmox chỉ có 1 node duy nhất, hoặc các node có CPU tương tự nhau, thì các bạn có thể chọn type là host để đạt được hiệu năng tốt nhất. Khi chọn type là Host thì máy ảo sẽ nhận diện được chính xác loại CPU, và sử dụng được toàn bộ các tập lệnh của CPU, lúc này máy ảo sẽ giống như 1 phiên bản thu nhỏ hoàn hảo của máy chủ vật lý. Nhược điểm của Host là bạn sẽ không thể di chuyển máy ảo sang 1 Server có CPU đời khác mà không bị treo.
- Nhấn Next để chuyển sang tab Memory.

Thiết lập RAM cấp cho máy ảo trong tab Memory:
- Memory (MiB): thiết lập dung lượng RAM sử dụng cho máy ảo này.
- Ballooning Device: mặc định đã được tích chọn, tính năng cho phép Proxmox tự động thu hồi RAM khi VM không dùng hết, các bạn sẽ phải thiết lập RAM tối thiểu sẽ luôn cấp cho máy ảo này trong phần Minimum memory (MiB). Đối với các Server quan trọng, hoặc chạy Database, thì các bạn nên tắt tuỳ chọn này đi để VM luôn được cấp đủ dung lượng RAM mà các bạn đã cài đặt, tránh bị lag. Còn máy chủ không quan trọng thì các bạn có thể giữ nguyên để tối ưu phần RAM chưa sử dụng. Khi sizing thì chúng ta đã tính toán đủ nên theo mình thì các bạn nên bỏ tích phần này.
- Nhấn Next.

Trong tab Network, các bạn cấu hình thông số card mạng cho máy ảo.
- Phần này thì tuỳ vào quy hoạch, mỗi mô hình sẽ có 1 cách cài đặt thông số khác nhau, nếu có chia VLAN thì các bạn có thể tham khảo bài viết: Hướng dẫn cấu hình VLAN trên Proxmox sử dụng VLAN Aware.
- Máy ảo này mình đang quy hoạch vào VLAN 11, nên mình sẽ nhập 11 ở VLAN tag và chọn Bridge là mvbr0.
- Model: nếu đã download VirtIO driver thì chúng ta sẽ sử dụng luôn Model VirtIO (paravirtualized), Card mạng ảo dùng VirtIO có thể hỗ trợ tốc độ lên 40Gbps cho các hạ tầng lớn.
- Firewall: các bạn nên tích chọn, Proxmox cũng có tường lửa riêng để cho phép chúng ta chặn lọc gói tin ngay từ lớp ảo hoá này. Việc này có thể giảm tải cho firewall bên ngoài.
- Multiqueue: này là phần quan trọng nhất, nó liên quan đến số core của vCPU sẽ sử dụng để xử lý lưu lượng mạng. Mặc định không nhập gì thì Proxmox sẽ chạy ở chế độ Single Queue, nghĩa là chỉ dùng 1 Core duy nhất để xử lý lưu lượng mạng. Nếu lưu lượng mạng lớn thì Core này có thể bị quá tải. Phần này thì các bạn không nên để mặc định. Nếu máy ảo có 32 vCPU thì các bạn có thể nhập ở đây là 4, còn 64 vCPU thì các bạn nhập là 8. Không có công thức tính toán riêng hay dùng bao nhiêu là tốt. Nếu các bạn nhập nhiều quá thì nếu lưu lượng mạng lớn có thể ảnh hưởng dịch vụ khác, còn nhập ít quá thì có thể sẽ làm tăng độ trễ nếu CPU không xử lý kịp.

Chuyển sang tab Confirm. Đây là tab để các bạn review lại các cấu hình đã cài đặt. Nếu tất cả đã đúng thì các bạn nhấn Finish.

Cài đặt Windows
Sau khi thiết lập xong các thông số cho máy ảo, chọn máy ảo với ID vừa tạo, chuyển sang menu Console, nhấn Start Now để bật máy ảo này lên.

Các bước cài Windows thì tương tự như các bạn cài đặt trên máy vật lý, do vậy mình sẽ không hướng dẫn chi tiết các bước.
Chỉ có duy nhất phần chọn ổ cài win, do mình đang sử dụng chuẩn SCSI nên khi vào đây sẽ không thấy được ổ do Windows không có Driver cho SCSI, chúng ta sẽ phải sử dụng VirtIO driver. Nếu sử dụng chuẩn SATA hoặc IDE thì các bạn sẽ thấy ổ đã cấp cho máy ảo ở đây và cài đặt bình thường.
Nhấn Load driver.

Chọn OK.

Windows sẽ tự động scan các file driver có trong USB, CD/DVD để cài đặt. Do chúng ta đã mount file ISO của VirtIO Driver trong phần thiết lập Add additional drive for VirtIO drivers trong tab OS, nên windows có thể scan drivers trong ổ Virtual DVD này. Chọn Driver theo phiên bản Windows và nhấn Next, với phiên bản Windows Server 2022 mình đang cài thì file sẽ ở thư mục 2k22.

Sau khi cài đặt xong drivers thì Windows đã nhìn thấy ổ cứng chuẩn SCSI mà các bạn đã cấp cho máy ảo. Các bước tiếp theo các bạn cài đặt như bình thường.

Cài Drivers cho Devices
Do chúng ta đang sử dụng các chuẩn VirtIO, nên sẽ có 1 số mục, như card mạng hoặc PCI sẽ không nhận được driver. Các bạn sẽ cần cài driver cho các devices còn thiếu.
Vào Device Manager, các bạn có thể search cho nhanh.

Kích chuột phải vào các device còn thiếu, chọn Update driver.

Chọn Browse my computer for drivers.

Chọn Browse, sau đó trỏ đến ổ CD của VirtIO driver. Vì trên Windows có tuỳ chọn Include subfolders, nên nó sẽ tự động tìm kiếm tất cả các thư mục trong file VirtIO để lấy Drivers, nhấn Next.

Windows sẽ tự động tìm và cài đặt driver. Các bạn làm tương tự với các devices còn lại nếu có.
Kết luận
Vậy là mình đã hướng dẫn xong cho các bạn các bước chi tiết để cài đặt và tối ưu Windows Server trên nền tảng Proxmox. Như các bạn đã thấy, việc thiết lập chuẩn xác ngay từ đầu các thông số như VirtIO SCSI, IOThread, hay Multiqueue chính là chìa khóa để hệ thống của chúng ta vận hành ổn định và đạt hiệu năng cao nhất trên hạ tầng thực tế.
Hy vọng bài viết này sẽ giúp ích cho các bạn trong quá trình quản trị và triển khai hạ tầng ảo hóa. Nếu các bạn có bất kỳ thắc mắc nào hoặc đang tìm kiếm một đơn vị tư vấn giải pháp chuyên sâu về Server, AI và ảo hóa, hãy liên hệ ngay với CNTTShop. Chúng mình tự hào là nhà phân phối và cung cấp giải pháp hạ tầng CNTT hàng đầu, luôn sẵn sàng đồng hành cùng các bạn trong mọi dự án.








.png)























Bình luận bài viết!