1. Giới Thiệu
Khi quản trị máy ảo trên Proxmox VE, có nhiều cách để truy cập vào console của VM. Một trong những cách phổ biến là sử dụng lệnh qm terminal <VMID>
. Tuy nhiên, đôi khi bạn có thể gặp lỗi “starting serial terminal on interface serial0 (press Ctrl+O to exit)” nhưng bị treo và không thể thao tác gì được.
Bài viết này sẽ hướng dẫn bạn cách khắc phục lỗi trên và đảm bảo bạn có thể truy cập console của VM một cách ổn định.
2. Các Cách Truy Cập Console VM Trong Proxmox
Cách 1: Dùng Giao Diện Web (Dễ nhất)
- Truy cập interface quản lý web của Proxmox:
https://<IP-Proxmox>:8006
- Chọn VM cần truy cập
- Nhấn vào Console → Chọn noVNC Console hoặc xterm.js Console
- Bạn sẽ có quyền truy cập vào VM giống như đang sử dụng một server vật lý.
Cách 2: Dùng Proxmox Shell (qm terminal)
Nếu VM hỗ trợ serial console, bạn có thể chạy lệnh sau trên Proxmox:
qm terminal 105
👉 Lưu ý: Nếu gặp lỗi unable to find a serial interface
, có thể VM chưa được cấu hình serial port, cần làm thêm các bước dưới đây.
Cách 3: SSH vào VM (Nếu VM có IP và SSH bật)
Nếu VM đã có IP và SSH đã được bật, bạn có thể truy cập bằng:
ssh user@<IP-VM>
Ví dụ:
ssh root@192.168.1.100
Nếu VM chạy Windows, bạn có thể dùng Remote Desktop (RDP) để truy cập.
3. Khắc Phục Lỗi qm terminal
Bị Treo
Nếu qm terminal 105
bị treo tại dòng:
starting serial terminal on interface serial0 (press Ctrl+O to exit)
Có thể VM chưa được cấu hình để xuất console ra cổng serial. Hãy kiểm tra và thiết lập như sau:
Bước 1: Kiểm Tra VM Đã Có Serial Port Chưa
Chạy lệnh sau trên Proxmox node:
qm config 105 | grep serial
Nếu không thấy dòng serial0
, hãy thêm vào:
qm set 105 -serial0 socket
Bước 2: Cấu Hình Console Trong VM
Tùy vào hệ điều hành của VM, bạn cần bật console trên serial.
🔹 Với Ubuntu/Debian hãy bật Console trong Hệ Điều Hành của VM
Cách 1 – Nếu VM chạy Linux, cần bật console trên serial. Vào VM bằng SSH hoặc noVNC, rồi chạy:
echo "T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100" | sudo tee -a /etc/inittab
systemctl enable serial-getty@ttyS0
systemctl start serial-getty@ttyS0
Cách 2 – Mở file config GRUB: nano /etc/default/grub
- Tìm dòng sau và sửa lại:
- GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" + GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0"
- Cập nhật GRUB và khởi động lại:
update-grub reboot
🔹 Với CentOS/RHEL/Rocky Linux
- Thêm console vào kernel:
grubby --update-kernel=ALL --args="console=ttyS0"
- Bật serial-getty trên ttyS0:
systemctl enable serial-getty@ttyS0 systemctl start serial-getty@ttyS0
- Khởi động lại VM:
reboot
Bước 3 – Khởi động lại VM và thử lại
Sau khi cấu hình xong, khởi động lại VM:
qm shutdown 105 --skiplock
qm start 105
Bước 4: Thử Truy Cập Lại Console
Sau khi thực hiện xong các bước trên, chạy lại lệnh:
qm terminal 105
Lúc này, bạn sẽ thấy được login prompt thay vì bị treo.
Khi bạn vào máy ảo bằng terminal, bạn sẽ không cần có mạng vẫn có thể truy cập console, vì nó kết nối trực tiếp đến cổng serial của VM qua socket nội bộ trên host Proxmox. Điều này sẽ hỗ trợ bạn cấp cứu máy ảo khi mất kết nối SSH.
Tuy nhiên, để qm terminal
hoạt động, bạn cần:
✅ VM phải có serial port (serial0
) được thêm vào.
✅ Hệ điều hành bên trong VM phải bật console trên serial (ttyS0
).
Nếu chưa cấu hình serial console, bạn có thể làm theo hướng dẫn ở tin nhắn trước để thêm serial0
và bật console trong OS. 🔧
4. Tổng Kết
✅ Nếu bạn không thể truy cập console bằng qm terminal
, hãy đảm bảo:
- VM đã có serial0 được thêm vào bằng lệnh
qm set 105 -serial0 socket
- Hệ điều hành VM đã bật console trên ttyS0
- Cập nhật GRUB và bật dịch vụ
serial-getty@ttyS0
💡 Nếu bạn cần truy cập nhanh mà không muốn cấu hình thêm, hãy dùng noVNC Console trong interface web Proxmox.
Hy vọng bài viết này giúp bạn khắc phục lỗi console bị treo trên Proxmox! 🚀