Skip to content

Audit Système & Procédure de Restauration

État au : 24 Janvier 2026 Objectif : Documenter l'existant avant réinstallation/restauration suite à l'échec des drivers Nvidia sur PVE 9.1.


1. 🔍 Audit du Système Actuel (À faire sur le Host Proxmox)

Exécutez ces commandes via le Shell Proxmox (ou SSH) et copiez les résultats ci-dessous.

A. Version et Kernel

pveversion -v
uname -a

Résultat :

proxmox-ve: 9.1.0 (running kernel: 6.17.4-2-pve)
pve-manager: 9.1.4 (running version: 9.1.4/5ac30304265fbd8e)
proxmox-kernel-helper: 9.0.4
proxmox-kernel-6.17.4-2-pve-signed: 6.17.4-2
proxmox-kernel-6.17: 6.17.4-2
proxmox-kernel-6.17.2-1-pve-signed: 6.17.2-1
ceph-fuse: 19.2.3-pve2
corosync: 3.1.9-pve2
criu: 4.1.1-1
frr-pythontools: 10.4.1-1+pve1
ifupdown2: 3.3.0-1+pmx11
intel-microcode: 3.20251111.1~deb13u1
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-5
libknet1: not correctly installed
libproxmox-acme-perl: 1.7.0
libproxmox-backup-qemu0: 2.0.1
libproxmox-rs-perl: 0.4.1
libpve-access-control: 9.0.5
libpve-apiclient-perl: 3.4.2
libpve-cluster-api-perl: 9.0.7
libpve-cluster-perl: 9.0.7
libpve-common-perl: 9.1.4
libpve-guest-common-perl: 6.0.2
libpve-http-server-perl: 6.0.5
libpve-network-perl: 1.2.4
libpve-rs-perl: 0.11.4
libpve-storage-perl: 9.1.0
libspice-server1: 0.15.2-1+b1
lvm2: 2.03.31-2+pmx1
lxc-pve: 6.0.5-3
lxcfs: 6.0.4-pve1
novnc-pve: 1.6.0-3
proxmox-backup-client: 4.1.1-1
proxmox-backup-file-restore: 4.1.1-1
proxmox-backup-restore-image: 1.0.0
proxmox-firewall: 1.2.1
proxmox-kernel-helper: 9.0.4
proxmox-mail-forward: 1.0.2
proxmox-mini-journalreader: 1.6
proxmox-offline-mirror-helper: 0.7.3
proxmox-widget-toolkit: 5.1.5
pve-cluster: 9.0.7
pve-container: 6.0.18
pve-docs: 9.1.2
pve-edk2-firmware: 4.2025.05-2
pve-esxi-import-tools: 1.0.1
pve-firewall: 6.0.4
pve-firmware: 3.17-2
pve-ha-manager: 5.1.0
pve-i18n: 3.6.6
pve-qemu-kvm: 10.1.2-5
pve-xtermjs: 5.5.0-3
qemu-server: 9.1.3
smartmontools: 7.4-pve1
spiceterm: 3.4.1
swtpm: 0.8.0+pve3
vncterm: 1.9.1
zfsutils-linux: 2.3.4-pve1
Linux pve 6.17.4-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.17.4-2 (2025-12-19T07:49Z) x86_64 GNU/Linux

B. Configuration Boot (GRUB/Systemd-boot)

Pour voir les options kernel custom (iommu, blacklist, etc.)

cat /proc/cmdline
cat /etc/default/grub | grep GRUB_CMDLINE_LINUX_DEFAULT

Résultat :

BOOT_IMAGE=/boot/vmlinuz-6.17.4-2-pve root=/dev/mapper/pve-root ro quiet
GRUB_CMDLINE_LINUX_DEFAULT="quiet"

C. Modules et Blacklist (Nvidia/iGPU)

Vérifie ce qui est chargé ou bloqué pour le passthrough.

cat /etc/modules
ls -R /etc/modprobe.d/

Résultat :

# /etc/modules is obsolete and has been replaced by /etc/modules-load.d/.
# Please see modules-load.d(5) and modprobe.d(5) for details.
#
# Updating this file still works, but it is undocumented and unsupported.
dkms.conf                       pve-blacklist.conf
intel-microcode-blacklist.conf  zfs.conf

D. Tâches Planifiées (Crons)

Souvent oublié : les scripts de backup, updates automatiques, etc.

crontab -l
ls -la /etc/cron.d/
ls -la /etc/cron.daily/
ls -la /etc/cron.weekly/

Résultat :

