ghi nhật ký và gỡ lỗi cho máy ảo qemu


12

Tôi đã có một qemumáy ảo bị sập nhiều lần vì ổ cứng trong hypanneror không còn chỗ trống. Điều này làm tôi tự hỏi là có khả năng thiết lập ghi nhật ký / gỡ lỗi cho quemucác máy ảo. Tôi đã cố gắng khởi động máy ảo bằng -D /tmp/qemu-debug-loglệnh:

qemu-system-i386 -D /tmp/qemu-debug-log -monitor pty -device e1000,netdev=tap0 -netdev tap,id=tap0 -m 512M -display vnc=:1 -drive file=FreeBSD10.2

..nhưng điều này thậm chí không tạo ra một /tmp/qemu-debug-logtập tin.

Ngoài ra, qemudường như không ghi vào messageshoặc bộ đệm vòng kernel ( dmesg). Các thực tiễn tốt nhất để cho phép đăng nhập cho qemucác máy ảo là gì?


Thay vào đó, bạn đã thử sử dụng các chức năng của libvirt chưa?
Willian Paixao

Tôi thích làm việc qemutrực tiếp hơn và không thông qua các công cụ sử libvirtdụng libvirt qemutrình điều khiển lần lượt .
Martin

Câu trả lời:


10

qemulệnh chấp nhận một -dchuyển đổi đơn giản tạo ra một tệp nhật ký được gọi là /tmp/qemu.log.

Bạn có thể truy cập nhiều tùy chọn ghi nhật ký / gỡ lỗi hơn thông qua QEMU Monitor (ví dụ qemu -monitor stdio).


3

Bất kỳ tùy chọn ghi nhật ký nào do QEMU cung cấp sẽ ở mức quá thấp cho những gì bạn cần: vấn đề của bạn không phải là phần cứng ảo hoạt động sai, chỉ có phần mềm bên trong VM cần chú ý.

Về mặt này, VM không khác gì một máy thật và giải pháp cũng vậy. Câu hỏi của bạn cho thấy VM đang chạy FreeBSD, vì vậy bạn nên kiểm tra bằng cách sử dụng rsyslogđể đẩy nhật ký đến máy chủ nhật ký hệ thống bên ngoài (có thể là máy chủ của bạn) thông qua kết nối mạng.

(Tôi không quen thuộc lắm với BSD, vì vậy tôi không chắc chắn 100% đó rsysloglà giải pháp đúng hay duy nhất ở đây, nhưng từ khóa đó sẽ giúp bạn bắt đầu.)


0

Nếu bạn sử dụng -d <component>tham số khi khởi động QEMU, nó sẽ cho phép gỡ lỗi cho thành phần đó. Điều này hữu ích nếu bạn có mã nguồn QEMU và muốn xem các bản sửa lỗi chi tiết cho một thành phần nhất định.

Ví dụ, việc truyền -d cpu_resetsẽ cho phép gỡ lỗi CPU_LOG_RESET sẽ "hiển thị trạng thái CPU trước khi đặt lại CPU". Xem qemu / produc / log.c để biết danh sách đầy đủ các tùy chọn ghi nhật ký.

Theo mặc định, nhật ký được ghi vào /tmp/qemu.log, nhưng bạn có thể chỉ định một tệp nhật ký khác với -D <logfile>tham số.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.