Jak zaktualizować Proxmox VE 7 do Proxmox VE 8
Ten przewodnik opisuje aktualizację w miejscu (in-place) węzła Proxmox VE 7 do Proxmox VE 8 za pomocą apt. Aktualizacja przenosi system z Debiana 11 Bullseye na Debiana 12 Bookworm i zastępuje jądro 5.15 nowszym. Zaplanuj przestój: węzeł musi zostać zrestartowany co najmniej raz, a zwykle dwa razy.
Proxmox VE 7 osiągnął koniec wsparcia (EOL) pod koniec lipca 2024 r., a Proxmox VE 8 osiągnął koniec wsparcia 31 sierpnia 2026 r. Aktualizacja do wersji 8 jest wymaganym krokiem pośrednim, ale nie pozostawia Cię na wspieranej wersji. Po ukończeniu tego przewodnika zaplanuj kolejną aktualizację do Proxmox VE 9.
Przed rozpoczęciem
Wymagania
Zanim zaczniesz zmieniać repozytoria, sprawdź następujące elementy:
- wszystkie węzły działają na najnowszych pakietach Proxmox VE 7.4 (
pve-manager7.4-15 lub nowszy); - co najmniej 5 GB wolnego miejsca w głównym systemie plików;
- klaster jest w dobrej kondycji, jeśli węzeł jest jego częścią;
- masz dostęp do serwera niezależny od jego sieci, na przykład przez IP-KVM;
- istnieje poprawna i przetestowana kopia zapasowa wszystkich maszyn wirtualnych i kontenerów.
Sprawdź ilość wolnego miejsca w głównym systemie plików:
df -h /
Przed aktualizacją wykonaj kopię zapasową każdej maszyny wirtualnej i każdego kontenera i upewnij się, że kopie można przywrócić. Aktualizacja główna wersji zastępuje system bazowy, jądro i pakiety programu rozruchowego. Jeśli coś pójdzie nie tak, przywrócenie z kopii jest jedynym niezawodnym sposobem powrotu. Przechowuj kopie poza aktualizowanym węzłem, na przykład na osobnym magazynie lub w INTROSERV Backup Service. Skopiuj również /etc/pve, /etc/network/interfaces, /etc/passwd i /etc/resolv.conf.
Jeśli masz hiperkonwergentny klaster Ceph, przed rozpoczęciem musi on działać na Ceph 17.2 Quincy. Sprawdź wersję w panelu Ceph każdego węzła. Jeśli klaster działa na Octopus lub Pacific, najpierw zaktualizuj Ceph do Quincy i dopiero potem kontynuuj ten przewodnik.
Jeśli na tym samym hoście zainstalowano Proxmox Backup Server, zaktualizuj go z wersji 2 do wersji 3 przed aktualizacją Proxmox VE. Postępuj zgodnie z oficjalnym przewodnikiem aktualizacji Proxmox Backup Server z wersji 2 do 3.
Jak połączyć się z węzłem
Nie uruchamiaj aktualizacji głównej wersji z Shell (konsoli) w interfejsie webowym Proxmox VE. Konsola webowa jest obsługiwana przez usługi Proxmox VE, które są restartowane podczas aktualizacji, więc sesja zostanie przerwana w trakcie procesu.
Połącz się przez SSH lub IP-KVM. W przypadku SSH uruchom sesję tmux, aby aktualizacja trwała dalej w razie zerwania połączenia:
apt update apt install tmux tmux new -s upgrade
Jeśli połączenie zostanie utracone, połącz się ponownie i wróć do sesji:
tmux attach -t upgrade
Najbezpieczniejszą opcją jest IP-KVM, ponieważ działa nawet wtedy, gdy sieć w węźle nie uruchomi się po restarcie. Aby połączyć się z serwerem dedykowanym przez IP-KVM, zobacz Łączenie z IDRAC KVM lub Dostęp IP-KVM przez OpenVPN (serwery DC2, DC3).
Maszyny wirtualne i kontenery na węźle
Wyłącz maszyny wirtualne i kontenery na węźle lub zmigruj je na inny węzeł, jeśli muszą nadal działać. Migracja ze starszej wersji Proxmox VE do nowszej jest obsługiwana. Migracja z nowszej wersji z powrotem do starszej nie jest obsługiwana.
Jeśli węzeł jest częścią klastra, aktualizuj węzły pojedynczo i przed aktualizacją każdego z nich włącz dla niego tryb konserwacji. Tryb konserwacji przenosi gości zarządzanych przez HA na inne węzły: ha-manager crm-command node-maintenance enable <node>. Goście niezarządzani przez HA nie są przenoszeni automatycznie, więc zmigruj je lub wyłącz ręcznie. Restart nie wyłącza trybu konserwacji. Po aktualizacji i restarcie węzła wyłącz go ręcznie: ha-manager crm-command node-maintenance disable <node>.
Krok 1. Aktualizacja Proxmox VE 7 do wersji 7.4
Narzędzie kontrolne pve7to8 i bezpieczna ścieżka aktualizacji są dostępne tylko w najnowszych pakietach 7.4. Aktualizacje możesz zainstalować w interfejsie webowym lub z wiersza poleceń.
Konfiguracja repozytoriów
Otwórz węzeł w interfejsie webowym i przejdź do Updates → Repositories.
Jeśli nie masz płatnej subskrypcji, wybierz repozytorium pve-enterprise i kliknij Disable. To repozytorium wymaga klucza subskrypcji.