no crontab for root
total 20
drwxr-xr-x   2 root root 4096 Jan 23 19:52 .
drwxr-xr-x 102 root root 4096 Jan 24 17:29 ..
-rw-r--r--   1 root root  188 Jul 30 21:39 e2scrub_all
-rw-r--r--   1 root root  102 Jun 13  2025 .placeholder
lrwxrwxrwx   1 root root   20 Jan 23 18:56 vzdump -> /etc/pve/vzdump.cron
-rw-r--r--   1 root root  377 Aug 26 16:38 zfsutils-linux
total 28
drwxr-xr-x   2 root root 4096 Jan 23 18:54 .
drwxr-xr-x 102 root root 4096 Jan 24 17:29 ..
-rwxr-xr-x   1 root root 1478 Jun 24  2025 apt-compat
-rwxr-xr-x   1 root root  123 May 27  2025 dpkg
-rwxr-xr-x   1 root root  377 Jul 14  2024 logrotate
-rwxr-xr-x   1 root root 1395 May  2  2025 man-db
-rw-r--r--   1 root root  102 Jun 13  2025 .placeholder
total 16
drwxr-xr-x   2 root root 4096 Jan 23 18:54 .
drwxr-xr-x 102 root root 4096 Jan 24 17:29 ..
-rwxr-xr-x   1 root root 1055 May  2  2025 man-db
-rw-r--r--   1 root root  102 Jun 13  2025 .placeholder

E. Configuration Stockage & Montages

Identification des UUIDs et points de montage actuels.

cat /etc/fstab
lsblk -o NAME,FSTYPE,UUID,MOUNTPOINT,SIZE
cat /etc/pve/storage.cfg

Résultat :

# <file system> <mount point> <type> <options> <dump> <pass>
/dev/pve/root / ext4 errors=remount-ro 0 1
/dev/pve/swap none swap sw 0 0
proc /proc proc defaults 0 0

UUID="ab39004a-8408-4e56-9a4c-68fd7e92f6f9" /mnt/disk1      ext4 defaults,noatime 0 2
UUID="717d2874-de4f-4eb6-84f0-6c849326e790" /mnt/disk2      ext4 defaults,noatime 0 2
UUID="2b18b88e-a498-4429-9a02-f22315d7b1fb" /mnt/lxc-data   ext4 defaults,noatime 0 2
UUID="b890bfe8-37be-4696-81a2-13da90d47fc0" /mnt/media-bulk ext4 defaults,noatime 0 2
UUID="28e97a24-582e-4d05-acae-184a631fda2b" /mnt/parity     ext4 defaults,noatime 0 2

/mnt/disk* /mnt/storage fuse.mergerfs allow_other,use_ino,cache.files=auto-full,moveonenospc=true,category.create=mfs,dropcacheonclose=true,minfreespace=50G 0 0
NAME    FSTYPE UUID                                   MOUNTPOINT   SIZE
sda                                                              232.9G
├─sda1                                                            1007K
├─sda2  vfat   5A79-03A1                                             1G
└─sda3  LVM2_m 5vl7RB-owpL-r7pf-d1NK-kVVA-ywLa-p40uIj              229G
  ├─pve-swap
  │     swap   bfd6b014-40b3-4983-bcee-8d32ecd20d44   [SWAP]         8G
  ├─pve-root
  │     ext4   0805b841-97ae-4a00-97c1-fa5f3aa310f6   /           67.2G
  ├─pve-data_tmeta
  │ │                                                              1.4G
  │ └─pve-data-tpool
  │   │                                                             135G
  │   ├─pve-data
  │   │                                                             135G
  │   ├─pve-vm--102--disk--0
  │   │  ext4   4f0ed63b-4a50-45f1-b552-c1ed0535fd8c                100G
  │   ├─pve-vm--101--disk--0
  │   │  ext4   4f1f76cf-646e-41e2-9871-ba65eb11bacb                 16G
  │   ├─pve-vm--100--disk--0
  │   │  ext4   b7f6bda9-a331-492b-87a1-82ca42cb23be                 32G
  │   └─pve-snap_vm--101--disk--0_vzdump
  │      ext4   4f1f76cf-646e-41e2-9871-ba65eb11bacb                 16G
  └─pve-data_tdata
    │                                                              135G
    └─pve-data-tpool
      │                                                             135G
      ├─pve-data
      │                                                             135G
      ├─pve-vm--102--disk--0
      │  ext4   4f0ed63b-4a50-45f1-b552-c1ed0535fd8c                100G
      ├─pve-vm--101--disk--0
      │  ext4   4f1f76cf-646e-41e2-9871-ba65eb11bacb                 16G
      ├─pve-vm--100--disk--0
      │  ext4   b7f6bda9-a331-492b-87a1-82ca42cb23be                 32G
      └─pve-snap_vm--101--disk--0_vzdump
         ext4   4f1f76cf-646e-41e2-9871-ba65eb11bacb                 16G
sdb                                                              232.9G
├─sdb1  ext4   2b18b88e-a498-4429-9a02-f22315d7b1fb   /mnt/lxc-d 232.4G
└─sdb2  ntfs   62B4A9E7B4A9BE43                                    531M
sdc                                                                3.6T
├─sdc1  ext4   ab39004a-8408-4e56-9a4c-68fd7e92f6f9   /mnt/disk1 931.3G
└─sdc2  ext4   b890bfe8-37be-4696-81a2-13da90d47fc0   /mnt/media   2.7T
sdd                                                              931.5G
└─sdd1  ext4   717d2874-de4f-4eb6-84f0-6c849326e790   /mnt/disk2 931.5G
sde                                                              931.5G
├─sde1  ext4   28e97a24-582e-4d05-acae-184a631fda2b   /mnt/parit   286K
├─sde2  vfat   3A3D-7AEC                                             8M
├─sde3  hfsplu                                                     1.7G
└─sde4                                                             300K
dir: local
        path /var/lib/vz
        content backup,vztmpl,iso,import

