Truy cập console VM Trong Proxmox VE

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! 🚀

Bài viết gần đây

spot_img

Related Stories

Leave A Reply

Please enter your comment!
Please enter your name here

Đăng ký nhận thông tin bài viết qua email