Shionn::Blog()

Kit d'aide sur Proxmox

Publié le 10 mars 2026 Linux LinuxProxmoxServerKit Survie

Voici ma petite liste de truc et astuce sur ProxMox.

Changer le hostname d'un container

pct set <VMID> --hostname <newname>

Changer le mapping des identifiants

C'est souvent utile pour le partage d'un dossier entre plusieurs conteneurs. Cela s'applique à un conteneur non privilégié.

Par défaut, le mapping des identifiants est le suivant : identifiant Proxmox = 100000 + identifiant utilisateur dans le conteneur. Cela signifie que si un utilisateur (par exemple, l’utilisateur 1000) dans le conteneur LXC écrit un fichier dans un répertoire partagé, l’identifiant de ce fichier sera 101000 sur le système hôte Proxmox.

Hors, admettons que vous souhaitiez qu'un dossier dans un répertoire en 1000:100 de Proxmox soit mapper par exemple sur l'identifiant 123:456 dans Proxmox. Il faut ajouter cette configuration dans le fichier /etc/pve/lxc/<id du conteneur>.conf. La difficulté est qu'il faut mapper les 65 535 identifiants, car vous ne pouvez pas simplement surcharger un seul identifiant. Chaque ligne s'écrit comme cela : lxc.idmap: u/g <id de départ LXC> <id de départ Proxmox> <nombre d'id à mapper>.

Dans le conteneurDans l'hoteLigne
0 à 999100000 à 100999lxc.idmap: u 0 100000 1000
1000123lxc.idmap: u 123 1000 1
1001 à 655351001001 à 165535lxc.idmap: u 1001 101001 64534
Et pareil pour les groupes.
0 à 99100000 à 100099lxc.idmap: g 0 100000 100
100456lxc.idmap: g 456 100 1
101 à 65535100101 à 165535lxc.idmap: g 101 100101 65434

Ce qui donne.

lxc.idmap: u 0 100000 1000
lxc.idmap: u 123 1000 1
lxc.idmap: u 1001 101001 64534
lxc.idmap: g 0 100000 998
lxc.idmap: g 456 100 1
lxc.idmap: g 101 100101 65434

Changer les uid dans un rootfs

Et bien sûr, la difficulté, c'est que si vous faites un tel mapping après avoir créé votre conteneur, les anciens fichiers ont donc des identifiants qui n'existent plus. Pour cela, arrêtez votre conteneur, puis faites les commandes suivantes.

pct mount <ID>
cd /var/lib/lxc/<ID>/rootfs
find /var/lib/lxc/<ID>/rootfs/ -user <OLDUID> -exec chown -h <NEWUID> {} \;
find /var/lib/lxc/<ID>/rootfs/ -group <OLDGID> -exec chgrp -h <NEWGID> {} \; 
pct unmount <ID>

Dans l'exemple précedent :

pct mount <ID>
cd /var/lib/lxc/<ID>/rootfs
find /var/lib/lxc/<ID>/rootfs/ -user 101000 -exec chown -h 123 {} \;
find /var/lib/lxc/<ID>/rootfs/ -group 100100 -exec chgrp -h 456 {} \; 
pct unmount <ID>

Mais cela ne suffit pas. Il faut également permettre ce mapping. Cela se fait dans les fichiers /etc/subuid et /etc/subgid. Il faut ajouter des lignes comme root:100:1. Il faut comprendre que cela permet de mapper 1 identifiant à partir de 100.

Supprimer un volume non utilisé

Il peut arriver parfois que vous vous retrouviez avec des volumes qui ne sont plus utilisés suite à des migrations.

pvesm list <storage>
pvesm free <storage>:<volume>