Tạo Máy Ảo Ubuntu Server Trên Proxmox VE Từ ISO
1. Giới thiệu
Bài thực hành này sẽ sẽ hướng dẫn các bạn cách tạo một máy ảo (Virtual Machine – VM) và cài đặt hệ điều hành Ubuntu Server từ file ISO
- Trong bài lab này sẽ thực hiện:
- Tải file ISO Ubuntu Server và đưa lên Proxmox VE
- Tạo VM, cấu hình CPU, RAM, ổ đĩa và card mạng
- Khởi động VM và cài đặt Ubuntu Server
- Kiểm tra hệ điều hành, địa chỉ ip và khả năng kết nối mạng
2. Chuẩn bị trước khi cài đặt
2.1. Kiểm tra tài nguyên của node
Đăng nhập Web UI của Proxmox VE, chọn node đang sử dụng và mở mục Summary
Kiểm tra:
- CPU và mức sử dụng tài nguyên hiện tại
- Ram còn khả dụng
- Storage còn dung lượng
- Trạng thái node

2.2. Xác định storage để lưu ISO và disk ảo
Proxmox VE cho phép cấu hình nhiều storage với mục đích khác nhau. Trước khi tải ISO hoặc tạo VM, cần xác định storage nào hỗ trợ loại nội dung cần lưu
Trong Web UI chọn Datacenter > Storage, Sau đó kiểm tra từng storage
Ví dụ như ở hình dưới đây:
- local: Thường được sử dụng để lưu file ISO, backup và template nếu được cấu hình cho phép
- local-lvm: Thường là LVM-thin pool, phù hợp để lưu disk ảo, nhưng không phải nơi lưu trữ file ISO thông thường

2.3. Tải file ISO Ubuntu Server
Truy cập trang tải Ubuntu Server:
Chọn phiên bản Ubuntu 24.04 LTS và tải file ISO phù hợp với kiến trúc máy chủ, thông thường là amd64 đối với nền tảng Intel/AMD 64-bit
Sau khi tải xong bạn sẽ có một file tương tự: ubuntu-24.04.x-live-server-amd64.iso

2.4. Upload ISO lên Proxmox VE
Trên Web UI:
- Chọn node đang sử dụng
- Chọn storage hỗ trợ nội dung ISO image, thường thì là local (1) nếu như cấu hình mặc định vẫn được giữ nguyên
- Chọn mục ISO Image (2)
- Chọn Upload (3)

Chọn Select File và chọn file ISO vừa tải về > Upload. Sau khi quá trình upload hoàn tất thì file sẽ xuất hiện ở trong danh sách.

3. Tạo máy ảo trên Web UI
3.1. Tạo VM
Chọn node Proxmox, sau đó nhấn Create VM

3.2. Cấu hình General
Điền các thông tin:
- node: Chọn node sẽ chạy VM.
- VM ID: Nhập một ID, nếu chưa được sử dụng.
- Name: Điền tên của VM.
VM ID là mã định danh duy nhất trong phạm vi quản lý của Proxmox VE. Nếu ID bị trùng hãy chọn ID khác.

3.3. Cấu hình OS
- Chọn Use CD/DVD disc image file (iso).
- Storage: Chọn storage đã upload file iso.
- ISO image: Chọn file ubuntu server 24.04 LTS.

3.4. Cấu hình System
Đối với bài lab cơ bản thì có thể giữ nguyên các thiết lập mặc định mà trình tạo VM cung cấp.

3.5. Cấu hình Disks
Tại tab Disks, cấu hình ổ đĩa ảo:
- Bus/Device: SCSI.
- Storage: Chọn storage có hỗ trợ disk image.
- Disk size: Tùy chỉnh ổ theo nhu cầu.
- Cache: Giữ mặc định.
- Discard: Chỉ bật nếu như backend lưu trữ và thiết kế hỗ trợ.

3.6. Cấu hình CPU
Tại tab CPU:
Sockets: 1
Cores: 4
Với cấu hình này khách hàng sẽ thấy 4 CPU logic được cấp cho VM.
vCPU không phải là việc dành riêng 2 lõi vật lý cho VM trong mọi trường hợp. Proxmox lập lịch thời gian xử lý trên CPU, hiệu năng thực tế còn phụ thuộc vào tải và tài nguyên toàn hệ thống

3.7. Cấu hình Memory
Tại tab Memory, nhập số ram mà bạn muốn cấp cho VM.

3.8. Network
Tại tab Network:
- Bridge: Chọn vmbr0 nếu bridge này đang kết nối với mạng mà VM cần sử dụng
- Model: VirtIO (paravirtualized)
- VLAN Tag: Để mặc định nếu mạng không yêu cầu VLAN riêng.
- Firewall: Giữ theo chính sách hiện có của hệ thống.

3.9. Kiểm tra và tạo VM
Tại tab Confirm:
Tại tab này kiểm tra lại các thông tin, nếu như đúng thì bấm Finish để bắt đầu tạo
Nếu như bạn có nhu cầu bật VM tick vào ô Start after created: Bật VM sau khi đã tạo xong

4. Khởi động VM và cài đặt Ubuntu Server
4.1. Khởi động VM
Chọn VM mà bạn vừa tạo trong cây tài nguyên sau đó bấm Start

Chọn Console để theo dõi quá trình khởi động

4.2. Chọn ngôn ngữ
Chọn ngôn ngữ mà bạn muốn sử dụng

Chọn Keyboard layout, hoặc chọn Identify keyboard để chọn layout tự động

Chọn base cho cài đặt

