User Tools

Site Tools


informatique:logiciels:proxmox

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatique:logiciels:proxmox [2025/03/28 15:36] – [Partager un stockage local entre les LXC] pteuinformatique:logiciels:proxmox [2025/07/18 19:29] (current) – [Sauvegarder la VM] en CLI pteu
Line 1: Line 1:
-======ProxMox======+======Proxmox======
  
 (wp) //Proxmox Virtual Environnement (abrégé **Proxmox VE** ou **PVE**) est une plateforme de virtualisation libre (licence AGPLv3) basée sur l'hyperviseur Linux KVM, et offre aussi des conteneurs avec LXC.// (wp) //Proxmox Virtual Environnement (abrégé **Proxmox VE** ou **PVE**) est une plateforme de virtualisation libre (licence AGPLv3) basée sur l'hyperviseur Linux KVM, et offre aussi des conteneurs avec LXC.//
Line 185: Line 185:
   * https://www.closingtags.com/writing-to-bind-mounts-from-unprivileged-lxc-containers   * https://www.closingtags.com/writing-to-bind-mounts-from-unprivileged-lxc-containers
  
 +
 +=====Ajouter un SSD M.2 en passthrough sur une VM=====
 +
 +(ref: https://pve.proxmox.com/wiki/Passthrough_Physical_Disk_to_Virtual_Machine_(VM) )
 +
 +En connectant un SSD m.2 sur le châssis ProxMox il est connecté en direct sur une ligne PCI express. On peut l'ajouter en mode Passthrough sur une VM dans Proxmox, pour maximiser les performances ; l'inconvénient est que ce disque sera physiquement attaché à la VM, celle-ci ne sera pas transférable sur un autre Proxmox si on a un cluster.
 +
 +La procédure se fait en ligne de commande :
 +
 +Préalable potentiel...
 +<code bash>
 +apt install -y lshw
 +</code>
 +
 +Vérifier qu'il est bien détecté par Proxmox
 +<code bash>
 +lshw -class disk -class storage
 +  *-nvme                    
 +       description: NVMe device
 +       product: WD Blue SN5000 4TB
 +       vendor: Sandisk Corp
 +       physical id: 0
 +       bus info: pci@0000:01:00.0
 +       logical name: /dev/nvme0
 +       version: 341600WD
 +       serial: 0123456789
 +       width: 64 bits
 +       clock: 33MHz
 +       capabilities: nvme pm msi msix pciexpress nvm_express bus_master cap_list
 +       configuration: driver=nvme latency=0 nqn=nqn.2018-01.com.wdc:guid:E8238FA6BF53-0001-001B444A41DF50DA state=live
 +       resources: irq:16 memory:5f600000-5f603fff
 +</code>
 +
 +On doit le retrouver dans /dev/disk/by-id , en recherchant sur sa marque ou son serial:
 +<code bash>
 +ls -l /dev/disk/by-id | grep 0123456789
 +lrwxrwxrwx 1 root root 13 Apr  2 18:10 nvme-WD_Blue_SN5000_4TB_0123456789 -> ../../nvme0n1
 +lrwxrwxrwx 1 root root 13 Apr  2 18:10 nvme-WD_Blue_SN5000_4TB_0123456789_1 -> ../../nvme0n1
 +</code>
 +
 +Cette commande barbare résume tous les disques détectés:
 +<code bash>
 +lsblk |awk 'NR==1{print $0" DEVICE-ID(S)"}NR>1{dev=$1;printf $0" ";system("find /dev/disk/by-id -lname \"*"dev"\" -printf \" %p\"");print "";}'|grep -v -E 'part|lvm'
 +NAME                         MAJ:MIN RM    SIZE RO TYPE MOUNTPOINTS DEVICE-ID(S)
 +sda                            8:0    0    3.6T  0 disk   /dev/disk/by-id/wwn-0x5002538f00000000 /dev/disk/by-id/usb-Samsung_PSSD_T5_EVO_0123456789-0:0 /dev/disk/by-id/ata-Samsung_Portable_SSD_T5_EVO_0123456789
 +nvme0n1                      259:0    0    3.6T  0 disk   /dev/disk/by-id/nvme-eui.e8238fa6bf530001001b444a41df50da /dev/disk/by-id/nvme-WD_Blue_SN5000_4TB_0123456789 /dev/disk/by-id/nvme-WD_Blue_SN5000_4TB_0123456789_1
 +nvme1n1                      259:1    0    1.9T  0 disk   /dev/disk/by-id/nvme-ORICO_0123456789 /dev/disk/by-id/nvme-eui.34354536423432374ce0001830363033 /dev/disk/by-id/nvme-ORICO_0123456789_1
 +</code>
 +
 +Dans notre cas il s'agit du WD 4 To ; on l'ajoute à la VM 103 en tant que disque scsi1 avec la commande:
 +<code bash>
 +qm set 103 -scsi1 /dev/disk/by-id/nvme-WD_Blue_SN5000_4TB_0123456789
 + update VM 103: -scsi1 /dev/disk/by-id/nvme-WD_Blue_SN5000_4TB_0123456789
 +</code>
 +
 +Vérification:
 +<code bash>
 +grep 0123456789 /etc/pve/qemu-server/103.conf
 +scsi1: /dev/disk/by-id/nvme-WD_Blue_SN5000_4TB_0123456789,size=3907018584K
 +</code>
 +
 +Si on change d'avis, on peut toujours enlever le disque de la VM :
 +<code bash>
 +qm unlink 103 --idlist scsi1
 +</code>
 +
 +
 +=====Déplacer une VM d'un Proxmox vers un autre=====
 +//des Proxmox qui ne soient pas en cluster bien sûr, sinon il y a plus simple//\\
 +//cela fonctionne également pour des LXC//
 +
 +====Sauvegarder la VM====
 +
 +Via la webUI, cliquer sur la VM (ou le LXC) dans le menu Backup, et faire une sauvegarde locale (Storage: local ; Mode: Snapshot) de celle-ci.
 +
 +En CLI:
 +<code bash>
 +root@pve1:~# vzdump 100 --storage local --mode snapshot --compress zstd
 +</code>
 +====Transférer la sauvegarde sur le nouveau Proxmox====
 +
 +Les sauvegardes sont situées dans le répertoire local /var/lib/vz/dump/, il suffit donc d'un SCP pour transférer le fichier de sauvegarde vers le nouveau Proxmox pve2 (par <del>flemme</del> simplicité, on peut utiliser la console de la webUI: cliquer sur le Proxmox source, pve1 par exemple, et cliquer sur le bouton à droite ">_Shell") :
 +
 +<code bash>
 +root@pve1:~# scp /var/lib/vz/dump/vzdump-qemu-100-2025_07_18-10_17_42.vma.zst root@pve2:/var/lib/vz/dump/
 +vzdump-qemu-100-2025_07_18-10_17_42.vma.zst                         100% 4479MB 279.1MB/  00:16
 +</code>
 +
 +====Restaurer la VM sur le nouveau Proxmox====
 +
 +Il faut passer par la CLI (donc SSH ou la fenêtre ">_Shell" de la webUI mentionnée ci-dessus) et utiliser la commande ''qmrestore'' :
 +<code bash>
 +root@pve2:~# qmrestore /var/lib/vz/dump/vzdump-qemu-100-2025_07_18-10_17_42.vma.zst 100
 +</code>
 +
 +"100" est l'ID de la VM restaurée sur le nouveau Proxmox ; s'il est déjà pris sur ce dernier: ''unable to restore VM 100 - CT 100 already exists on node pve2'', on peut la restaurer sous un nouvel ID disponible.
 +
 +S'il s'agit d'un conteneur LXC:
 +<code bash>
 +root@pve2:/var/lib/vz/dump# pct restore 100 vzdump-lxc-100-2025_07_18-14_04_20.tar.zst
 +</code>
 +
 +Si on souhaite malgré tout conserver l'ID 100, il faut modifier l'ID de la VM préexistante :
 +
 +====Modifier l'ID d'une VM====
 +
 +Sauvegarder la VM (ID=100) comme indiqué précédemment ; pour la restaurer avec l'ID=202 depuis sa sauvegarde locale :
 +<code bash>
 +root@pve2:~# pct restore 202 /var/lib/vz/dump/vzdump-lxc-100-2025_07_18-10_25_59.tar.zst --storage local-lvm
 +</code>
informatique/logiciels/proxmox.1743176215.txt.gz · Last modified: 2025/03/28 15:36 by pteu