Kliknij Add, wybierz No-Subscription i kliknij Add w oknie dialogowym.

Jeśli masz płatną subskrypcję, pozostaw repozytorium pve-enterprise i pomiń tę część.
Instalacja aktualizacji
Przejdź do Updates i kliknij Refresh. Poczekaj, aż lista pakietów zostanie zaktualizowana.

Kliknij Upgrade. Otworzy się okno terminala. Gdy pojawi się pytanie o kontynuację, wpisz Y i naciśnij Enter.

Poczekaj na zakończenie procesu i nie zamykaj okna. Na końcu w danych wyjściowych pojawi się prośba o restart węzła.

Ta sama aktualizacja z wiersza poleceń. Bez płatnej subskrypcji najpierw wyłącz repozytorium enterprise i dodaj repozytorium no-subscription, tak jak w interfejsie webowym powyżej:
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list echo "deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
Następnie zainstaluj aktualizacje:
apt update apt dist-upgrade
Debian 11 nie jest już wspierany, a jego pakiety mogą w końcu zostać przeniesione ze zwykłych serwerów lustrzanych do archive.debian.org. Jeśli apt update zwraca błędy 404 dla bullseye, zastąp wiersze Debiana w /etc/apt/sources.list następującymi:
deb http://archive.debian.org/debian bullseye main contrib deb http://archive.debian.org/debian-security bullseye-security main contrib
Te wiersze są potrzebne tylko do zakończenia Kroku 1. W Kroku 3 zastąp je wierszami Bookworm przedstawionymi tam, zamiast uruchamiać sed.
Restart i sprawdzenie wersji
Zrestartuj węzeł:
reboot
Po uruchomieniu węzła odśwież stronę w przeglądarce i sprawdź wersję w Summary węzła lub uruchom:
pveversion
Wynik musi pokazywać 7.4-15 lub nowszą wersję.

Krok 2. Uruchomienie narzędzia kontrolnego pve7to8
Proxmox VE 7.4 zawiera skrypt pve7to8. Skrypt tylko sprawdza system i zgłasza problemy; niczego nie zmienia. Uruchom go ze wszystkimi włączonymi kontrolami:
pve7to8 --full