lvmthin: local-lvm
        thinpool data
        vgname pve
        content images,rootdir

pbs: pbs-backups
        datastore backup
        server 192.168.1.102
        content backup
        fingerprint 36:97:a9:56:f1:ab:2b:aa:a6:11:cd:e4:d7:de:66:07:d1:44:88:9f:7a:27:99:08:8f:a3:4d:8a:cb:56:94:a4
        prune-backups keep-all=1
        username root@pam

F. Paquets "Exotiques" installés manuellement

Liste les paquets qui ne viennent pas de l'installation de base (ex: headers, drivers, outils).

# Liste les paquets installés par l'utilisateur (approximatif mais utile)
comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)

Résultat :

individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@pve:~# comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)
gzip: /var/log/installer/initial-status.gz: No such file or directory
adduser apparmor apt apt-listchanges apt-utils base-files base-passwd bash bash-completion bc bind9-dnsutils bind9-host bind9-libs binutils binutils-common binutils-x86-64-linux-gnu bison bridge-utils bsdextrautils bsd-mailx bsdutils btrfs-progs build-essential busybox bzip2 ca-certificates ceph-common ceph-fuse chrony cifs-utils conntrack console-setup console-setup-linux coreutils corosync cpio criu cron cron-daemon-common cstream curl dash dbus dbus-bin dbus-daemon dbus-session-bus-common dbus-system-bus-common debconf debconf-i18n debian-archive-keyring debian-faq debianutils dhcpcd-base diffutils dirmngr distro-info-data dkms dmeventd dmidecode dmsetup doc-debian dosfstools dpkg dracut-install dtach e2fsprogs ebtables efibootmgr eject ethtool fail2ban faketime fdisk fdutils file findutils flex fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono fonts-font-awesome fonts-font-logos frr frr-pythontools fuse fuse3 gcc-14-base gdisk genisoimage gettext-base git gnupg gnupg-l10n gnutls-bin golang-github-containers-common golang-github-containers-image gpg gpg-agent gpgconf gpgsm grep groff-base grub2-common grub-common grub-efi-amd64-bin grub-efi-amd64-signed grub-efi-amd64-unsigned grub-pc grub-pc-bin gzip hdparm hostname htop ifupdown2 inetutils-telnet init initramfs-tools initramfs-tools-bin initramfs-tools-core init-system-helpers intel-microcode iotop iproute2 ipset iptables iputils-ping isc-dhcp-client iso-codes iucode-tool kbd keyboard-configuration keyutils klibc-utils kmod krb5-locales ksm-control-daemon less libacl1 libaio1t64 libanyevent-http-perl libanyevent-perl libapparmor1 libappconfig-perl libapt-pkg7.0 libapt-pkg-perl libarchive13t64 libasound2-data libasound2t64 libassuan9 libasyncns0 libatomic1 libattr1 libaudit1 libaudit-common libauthen-pam-perl libavahi-client3 libavahi-common3 libavahi-common-data libbabeltrace1 libbinutils libblas3 libblkid1 libbpf1 libbrotli1 libbsd0 libbytes-random-secure-perl libbz2-1.0 libc6 libcairo2 libcap2 libcap2-bin libcap-ng0 libcares2 libc-bin libcbor0.10 libcephfs2 libcfg7 libc-l10n libclass-methodmaker-perl libclone-perl libcmap4 libcom-err2 libcommon-sense-perl libcompel1 libconvert-asn1-perl libcorosync-common4 libcpg4 libcrypt1 libcrypt-openssl-bignum-perl libcrypt-openssl-random-perl libcrypt-openssl-rsa-perl libcrypt-random-seed-perl libcryptsetup12 libcrypt-ssleay-perl libctf0 libctf-nobfd0 libcurl3t64-gnutls libcurl4t64 libdatrie1 libdb5.3t64 libdbi1t64 libdbus-1-3 libdebconfclient0 libdevel-cycle-perl libdevmapper1.02.1 libdevmapper-event1.02.1 libdigest-hmac-perl libdouble-conversion3 libdpkg-perl libdrm2 libdrm-amdgpu1 libdrm-common libdrm-intel1 libdw1t64 libedit2 libefiboot1t64 libefivar1t64 libelf1t64 libencode-locale-perl libepoxy0 libevent-2.1-7t64 libevent-core-2.1-7t64 libexpat1 libext2fs2t64 libfaketime libfdisk1 libfdt1 libffi8 libfido2-1 libfile-chdir-perl libfile-listing-perl libfile-readbackwards-perl libfilesys-df-perl libflac14 libfontconfig1 libfreetype6 libfribidi0 libfstrm0 libfuse2t64 libfuse3-4 libgbm1 libgcc-s1 libgcrypt20 libgdbm6t64 libgdbm-compat4t64 libglib2.0-0t64 libglvnd-dev libgmp10 libgnutls30t64 libgnutls-dane0t64 libgoogle-perftools4t64 libgpg-error0 libgpgme11t64 libgprofng0 libgraphite2-3 libgssapi-krb5-2 libgstreamer1.0-0 libgstreamer-plugins-base1.0-0 libharfbuzz0b libhogweed6t64 libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libibverbs1 libicu76 libidn2-0 libinih1 libio-html-perl libio-multiplex-perl libio-socket-ssl-perl libio-stringy-perl libip4tc2 libip6tc2 libipset13t64 libiscsi7 libisns0t64 libjansson4 libjemalloc2 libjpeg62-turbo libjs-bootstrap5 libjs-extjs libjson-c5 libjson-glib-1.0-0 libjson-glib-1.0-common libjson-perl libjson-xs-perl libjs-qrcodejs libk5crypto3 libkeyutils1 libklibc libkmod2 libknet1t64 libkrb5-3 libkrb5support0 libksba8 liblastlog2-2 libldap2 libldb2 liblinear4 liblinux-inotify2-perl libllvm19 liblmdb0 liblocale-gettext-perl liblockfile1 liblockfile-bin liblsof0 liblttng-ust1t64 liblttng-ust-common1t64 liblttng-ust-ctl5t64 liblua5.3-0 liblua5.4-0 liblvm2cmd2.03 liblwp-mediatypes-perl liblwp-protocol-https-perl liblz4-1 liblzma5 liblzo2-2 libmagic1t64 libmagic-mgc libmath-random-isaac-perl libmaxminddb0 libmd0 libmime-base32-perl libmnl0 libmount1 libmp3lame0 libmpg123-0t64 libnbd0 libncurses6 libncursesw6 libnet1 libnetaddr-ip-perl libnet-dbus-perl libnet-dns-perl libnetfilter-conntrack3 libnetfilter-log1 libnet-http-perl libnet-ip-perl libnet-ldap-perl libnet-ssleay-perl libnet-subnet-perl libnettle8t64 libnewt0.52 libnfnetlink0 libnfsidmap1 libnftables1 libnftnl11 libnghttp2-14 libnghttp3-9 libngtcp2-16 libngtcp2-crypto-gnutls8 libnl-3-200 libnl-route-3-200 libnozzle1t64 libnpth0t64 libnsl2 libnspr4 libnss3 libnss-systemd libnuma1 libnvpair3linux liboath0t64 libogg0 libopeniscsiusr libopus0 liborc-0.4-0t64 libp11-kit0 libpam0g libpam-modules libpam-modules-bin libpam-runtime libpam-systemd libpam-wtmpdb libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpcap0.8t64 libpci3 libpciaccess0 libpcre2-16-0 libpcre2-8-0 libpcre2-posix3 libperl5.40 libpipeline1 libpixman-1-0 libpng16-16t64 libpopt0 libposix-strptime-perl libproc2-0 libprotobuf-c1 libproxmox-acme-perl libproxmox-acme-plugins libproxmox-backup-qemu0 libproxmox-rs-perl libpsl5t64 libpulse0 libpve-access-control libpve-apiclient-perl libpve-cluster-api-perl libpve-cluster-perl libpve-common-perl libpve-guest-common-perl libpve-http-server-perl libpve-network-api-perl libpve-network-perl libpve-notify-perl libpve-rs-perl libpve-storage-perl libpython3.13-minimal libpython3.13-stdlib libpython3-stdlib libqb100 libqb-tools libqrencode4 libqt5core5t64 libqt5dbus5t64 libqt5network5t64 libquorum5 librabbitmq4 librados2 librados2-perl libradosstriper1 librbd1 librdkafka1 librdmacm1t64 libreadline8t64 libreiserfscore0t64 librgw2 librrd8t64 librrds-perl librtmp1 libsasl2-2 libsasl2-modules-db libseccomp2 libselinux1 libsemanage2 libsemanage-common libsensors5 libsensors-config libsepol2 libsframe1 libslang2 libslirp0 libsmartcols1 libsmbclient0 libsnappy1v5 libsndfile1 libsndio7.0 libsocket6-perl libspice-server1 libsqlite3-0 libss2 libssh2-1t64 libssl3t64 libstatgrab10t64 libstdc++6 libstring-shellquote-perl libsubid5 libsystemd0 libsystemd-shared libtalloc2 libtasn1-6 libtcmalloc-minimal4t64 libtdb1 libtemplate-perl libterm-readline-gnu-perl libtevent0t64 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libthai0 libthai-data libthrift-0.19.0t64 libtimedate-perl libtinfo6 libtirpc3t64 libtirpc-common libtlsrpt0 libtpms0 libtry-tiny-perl libtypes-serialiser-perl libuchardet0 libudev1 libunbound8 libunistring5 libunwind8 liburcu8t64 liburing2 liburi-perl libusb-1.0-0 libusbredirparser1t64 libuuid1 libuuid-perl libuutil3linux libuv1t64 libva2 libva-drm2 libvirglrenderer1 libvorbis0a libvorbisenc2 libvotequorum8 libvulkan1 libwayland-server0 libwbclient0 libwrap0 libwtmpdb0 libwww-perl libwww-robotrules-perl libx11-6 libx11-data libx11-xcb1 libxau6 libxcb1 libxcb-dri3-0 libxcb-present0 libxcb-randr0 libxcb-render0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxdmcp6 libxext6 libxkbcommon0 libxml2 libxml-libxml-perl libxml-namespacesupport-perl libxml-parser-perl libxml-sax-base-perl libxml-sax-perl libxml-twig-perl libxrender1 libxshmfence1 libxslt1.1 libxtables12 libxxhash0 libyaml-0-2 libyaml-libyaml-perl libyang3 libz3-4 libzfs6linux libzpool6linux libzstd1 linux-base linux-sysctl-defaults locales login login.defs logrotate logsave lsof lvm2 lxcfs lxc-pve lzop man-db manpages mawk media-types memtest86+ mergerfs mesa-libgallium mokutil mount nano ncdu ncurses-base ncurses-bin ncurses-term netavark netbase netcat-traditional net-tools nfs-common nftables nmap nmap-common node-popper2 novnc-pve open-iscsi openssh-client openssh-server openssh-sftp-server openssl openssl-provider-legacy parted passwd pci.ids pciutils perl perl-base perl-modules-5.40 perl-openssl-defaults pinentry-curses pkg-config postfix procmail procps proxmox-archive-keyring proxmox-backup-client proxmox-backup-file-restore proxmox-backup-restore-image proxmox-default-kernel proxmox-firewall proxmox-headers-6.17.4-2-pve proxmox-headers-6.8 proxmox-kernel-6.17 proxmox-kernel-6.17.2-1-pve-signed proxmox-kernel-6.8 proxmox-kernel-helper proxmox-mail-forward proxmox-mini-journalreader proxmox-offline-mirror-docs proxmox-offline-mirror-helper proxmox-termproxy proxmox-ve proxmox-websocket-tunnel proxmox-widget-toolkit psmisc pve-cluster pve-container pve-docs pve-edk2-firmware pve-edk2-firmware-legacy pve-edk2-firmware-ovmf pve-esxi-import-tools pve-firewall pve-firmware pve-ha-manager pve-i18n pve-lxc-syscalld pve-manager pve-nvidia-vgpu-helper pve-qemu-kvm pve-xtermjs pve-yew-mobile-gui pve-yew-mobile-i18n python3 python3.13 python3.13-minimal python3-apt python3-autocommand python3-bcrypt python3-ceph-argparse python3-ceph-common python3-cephfs python3-certifi python3-cffi-backend python3-chardet python3-charset-normalizer python3-cryptography python3-dbus python3-debconf python3-debian python3-debianbts python3-idna python3-importlib-resources python3-inflect python3-jaraco.context python3-jaraco.functools python3-jaraco.text python3-minimal python3-more-itertools python3-pefile python3-pkg-resources python3-prettytable python3-pyvmomi python3-rados python3-rbd python3-reportbug python3-requests python3-rgw python3-setuptools python3-six python3-systemd python3-typeguard python3-typing-extensions python3-urllib3 python3-virt-firmware python3-wcwidth python3-yaml python3-zipp python-apt-common qemu-server qrencode readline-common reportbug rpcbind rrdcached rsync runit-helper samba-common samba-libs sed sensible-utils shared-mime-info shim-helpers-amd64-signed shim-signed shim-signed-common shim-unsigned skopeo smartmontools smbclient snapraid socat spiceterm sqlite3 sqv ssh strace swtpm swtpm-libs swtpm-tools systemd systemd-boot-efi systemd-boot-tools systemd-sysv sysvinit-utils tar tcpdump thin-provisioning-tools time traceroute tzdata ucf udev ufw uidmap usbutils util-linux util-linux-extra vim vim-common vim-tiny virtiofsd vncterm wamerican wget whiptail wtmpdb xfsprogs xkb-data xsltproc xz-utils zfs-initramfs zfsutils-linux zfs-zed zlib1g zstd

