Uruchamianie i weryfikacja
Obsługuj self-hosted konsolę VM jako uprzywilejowany element hosta KVM. Sam stan kontenerów nie wystarczy: sprawdź ścieżkę od przeglądarki przez API i libvirt do gościa.
Kontrola startu
docker compose -f docker-compose.self-hosted.yml ps
docker compose -f docker-compose.self-hosted.yml logs --tail=200 backend frontend
virsh -c qemu:///system list --allNastępnie potwierdź, że UI się ładuje, a odpowiedź trybu backendu zgłasza self-hosted mode. Przejrzyj feature map zamiast zakładać, że funkcja hostowana jest dostępna.
Test dymny end-to-end
Użyj jednorazowego, licencjonowanego ISO testowego:
- prześlij ISO i sprawdź wyświetlaną wielkość oraz nazwę;
- utwórz małą VM z jawnymi ustawieniami CPU, pamięci, dysku i sieci;
- uruchom ją i otwórz konsolę VNC;
- potwierdź, że widać postęp bootu i że wejście z klawiatury dociera do gościa;
- zatrzymaj VM;
- usuń ją i potwierdź, że domain, overlays i tymczasowe NVRAM są posprzątane;
- zrestartuj backend i potwierdź, że żaden stale replacement launch nie pozostaje zablokowany.
Nie traktuj udanego bootu jako certyfikacji sprzętu, poprawności aplikacji, zgodności łatek ani dowodu, że instalator zakończył pracę.
Sygnały operacyjne
Monitoruj co najmniej:
- dostępność frontendu i API;
- łączność backendu z libvirt;
- wolna pamięć i miejsce na dysku hosta;
- nieudane uploady i błędy uruchamiania gościa;
- domeny gości, overlays, NVRAM i inwentarz sieci;
- persistent cleanup journal w
TEST_STORAGE_DIR; - pętle restartu kontenerów i wyjątki backendu.
Plik Compose do ewaluacji nie konfiguruje zewnętrznego systemu alertów.
Typowe awarie
| Objaw | Sprawdź |
|---|---|
/dev/kvm permission denied | Członkostwo w grupie hosta i mapowanie urządzenia; nie ustawiaj urządzenia jako world-writable |
| Brak połączenia z libvirt | Status daemona, ścieżka socket, KVM_URI i mount kontenera |
| Odrzucony upload | Typ pliku, wolne miejsce, uprawnienia katalogu obrazów i skonfigurowany limit rozmiaru |
| Gość nie może otworzyć source image | Absolute-path identity host/kontener i read permission |
| Rozłączenia VNC | Stan gościa, libvirt graphics endpoint, ścieżka proxy i browser console diagnostics |
| Replacement launch nadal zablokowany | Persisted cleanup journal, stale zasoby domain/overlay/NVRAM i logi backendu |
Wyłączenie
Zatrzymaj lub usuń jednorazowych gości w UI przed zatrzymaniem stosu. Następnie uruchom:
docker compose -f docker-compose.self-hosted.yml downPotem zinwentaryzuj domeny libvirt, obrazy, sieci i named volume. Zatrzymanie kontenerów nie usuwa automatycznie każdego zasobu należącego do hosta.