Przeanalizuj wynik:
- pozycje
FAILtrzeba naprawić przed aktualizacją; - pozycje
WARNtrzeba przeczytać i ocenić, nawet jeśli nie blokują aktualizacji; - po każdej poprawce uruchom skrypt ponownie, aby potwierdzić, że problem zniknął.
Przed kontynuacją usuń pakiety, wtyczki i moduły magazynów innych firm, które nie są obsługiwane przez Proxmox VE 8. Wtyczka magazynu innej firmy musi mieć wersję zgodną z Proxmox VE 8, w przeciwnym razie poczekaj, aż jej autor ją wyda.
Jeśli Proxmox VE zainstalowano na czystym systemie Debian 11, a nie z obrazu ISO Proxmox VE, sprawdź, czy zainstalowany jest pakiet linux-image-amd64. Powoduje on konflikt z pakietami jądra Proxmox VE i może sprawić, że apt spróbuje usunąć pakiet proxmox-ve. Usuń go przed kontynuacją: apt remove linux-image-amd64.
Krok 3. Przełączenie repozytoriów na Bookworm
Repozytoria Debiana
Zamień Bullseye na Bookworm w głównej liście źródeł:
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
Jeśli w Kroku 1 przełączono się na archive.debian.org, sed skieruje wiersze na ścieżkę Bookworm, która nie istnieje w archiwum. Zamiast tego zastąp zawartość /etc/apt/sources.list standardowymi wierszami Debiana 12:
deb http://deb.debian.org/debian bookworm main contrib deb http://deb.debian.org/debian bookworm-updates main contrib deb http://security.debian.org/debian-security bookworm-security main contrib
Następnie upewnij się, że w żadnym pliku nie pozostały wpisy Bullseye:
grep -r bullseye /etc/apt/sources.list /etc/apt/sources.list.d/
Jeśli polecenie znajdzie wiersze, zaktualizuj je do Bookworm lub zakomentuj za pomocą #. Usuń wszystkie wiersze backports: aktualizacja nie była testowana z pakietami z backports.
Sprawdź również, czy nie ma wstrzymanych (held) ani częściowo zainstalowanych pakietów. Oba polecenia muszą zwrócić pusty wynik:
apt-mark showhold dpkg --audit
Repozytorium Proxmox VE
Nazwa pliku repozytorium zależy od sposobu, w jaki dodano repozytorium. Najpierw wyświetl listę plików:
ls /etc/apt/sources.list.d/
Bez subskrypcji zaktualizuj plik zawierający wiersz pve-no-subscription. W systemie zainstalowanym z ISO jest to zwykle pve-install-repo.list:
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/pve-install-repo.list
Prawidłowy wiersz dla Proxmox VE 8 bez subskrypcji to:
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
W niektórych systemach wiersz zawiera również [arch=amd64] po deb. To jest poprawne, pozostaw to.
Upewnij się, że repozytorium enterprise jest wyłączone: jeśli istnieje pve-enterprise.list, jego wiersz musi być zakomentowany za pomocą #, tak jak po wyłączeniu w Kroku 1.
Przy płatnej subskrypcji zapisz repozytorium enterprise i upewnij się, że w innych plikach nie pozostał aktywny wiersz pve-no-subscription:
echo "deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise" > /etc/apt/sources.list.d/pve-enterprise.list
Repozytorium Ceph
Pomiń tę część, jeśli Ceph nie jest zainstalowany na węźle.
Z płatną subskrypcją:
echo "deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise" > /etc/apt/sources.list.d/ceph.list
Bez subskrypcji:
echo "deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription" > /etc/apt/sources.list.d/ceph.list
Jeśli apt update zwraca błąd 401 dla repozytorium enterprise Ceph, odśwież subskrypcję poleceniem pvesubscription update --force i spróbuj ponownie.
Odświeżenie indeksu pakietów
apt update
Wynik nie może zawierać błędów. Każdy wiersz musi wskazywać na bookworm.
Krok 4. Aktualizacja systemu do Proxmox VE 8
Rozpocznij aktualizację:
apt dist-upgrade
Czas trwania zależy od szybkości dysku głównego: kilka minut na SSD, nawet godzina lub więcej na wolnym HDD.
Pytania podczas aktualizacji
Jeśli na początku otworzy się strona z informacjami o wydaniu, naciśnij q, aby ją zamknąć, i kontynuuj.
Gdy pojawi się pytanie, czy automatycznie restartować usługi podczas aktualizacji pakietów, wybierz Yes klawiszami strzałek i naciśnij Enter.

