Twoja maszyna wirtualna Debian uruchamia się, jej sieć działa, ale Proxmox wciąż wyświetla „Guest Agent not running” lub nie zwraca żadnych informacji. Zaznaczenie opcji QEMU Guest Agent w interfejsie nie wystarcza, aby nawiązać wymianę z gościem.
QEMU Guest Agent instaluje demon w Debianie i tworzy kanał zarządzania między maszyną wirtualną a hostem. Sprawdzisz obie strony, a następnie zlokalizujesz problem z konfiguracją, usługą lub urządzeniem, nie modyfikując sieci maszyny wirtualnej.

Do czego służy QEMU Guest Agent w Proxmox ?
Maszyna wirtualna może działać normalnie bez agenta. Proxmox widzi wtedy maszynę wirtualną, ale nie ma takiego samego poziomu informacji o systemie Debian, który działa wewnątrz.
QEMU Guest Agent uruchamia qemu-ga w gościu. Demon wymienia się informacjami z hypervisorem za pośrednictwem urządzenia virtio-serial, które zazwyczaj wystawione jest w Debianie pod adresem /dev/virtio-ports/org.qemu.guest_agent.0. Proxmox może w ten sposób żądać informacji od maszyny wirtualnej, organizować czystą operację zamykania oraz koordynować zamrożenie, a następnie odmrożenie systemu plików podczas niektórych kopii zapasowych lub zrzutów stanu.
Dokumentacja oficjalna Proxmox oraz QEMU opisują ten ciąg hosta, kanał wirtualny i demon gościa. Agent nie zastępuje ani sterownika sieci VirtIO, ani DHCP, ani mostu, ani zapory.
Aktywacja agenta po stronie Proxmox przed dotknięciem Debiana
Najpierw zatrzymaj maszynę wirtualną, jeśli planujesz zmodyfikować jej konfigurację sprzętową. W interfejsie Proxmox otwórz maszynę wirtualną Debian, przejdź do Opcje, edytuj QEMU Guest Agent, a następnie aktywuj opcję. Sprawdź również VMID wyświetlany w interfejsie : będzie on używany tylko na hoście Proxmox.
Radziłbym sprawdzić tę opcję po stronie Proxmox przed zainstalowaniem pakietu w Debianie. W ten sposób oddzielisz brak kanału wirtualnego od braku prostej usługi.
Odpowiednik w linii poleceń podany przez Proxmox jest następujący :
qm set VMID --agent 1
Zastąp VMID numerycznym identyfikatorem swojej maszyny wirtualnej. Ta akcja aktywuje opcję po stronie hosta. Nie uruchamia usługi Debian i nie dowodzi obecności kanału virtio-serial.
Jeśli ustawienie zostało właśnie dodane i urządzenie nie pojawia się w gościu, wykonaj kontrolowane zatrzymanie, a następnie uruchomienie maszyny wirtualnej. Nie zakładaj, że hot plug będzie dostępny we wszystkich konfiguracjach.
Instalacja i uruchomienie qemu-guest-agent w Debianie
Otwórz terminal w maszynie wirtualnej Debian. Aktualizacja indeksu APT pozwoli uniknąć pracy z przestarzałymi metadanymi :
sudo apt-get update
sudo apt-get install qemu-guest-agent
Następnie sprawdź jednostkę systemd zamiast od razu wykonywać restart :
sudo systemctl status qemu-guest-agent --no-pager
Powinieneś uzyskać znaną usługę i stan active (running). Jeśli jest zainstalowana, ale nieaktywna, uruchom ją, a następnie włącz jej automatyczne uruchamianie w Debianie :
sudo systemctl start qemu-guest-agent
sudo systemctl enable qemu-guest-agent
Przeczytaj ponownie systemctl status po tych działaniach. Wiadomość o błędzie jest bardziej użyteczna niż kolejne identyczne próby. Instalacja pakietu nie wpływa na kartę sieciową, most ani konfigurację IP.
Sprawdzenie kanału virtio-serial w maszynie wirtualnej
Aktywna usługa może czekać na urządzenie, którego maszyna wirtualna nie przedstawia. Sprawdź używaną przez QEMU Guest Agent ścieżkę :
ls -l /dev/virtio-ports/org.qemu.guest_agent.0
Plik powinien być obecny. Jeśli go brakuje, ponowna instalacja pakietu nic nie rozwiąże. Najpierw sprawdź opcję QEMU Guest Agent w Proxmox, a następnie konfigurację sprzętową maszyny wirtualnej. Kontrolowane zatrzymanie i uruchomienie mogą być konieczne po wprowadzeniu zmian.
Jeśli ścieżka istnieje, ale Proxmox wciąż nie otrzymuje odpowiedzi, przeczytaj ostatnie komunikaty usługi :
sudo journalctl -u qemu-guest-agent --no-pager -n 50
Manpage oficjalne Debiana dla qemu-ga dokumentuje również /etc/qemu/qemu-ga.conf i transport virtio-serial. Zachowaj tę ścieżkę dla błędów wyraźnie związanych z demonem lub jego kanałem, a nie dla problemów z adresem IP.
Testowanie odpowiedzi z hosta Proxmox
Uwaga: status active (running) w Debianie potwierdza istnienie usługi, a nie odpowiedzi otrzymywanych przez hosta. Aby sprawdzić składnię dostępną w Twojej wersji Proxmox, rozpocznij na hoście od tego preflight :
qm help agent
Ta pomoc powinna potwierdzić dokładną formę, której oczekuje Twoja instalacja. Następnie uruchom tylko tą formę qm agent, która pojawiła się w tym preflight, z odpowiednim VMID. Nie podaję tu zakładanej podkomendy : może się ona różnić w zależności od wersji narzędzia, a wymyślona komenda nie stanowi testu.
Oczekiwanym wynikiem jest odpowiedź informacyjna zgodna z maszyną wirtualną wyświetlaną w Proxmox. Porównaj ją ze stanem agenta w interfejsie. Widoczny adres IP może pomóc, ale nie wystarczy, aby udowodnić pełne działanie kanału zarządzania.
Naprawa problemu w odpowiedniej warstwie
Kiedy wiele objawów wygląda podobnie, ta tabela zapobiega reinstalacji Debiana, gdy urządzenie brakuje po stronie maszyny wirtualnej.
| Objaw | Prawdopodobna warstwa | Polecenie lub kontrola | Minimalna akcja |
|---|---|---|---|
| Opcja nieaktywna | Proxmox | Opcje maszyny wirtualnej | Aktywuj QEMU Guest Agent, a następnie zrestartuj maszynę wirtualną, jeśli kanał się nie pojawi. |
| Jednostka nieznana | Debian | systemctl status qemu-guest-agent | Zainstaluj pakiet za pomocą APT, a następnie sprawdź stan usługi. |
| Usługa w błędzie | Debian | systemctl status i journalctl | Przeczytaj pierwszy błąd przed jakimkolwiek nowym uruchomieniem. |
| Urządzenie nieobecne | virtio-serial | ls -l /dev/virtio-ports/org.qemu.guest_agent.0 | Popraw opcję lub sprzęt wirtualny po stronie Proxmox, a następnie wykonaj cykl zatrzymania i uruchomienia. |
Jeśli agent odpowiada z hosta, ale maszyna wirtualna wciąż nie ma sieci, zatrzymaj diagnozowanie QEMU Guest Agent w tym miejscu. Łączność dotyczy mostu, interfejsu wirtualnego lub Debiana. Post Przywrócenie sieci maszyny wirtualnej Proxmox, od mostu do gościa opisuje ten ciąg bez mieszania obu problemów.
Jeśli kontrola wykazuje usterkę mostu na hoście, użyj zamiast tego Tworzenie mostu Proxmox bez utraty dostępu do serwera. Nie modyfikuj mostu, aby naprawić niezidentyfikowanego agenta : obie warstwy komunikują się, ale nie pełnią tej samej roli.
Walidacja zatrzymania i kopii zapasowych bez nadmiernych obietnic
Ważna odpowiedź z hosta pozwala następnie kontrolować oczekiwane korzyści. Wykonaj kontrolowane zatrzymanie gościa z Proxmox, a następnie sprawdź zadanie i dzienniki hosta. Maszyna wirtualna powinna zatrzymać się czysto, zamiast doznać przymusowego wyłączenia.
Aby wykonać kopię zapasową lub zrzut stanu, który wykorzystuje zamrożenie systemu plików, sprawdź także komunikaty o zadaniach. Zamrożenie i odmrożenie poprawiają spójność systemu plików. Nie zapewniają jednak spójności aplikacyjnej dla wszystkich baz danych : baza danych musi nadal przejść przez swoje własne procedury tworzenia kopii zapasowych.
Oto cztery dowody, które należy zgromadzić przed uznaniem instalacji za zakończoną :
- opcja QEMU Guest Agent jest aktywna po stronie Proxmox ;
- pakiet i usługa są obecne w Debianie ;
- urządzenie virtio-serial istnieje pod oczekiwaną ścieżką ;
- host otrzymuje odpowiedź po preflight
qm help agenti odpowiednim teście dostosowanym do wersji.
Kanał jest uznawany za zweryfikowany, gdy te cztery kontrole się pokrywają. Jeśli odpowiada, pozostaw sieć w spokoju : nie brakuje agenta do naprawy mostu.