4.3. Network
Trình cài đặt có thể tự nhận cấu hình mạng qua DHCP nếu mạng được thiết lập phù hợp.
Ở lab này thì mình sẽ ưu tiên cấu hình qua DHCP. Chỉ cấu hình IP tĩnh khi đã biết chính xác địa chỉ IP, subnet, gateway, và DNS cần dùng.

Nếu môi trường không yêu cầu proxy, thì có thể không cần điền proxy.

4.4. Disk
Ở màn hình lưu trữ chọn phương án Use an entire disk
Tiếp đó sẽ hiển thị ra màn hình xác nhận thông tin chọn Done > Continue

Tạo tài khoản và hostname
Điền thông tin SSH, bạn cũng có thể chọn thêm cài đặt OpenSSH server

Tiếp đó hệ thống sẽ gợi ý cài đặt thêm những dịch vụ, những dịch vụ này thì không cần thiết cho lúc này cho nên không cần lựa chọn.
Sau khi cài đặt xong hệ thống sẽ yêu cầu reboot. Chọn Reboot Now

5. Kiểm tra Ubuntu Server sau khi cài đặt
Bước 1: Đăng nhập vào Ubuntu
Mở Console của VM và đăng nhập vào bằng thông tin mà bạn đã tạo trong trình cài đặt.
Ở bước này cần xác định rằng VM đã khởi động vào Ubuntu Server đã cài trên disk ảo, không chỉ chạy môi trường cài đặt từ ISO
Sau khi đăng nhập, kiểm tra hostname:
vNode Tutorial
hostnamectl

Kiểm tra hệ điều hành:
vNode Tutorial
cat /etc/os-release

Kiểm tra kernel đang chạy:
vNode Tutorial
uname -r

Bước 2: Kiểm tra CPU và RAM
Chạy 2 lệnh dưới đây:
Lệnh sau để xem số CPU khả dụng đối với tiến trình
vNode Tutorial
nproc
Lệnh dưới đây để xem thông tin bộ nhớ của Ubuntu. Số RAM có thể hiển thị thấp hơn so với giá trị cấu hình do cách hệ điều hành và thiết bị ảo sử dụng bộ nhớ
vNode Tutorial
free -h

Bước 3: Kiểm tra Disk
Chạy lệnh:
Lệnh sau có thể liệt kê block device và cấu trúc phân vùng
vNode Tutorial
lsblk

Hiển thị dung lượng filesystem đã dùng và còn trống
vNode Tutorial
df -h

Bước 4: Kiểm tra địa chỉ IP
Lệnh dưới đây để kiểm tra các giao diện mạng và địa chỉ ip được gắn cho chúng
Ở cột đầu tiên là giao diện mạng:
- lo: Giao diện loopback, dùng để máy giao tiếp với chính nó
- ens18: Tên giao diện mạng của VM, thường là card mạng ảo được Proxmox cung cấp
Cột tiếp theo là trạng thái hoạt động
Ở cột cuối cùng:
- 127.0.0.1/8: Địa chỉ IPv4 loopback
- ::1/128: Địa chỉ IPv6 loopback
- 192.168.6.143/24: Địa chỉ IPv4 và subnet mask /24 tương đương 255.255.255.0
- fe80::be24:11ff:fe0d:f855/64: Địa chỉ IPv6
vNode Tutorial
ip -br addr

Lệnh dưới đây sẽ xác định được gói tin sẽ đi qua giao diện nào và gateway nào
vNode Tutorial
ip route

VM sẽ nhận được địa chỉ IP từ DHCP server trong mạng tương ứng.
Tiếp đó ping đến địa chỉ gateway bằng địa chỉ thực tế.
vNode Tutorial
ping -c 4 dia_chi_gateway
Nếu ping được đến gateway kiểm tra thêm xem VM có kết nối được ra internet hay không. Lệnh thứ 2 nếu như trả về địa chỉ IP thì hệ thống đã phân giải được tên miền thông qua cơ chế phân giải tên miền được cấu hình trên máy.
vNode Tutorial
ping -c 4 1.1.1.1 getent hosts ubuntu.com
Bước 5: Cập nhật danh sách gói
Nếu VM có kết nối mạng và bạn muốn cập nhật hệ thống thì chạy lệnh:
vNode Tutorial
sudo apt update
Lệnh này cập nhật danh sách gói từ các repository được cấu hình. Nó không đồng nghĩa với việc nâng cấp toàn bộ hệ thống lên phiên bản mới nhất
Lệnh dưới đây là để tải và cài đặt danh sách gói của các phần mềm hiện có.
vNode Tutorial
sudo apt upgrade
6. Đối chiếu cấu hình VM bằng CLI trên Proxmox VE
Chạy những lệnh ở dưới đây ở trên Node Server
Bước 1: kiểm tra danh sách VM
Tìm VM ID 101 ở trong danh sách, hãy thay ID khác nếu như bạn sử dụng giá trị khác.
vNode Tutorial
qm list

Bước 2: Xem cấu hình VM
Kết quả sẽ hiển thị thông tin các thông tin cấu hình của VM
vNode Tutorial
qm config 100

Bước 3: Kiểm tra storage
Lệnh này sẽ hiển thị thông tin các storage, tương tự như ta vào Datacenter > Storage
vNode Tutorial
pvesm status

7. Kết luận
Vậy qua bài lab trên chúng ta đã thực hành quy trình tạo một máy ảo trên Proxmox VE từ các bước chuẩn bị ISO, cấu hình tài nguyên đến cài đặt và kiểm tra Ubuntu server.
Nếu gặp khó khăn hoặc lỗi bạn có thể gửi hỗ trợ thông qua ticket hoặc zalo.
Chúc các bạn thành công!