Pytania o pliki konfiguracyjne
Podczas aktualizacji apt pyta, co zrobić z plikami konfiguracyjnymi zmienionymi zarówno przez Ciebie, jak i przez pakiet. Naciśnij D, aby zobaczyć różnice przed udzieleniem odpowiedzi. Zalecane odpowiedzi dla typowych plików:
/etc/issue: zachowaj swoją wersję (N). Proxmox VE generuje ten plik ponownie podczas rozruchu, dotyczy on tylko ekranu logowania;/etc/lvm/lvm.conf: zainstaluj wersję opiekuna pakietu (Y), jeśli nie edytowałeś pliku samodzielnie;/etc/apt/sources.list.d/pve-enterprise.list: jeśliaptzapyta o ten plik, zachowaj swoją wersję (N), w przeciwnym razieaptnadpisze repozytorium skonfigurowane w Kroku 3;/etc/ssh/sshd_config: jeśli nie edytowałeś pliku, zainstaluj wersję opiekuna (Y), która zastępuje przestarzałą opcjęChallengeResponseAuthenticationopcjąKbdInteractiveAuthentication. Jeśli samodzielnie zmieniałeś ustawienia SSH, uważnie porównaj pliki;/etc/default/grub: to pytanie zwykle pojawia się tylko wtedy, gdy zmieniłeś plik, na przykład aby dodać parametry jądra. Sprawdź różnice; jeśli nie masz pewności, zachowaj swoją wersję (N).
W systemie uruchamianym w trybie UEFI z głównym systemem plików na LVM GRUB może po aktualizacji nie uruchomić się z błędem disk `lvmid/...' not found. W takim systemie przed restartem zainstaluj właściwy pakiet GRUB:
[ -d /sys/firmware/efi ] && apt install grub-efi-amd64
Uruchom to polecenie w systemach UEFI uruchamianych przez GRUB, co jest domyślne dla instalacji z ISO Proxmox VE z głównym systemem plików na LVM. W systemie ze starszym BIOS-em polecenie nic nie robi. Pomiń je, jeśli główny system plików jest na ZFS: takie systemy uruchamiają się przez proxmox-boot-tool i nie są dotknięte problemem.
Sprawdzenie wyniku
Gdy apt dist-upgrade zakończy się bez błędów, uruchom narzędzie kontrolne ponownie:
pve7to8 --full
Przed restartem narzędzie może pokazać pozycje WARN dotyczące działającego jądra oraz LXCFS, który nadal używa starej biblioteki FUSE. To oczekiwane: oba znikną po restarcie do nowego jądra w Kroku 5. Nie może być pozycji FAIL.

Krok 5. Restart do nowego jądra
Zrestartuj węzeł. Jest to wymagane, nawet jeśli w Proxmox VE 7 korzystałeś już z opcjonalnego jądra 6.2:
reboot
Nowe jądro może na niektórym sprzęcie zmienić nazwy interfejsów sieciowych. Jeśli po restarcie węzeł nie odpowiada w sieci, połącz się przez IP-KVM, sprawdź bieżące nazwy interfejsów poleceniem ip link i zaktualizuj je w /etc/network/interfaces. Następnie zastosuj konfigurację poleceniem ifreload -a.
Krok 6. Sprawdzenie wyniku
Wyczyść pamięć podręczną przeglądarki lub wymuś ponowne załadowanie interfejsu webowego za pomocą Ctrl+Shift+R (Cmd+Shift+R w macOS). Sprawdź wersję w Summary węzła lub poleceniem:
pveversion

Uruchom maszyny wirtualne i kontenery i sprawdź, czy działają. W klastrze wyłącz tryb konserwacji na węźle i przejdź do następnego węzła, zaczynając ponownie od sprawdzenia wymagań.
Systemy uruchamiane w trybie UEFI przez proxmox-boot-tool, zwykle z głównym systemem plików na ZFS i zainstalowane z ISO, po aktualizacji otrzymują ostrzeżenie pve7to8 dotyczące pakietu systemd-boot. Zainstaluj ten pakiet tylko wtedy, gdy narzędzie kontrolne zgłosi to ostrzeżenie. W innych systemach nie jest potrzebny, a jego skrypt instalacyjny może zastąpić GRUB jako program rozruchowy.
Rozwiązywanie problemów
Aktualizacja chce usunąć proxmox-ve
Komunikat W: (pve-apt-hook) You are attempting to remove the meta-package 'proxmox-ve'! oznacza, że jakieś repozytorium jest nadal skonfigurowane dla Bullseye lub nie istnieje dla Bookworm. Sprawdź wszystkie pliki w /etc/apt/sources.list.d/, popraw repozytoria i ponownie uruchom apt update. Nie potwierdzaj usunięcia.
Aktualizacja została przerwana
Jeśli połączenie zostało utracone lub aktualizacja zatrzymała się w połowie, połącz się ponownie z sesją tmux lub zaloguj się ponownie i uruchom:
dpkg --configure -a apt -f install apt dist-upgrade
Błędy zależności pakietów Ceph
Jeśli apt dist-upgrade zgłasza niespełnione zależności pakietów Ceph na węźle bez Ceph, dodaj repozytorium no-subscription Ceph Quincy z Kroku 3 i ponownie uruchom apt update. Niektóre pakiety Proxmox VE mogą go wymagać podczas aktualizacji.
Węzeł się nie uruchamia
Połącz się przez IP-KVM, aby zobaczyć błąd rozruchu. W przypadku problemów z GRUB zobacz oficjalną stronę Recover From Grub Failure.
Co dalej
Proxmox VE 8 nie otrzymuje już aktualizacji. Zaplanuj aktualizację do Proxmox VE 9 na Debianie 13 Trixie, która przebiega według tej samej procedury z narzędziem kontrolnym pve8to9.
Jeśli wolisz nie wykonywać aktualizacji głównych samodzielnie, specjaliści z działu Administracji systemami INTROSERV mogą zaplanować i przeprowadzić aktualizację za Ciebie.