G. Réseau & DNS

Configuration des bridges, IPs statiques et DNS.

cat /etc/network/interfaces
cat /etc/hosts
cat /etc/resolv.conf

Résultat :

auto lo
iface lo inet loopback

iface nic0 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.1.21/24
        gateway 192.168.1.254
        bridge-ports nic0
        bridge-stp off
        bridge-fd 0


source /etc/network/interfaces.d/*
127.0.0.1 localhost.localdomain localhost
192.168.1.21 pve.local.lan pve

# The following lines are desirable for IPv6 capable hosts

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
search local.lan
nameserver 192.168.1.254

H. Services Locaux (PBS / Samba / etc)

Vérifie si un Proxmox Backup Server est installé directement sur l'hôte.

systemctl list-units --type=service | grep -E 'proxmox-backup|smbd|nfs'

Résultat :

  nfs-blkmap.service                                                                        loaded active running pNFS block layout mapping daemon

I. Historique des manipulations (APT)

Utile pour retrouver QUAND les drivers ont été installés ou les kernels changés.

# Affiche les installations de kernel ou nvidia des 3 derniers mois
zgrep -E "install (pve-kernel|proxmox-kernel|nvidia)" /var/log/apt/history.log*

Résultat :

Commandline: apt install proxmox-kernel-6.8 proxmox-headers-6.8

2. 📦 Audit du Conteneur LXC (ID 100 - Docker/Media)

A. Configuration LXC

C'est ici que se trouvent les directives de passthrough (lxc.cgroup...)

cat /etc/pve/lxc/100.conf

Résultat :

# Mount point donn%C3%A9es prot%C3%A9g%C3%A9es (mergerfs)
# Mount point m%C3%A9dias non-prot%C3%A9g%C3%A9s
# Mount point configs Docker
arch: amd64
cores: 4
features: nesting=1
hostname: docker-media
memory: 4096
mp0: /mnt/storage,mp=/mnt/storage
mp1: /mnt/media-bulk,mp=/mnt/media
mp2: /mnt/lxc-data/docker-100,mp=/opt/docker
nameserver: 192.168.1.254
net0: name=eth0,bridge=vmbr0,firewall=1,gw=192.168.1.254,hwaddr=BC:24:11:75:13:BC,ip=192.168.1.100/24,type=veth
onboot: 1
ostype: debian
rootfs: local-lvm:vm-100-disk-0,size=32G
searchdomain: local.lan
swap: 512
unprivileged: 1
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir 0 0

B. Contenu Docker (Si accessible)

Si le conteneur démarre encore, listez les conteneurs Docker.

# Dans le conteneur (pct enter 100)
docker ps -a
ls -la /opt/docker/  # Ou votre chemin de config docker-compose

Résultat :

CONTAINER ID   IMAGE                         COMMAND    CREATED        STATUS                    PORTS                                         NAMES
b2e07587fc79   linuxserver/sabnzbd:latest    "/init"    6 hours ago    Up 58 minutes             0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp   sabnzbd
2a7ce036130d   linuxserver/prowlarr:latest   "/init"    6 hours ago    Up 58 minutes             0.0.0.0:9696->9696/tcp, [::]:9696->9696/tcp   prowlarr
7ff6741eea7f   linuxserver/radarr:latest     "/init"    6 hours ago    Up 58 minutes             0.0.0.0:7878->7878/tcp, [::]:7878->7878/tcp   radarr
8fcee9431d7d   linuxserver/sonarr:latest     "/init"    6 hours ago    Up 58 minutes             0.0.0.0:8989->8989/tcp, [::]:8989->8989/tcp   sonarr
f2108a949ed1   hello-world                   "/hello"   21 hours ago   Exited (0) 21 hours ago                                                 eager_vaughan
total 44
drwxr-xr-x 8 root root 4096 Jan 23 23:12 .
drwxr-xr-x 4 root root 4096 Jan 23 20:26 ..
-rw-r--r-- 1 root root 1798 Jan 23 23:12 docker-compose.yml
drwxr-xr-x 6 root root 4096 Jan 23 22:16 homepage
drwxr-xr-x 4 root root 4096 Jan 23 20:30 jellyfin
drwxr-xr-x 6 1000 1000 4096 Jan 24 16:51 prowlarr
drwxr-xr-x 7 1000 1000 4096 Jan 24 16:55 radarr
drwxr-xr-x 6 1000 1000 4096 Jan 23 22:40 sabnzbd
-rw-r--r-- 1 root root  966 Jan 23 21:56 services.yaml
drwxr-xr-x 6 1000 1000 4096 Jan 24 17:06 sonarr
-rw-r--r-- 1 root root   92 Jan 23 21:55 widgets.yaml

3. 💾 Exploration des Sauvegardes PBS

Objectif : Trouver la sauvegarde "Saine" avant la suppression de la GTX 970.

A. Identifier le stockage PBS

# Liste les stockages définis dans Proxmox
pvesm status

Résultat:

Name               Type     Status     Total (KiB)      Used (KiB) Available (KiB)        %
local               dir     active        68828456        12076900        53209540   17.55%
local-lvm       lvmthin     active       141553664        22875072       118678591   16.16%
pbs-backups         pbs     active       102626232         5518908        91848060    5.38%

B. Lister les backups disponibles

Remplacez PBS-STORAGE-ID par l'ID trouvé ci-dessus (ex: backup-server ou local-pbs).

pvesm list PBS-STORAGE-ID

Résulat (Liste des backups) :

Volid                                          Format  Type            Size VMID
pbs-backups:backup/ct/100/2026-01-24T09:47:13Z pbs-ct  backup    4367745067 100
pbs-backups:backup/ct/100/2026-01-24T10:03:00Z pbs-ct  backup    4367745701 100
pbs-backups:backup/ct/100/2026-01-24T10:40:02Z pbs-ct  backup    4367747608 100
pbs-backups:backup/ct/100/2026-01-24T10:40:42Z pbs-ct  backup    4367748247 100
pbs-backups:backup/ct/100/2026-01-24T11:03:00Z pbs-ct  backup    4367750746 100
pbs-backups:backup/ct/100/2026-01-24T13:03:00Z pbs-ct  backup    4800358552 100
pbs-backups:backup/ct/100/2026-01-24T16:03:00Z pbs-ct  backup    5765688759 100
pbs-backups:backup/ct/100/2026-01-24T17:03:00Z pbs-ct  backup    5765740237 100
pbs-backups:backup/ct/101/2026-01-24T09:47:46Z pbs-ct  backup    4944039513 101
pbs-backups:backup/ct/101/2026-01-24T10:03:19Z pbs-ct  backup    4944039500 101
pbs-backups:backup/ct/101/2026-01-24T10:40:21Z pbs-ct  backup    4944039501 101
pbs-backups:backup/ct/101/2026-01-24T10:41:00Z pbs-ct  backup    4944039501 101
pbs-backups:backup/ct/101/2026-01-24T11:03:19Z pbs-ct  backup    4944039501 101
pbs-backups:backup/ct/101/2026-01-24T13:03:31Z pbs-ct  backup    4956381551 101
pbs-backups:backup/ct/101/2026-01-24T16:03:30Z pbs-ct  backup    4968686195 101
pbs-backups:backup/ct/101/2026-01-24T17:03:25Z pbs-ct  backup    4968694859 101

C. Recherche du fichier de config dans un backup (Avancé)

Si vous voulez voir le fichier de config /etc/pve/lxc/100.conf DANS un backup sans le restaurer (nécessite proxmox-backup-client et l'accès au serveur PBS). Ceci est souvent plus simple via l'interface GUI :

  1. Aller sur le stockage PBS dans l'arbre de gauche.
  2. Onglet "Backups".
  3. Sélectionner un backup d'avant l'incident (ex: date > 1 semaine).
  4. Bouton "Show Configuration" : Cela montre le 100.conf tel qu'il était.

Action : Comparer le 100.conf actuel avec celui du backup.

  • Le backup contient-il les lignes lxc.cgroup2... pour Nvidia ? -> C'est un backup "GTX 970".
  • Le backup est-il vide de ces lignes ? -> C'est peut-être un état intermédiaire.

Résultat : (Exemple fictif)

Tous les backups (les premiers backups ont juste 7h) contiennent les lignes lxc.cgroup2 en conf.
Une commande pourrait permettre de diff les conf ?
D'autres fichiers que conf à vérifier ?

4. PBS & Conteneurs

A. Configuration des Conteneurs 101 et 102

Vérifions les montages et IPs pour savoir si les backups sont à risque.

# Configuration du conteneur Management
pct config 101

# Configuration du conteneur Proxmox Backup Server (CRITIQUE)
pct config 102

Résultat :

arch: amd64
cores: 2
description:  Mount point donn%C3%A9es prot%C3%A9g%C3%A9es (mergerfs)%0A Mount point m%C3%A9dias non-prot%C3%A9g%C3%A9s%0A Mount point configs Docker%0A
features: nesting=1
hostname: management
memory: 1024
mp0: /mnt/lxc-data/docker-101,mp=/opt/docker
mp1: /mnt/media-bulk,mp=/mnt/media
mp2: /mnt/lxc-data/docker-100,mp=/opt/docker
nameserver: 192.168.1.254
net0: name=eth0,bridge=vmbr0,firewall=1,gw=192.168.1.254,hwaddr=BC:24:11:40:24:A2,ip=192.168.1.101/24,ip6=auto,type=veth
onboot: 1
ostype: debian
rootfs: local-lvm:vm-101-disk-0,size=16G
searchdomain: local.lan
swap: 256
unprivileged: 1
arch: amd64
cores: 2
description: mp0%3A /mnt/storage/pbs-datastore,mp=/mnt/datastore%0A
features: nesting=1
hostname: pbs
memory: 2048
nameserver: 192.168.1.254
net0: name=eth0,bridge=vmbr0,firewall=1,gw=192.168.1.254,hwaddr=BC:24:11:C8:51:8A,ip=192.168.1.102/24,ip6=auto,type=veth
onboot: 1
ostype: debian
rootfs: local-lvm:vm-102-disk-0,size=100G
swap: 512
unprivileged: 0

B. Sauvegarde des configurations Docker (LXC 100)

Récupérons les fichiers Docker Compose pour référence.

# Lister les fichiers dans le dossier de config Docker mappé sur l'hôte
ls -R /mnt/lxc-data/docker-100/

# Afficher le contenu du docker-compose principal (pour Jellyfin/Arr stack)
cat /mnt/lxc-data/docker-100/docker-compose.yml

Résultat docker-compose :

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    network_mode: host
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - JELLYFIN_PublishedServerUrl=http://192.168.1.100
    volumes:
      - ./jellyfin/config:/config
      - ./jellyfin/cache:/cache
      - /mnt/media:/media:ro
    devices:
      - /dev/dri:/dev/dri
    restart: unless-stopped

  sonarr:
    image: linuxserver/sonarr:latest
    container_name: sonarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - ./sonarr:/config
      - /mnt/media/tv:/tv
      - /mnt/media/downloads:/downloads
      - /mnt/media/downloads:/config/downloads
    ports:
      - 8989:8989
    restart: unless-stopped

  radarr:
    image: linuxserver/radarr:latest
    container_name: radarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - ./radarr:/config
      - /mnt/media/movies:/movies
      - /mnt/media/downloads:/downloads
      - /mnt/media/downloads:/config/downloads
    ports:
      - 7878:7878
    restart: unless-stopped

  prowlarr:
    image: linuxserver/prowlarr:latest
    container_name: prowlarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - ./prowlarr:/config
    ports:
      - 9696:9696
    restart: unless-stopped

  sabnzbd:
    image: linuxserver/sabnzbd:latest
    container_name: sabnzbd
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - UMASK=022
    volumes:
      - ./sabnzbd:/config
      - /mnt/media/downloads:/downloads
      - /mnt/media/downloads:/config/downloads
    ports:
      - 8080:8080
    restart: unless-stopped

networks:
  default:
    driver: bridge

C. Vérification Stockage Réel PBS (Si CT 102 = PBS)

Si le CT 102 est bien votre serveur de backup, où écrit-il les données ? Exécutez ceci SI le conteneur 102 est démarré :

# Vérifier les points de montage internes du PBS
pct exec 102 -- findmnt /mnt/backup
pct exec 102 -- cat /etc/proxmox-backup/datastore.cfg

Si le conteneur 102 est éteint ou inaccessible, ignorez cette étape.

Résultat :

datastore: backup
        comment
        gc-schedule 2:00
        notification-mode notification-system
        path /mnt/datastore

5. 📝 Synthèse de l'Architecture Cible (Pour Réinstallation)

Remplir cette section après avoir récupéré les infos ci-dessus.

Composant Détail Config Notes Spéciales
OS Host Proxmox VE 9.1
Kernel 6.17.4-2-pve
Driver GPU ?
Stockage MergerFS + SnapRAID Configs dans /etc/fstab et /etc/snapraid.conf
LXC 100 Non-privilégié
Passthrough video❌44 et render❌993:

6. 🕵️ Exploration Avancée & Diff des Sauvegardes

A. Y a-t-il une sauvegarde de l'Hôte (Host) ?

Les backups CT/VM ne suffisent pas pour réparer le Kernel/Drivers. Vérifions si l'hôte a été sauvegardé.

export PBS_REPOSITORY=192.168.1.102:backup
# Listons TOUS les snapshots, y compris ceux de type 'host'
proxmox-backup-client list --repository "root@pam@192.168.1.102:backup"
# Note : Il vous demandera peut-être le mot de passe utilisateur, ou le mot de passe du conteneur PBS

Résulat :

Pas de lignes commençant par "host/..." au lieu de "ct/..."

B. "Diff" de configuration du Conteneur

Comparons le fichier de config du conteneur 100 ACTUEL avec celui d'un BACKUP.

  1. Choisir un snapshot (ex: ct/100/2026-01-24T09:47:13Z)
  2. Récupérer l'ancienne config (commande à adapter avec le bon snapshot) :
# Récupération du fichier etc/pve/lxc/100.conf contenu dans l'archive etc.pxar du backup
# Cette commande est complexe, si elle échoue, utilisez la méthode GUI (Show Configuration)
proxmox-backup-client restore ct/100/2026-01-24T09:47:13Z etc.pxar /tmp/restore_config --repository "root@pam@192.168.1.102:backup" --pattern "pve/lxc/100.conf"

(Si trop complexe, copiez le contenu de "Show Configuration" depuis l'interface web pour 2 backups différents et collez-les ici pour comparaison)

C. Procédure de Restauration Sans Risque ("Revert" possible)

Pour tester un backup SANS écraser l'existant :

  1. Dans l'interface web Proxmox > Stockage pbs-backups > Backups.
  2. Sélectionnez le backup "sain" (ex: 09:47).
  3. Cliquez sur Restore.
  4. TRES IMPORTANT : Dans la case CT ID, changez 100 par 200 (ou un ID libre).
  5. Cochez "Unprivileged" si l'original l'était.
  6. Restore.

Cela créera un clone 200 identique à l'état passé. Vous pourrez le démarrer (en arrêtant le 100 avant pour éviter conflit IP) pour tester. Si KO, supprimez le 200 et rien n'est perdu.

Avez-vous besoin d'aide pour exécuter ce test de "Restauration en Clone" ?