Outils pour utilisateurs

Outils du site


linux:proxmox9 (lu 12417 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
linux:proxmox9 [08-11-2025 00:26] – [Qemu / KVM] edmc73linux:proxmox9 [04-01-2026 22:22] (Version actuelle) edmc73
Ligne 1: Ligne 1:
 ====== Proxmox9 ====== ====== Proxmox9 ======
  
 +===== Scripts utiles =====
 +
 +https://community-scripts.github.io/ProxmoxVE/
  
 ===== upgrade 8 to 9 ===== ===== upgrade 8 to 9 =====
  
 https://pve.proxmox.com/wiki/Upgrade_from_8_to_9 https://pve.proxmox.com/wiki/Upgrade_from_8_to_9
 +
 +
 +===== Config ZFS =====
 +
 +Pour pouvoir faire des snapshot de vos VM
 +
 +--- https://forum.proxmox.com/threads/zfs-and-snapshots-again.132104/
 +
 +Il n'est pas nécessaire de créer un dataset supplémentaire, on peut utiliser le zp0 (ou le data) créé par défaut.  \\
 +Mais je laisse la commande pour info.
 +
 +
 +<code>
 +proxmox9:~# zfs list
 +NAME       USED  AVAIL  REFER  MOUNTPOINT
 +data      96.0G   288G    96K  none
 +data/zd0  95.9G   288G  95.9G  /var/lib/vz
 +</code>
 +
 +Dans proxmox, cliquez sur **datacenter** aller dans le menu **Storage** cliquer sur **Add** / **ZFS**
 +
 +Choisissez votre dataset, content = Disk Image, **bien cocher la case Thin provision** -> OK
 +
 +Ensuite, cliquez sur votre VM, cliquez sur **Hardware**, sélectionnez votre **Hard Disk**, cliquez sur le menu **Disk Action** puis **Move Storage**
 +
 +Choisissez votre dataset et voilà ! L'option "Créer des snapshosts" est maintenant disponible
 +
 +<code>
 +proxmox9:~# zfs list
 +NAME                 USED  AVAIL  REFER  MOUNTPOINT
 +data                 102G   281G    96K  none
 +data/vm-120-disk-0  6.32G   281G  6.32G  -
 +data/zd0            95.9G   281G  95.9G  /var/lib/vz
 +</code>
 +
 +
  
  
Ligne 118: Ligne 157:
   scsi1: thin_provision:vm-212-disk-1,iothread=1,size=5G   scsi1: thin_provision:vm-212-disk-1,iothread=1,size=5G
  
-Et ajouter ''serial=myserial01'' +Et ajouter ''serial=12345'' 
-  scsi0: thin_provision:vm-212-disk-0,discard=on,iothread=1,size=32G,serial=myserial01 +  scsi0: thin_provision:vm-212-disk-0,discard=on,iothread=1,size=32G,serial=12345 
-  scsi1: thin_provision:vm-212-disk-1,iothread=1,size=5G,serial=myserial02+  scsi1: thin_provision:vm-212-disk-1,iothread=1,size=5G,serial=12346 
 + 
 + 
 +===== Pour la SWAP ===== 
 + 
 +Plutôt que de partitionner votre disque /dev/sda pour la swap, autant ajouter un disque dédié qu'on n'inclura pas dans la sauvegarde. 
 + 
 +Ajouter un disque avec les options suivantes : 
 +  * Cache : Write back : Meilleur compromis performance/risque pour du volatile. 
 +  * Discard : activé : si SSD 
 +  * IO thread : activé : toujours le bon choix 
 +  * Backup : désactivé : ne sera pas sauvegardé 
 + 
 +Sur votre vm, regardé si votre disque apparait avec 
 +  fdisk -l 
 + 
 +En principe, c'est ''/dev/sdb'', on va le formater pour la swap 
 +  mkswap /dev/sdb 
 +Activation de la swap 
 +  swapon /dev/sdb 
 +Ajouter dans fstab 
 +  echo '/dev/sdb none swap sw 0 0' >> /etc/fstab 
 +Vérifier  
 +  free -h 
 + 
 + 
 + 
 +===== Créer un sous réseau local ===== 
 + 
 +==== Créons un bridge qui définira notre réseau local ==== 
 + 
 +Menu: proxmox9 / System / Network  
 +  * Create : Linux Bridge 
 + 
 +  Name: vmbr1 
 +  IPv4/CIDR : 192.168.0.1/24 
 +  Gateway (IPv4) : (vide) 
 +  Bridge ports: (vide) 
 + 
 +  * Apply Configuration 
 + 
 +  cat /proc/sys/net/ipv4/ip_forward 
 +  echo 1 > /proc/sys/net/ipv4/ip_forward 
 +  iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j MASQUERADE 
 + 
 +Pour pérenniser cette config 
 +  vi /etc/sysctl.d/99-sysctl.conf (ou créer un fichier vide avec ce qui suit) 
 +  # Uncomment the next line to enable packet forwarding for IPv4 
 +  net.ipv4.ip_forward=1 
 + 
 +Créer un service avec systemd pour les règles de NAT 
 + 
 +  vi /etc/systemd/system/proxmox-nat.service 
 +<code> 
 +[Unit] 
 +Description=Proxmox NAT Rules 
 +After=network.target 
 + 
 +[Service] 
 +Type=oneshot 
 +RemainAfterExit=yes 
 +ExecStart=/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j MASQUERADE 
 +ExecStop=/sbin/iptables -t nat -D POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j MASQUERADE 
 + 
 +[Install] 
 +WantedBy=multi-user.target 
 +</code> 
 +Activez le service : 
 + 
 +  systemctl enable proxmox-nat.service 
 +  systemctl start proxmox-nat.service 
 + 
 + 
 + 
 + 
 +==== Commandes utiles sur proxmox ==== 
 +<code> 
 +ip a 
 +3: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 
 +    link/ether 00:00:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff 
 +    inet xxx.xxx.xxx.xxx/24 scope global vmbr0 
 +       valid_lft forever preferred_lft forever 
 +    inet6 xxxx::xxx:xxxx:xxxx:xxxx/64 scope link proto kernel_ll  
 +       valid_lft forever preferred_lft forever 
 +4: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 
 +    link/ether 56:0f:bd:5e:69:e8 brd ff:ff:ff:ff:ff:ff 
 +    inet 192.168.0.1/24 scope global vmbr1 
 +       valid_lft forever preferred_lft forever 
 +    inet6 xxxx::xxxx:xxxx:xxxx:xxxx/64 scope link proto kernel_ll  
 +       valid_lft forever preferred_lft forever 
 + 
 +ip route 
 +default via xxx.xxx.xxx.1 dev vmbr0 proto kernel onlink  
 +xxx.xxx.xxx.0/24 dev vmbr0 proto kernel scope link src xxx.xxx.xxx.xxx 
 +192.168.0.0/24 dev vmbr1 proto kernel scope link src 192.168.0.1  
 + 
 +ping -I vmbr0 google.fr 
 +-> ça marche 
 + 
 +ping -I vmbr1 google.fr 
 +-> ça marche pas (normal) 
 + 
 +ifup vmbr1 
 +ip a show dev vmbr1 
 + 
 +</code> 
 + 
 +Si l'état de vmbr1 est UNKNOWN au lieu de UP, c'est normal si aucune VM n'est allumé et configuré sur vmbr1 
 + 
 + 
 +==== Config réseau d'une VM ==== 
 +Au niveau hardware, le Network Device (net0) doit avoir le bridge configuré sur vmbr1 
 +<code> 
 +# The loopback network interface 
 +auto lo 
 +iface lo inet loopback 
 + 
 +# The primary network interface 
 +allow-hotplug ens18 
 +iface ens18 inet static 
 +    address 192.168.0.10/24 
 +    gateway 192.168.0.1 
 +    # dns-* options are implemented by the resolvconf package, if installed 
 +    dns-nameservers 213.186.33.99 
 +    dns-search edmc.local 
 +</code> 
 + 
 +<code> 
 +ip route 
 +default via 192.168.0.1 dev ens18 onlink  
 +192.168.0.0/24 dev ens18 proto kernel scope link src 192.168.0.2 
 +</code> 
 + 
 +===== Firewall ===== 
 + 
 +Il y a 3 étages de firewall, dans l'ordre : 
 +  * Datacenter 
 +  * Node 
 +  * VM / LXC 
 + 
 +==== Datacenter ==== 
 +Avant d'activer le firewall dans l'interface web, ajoutez la règle suivante pour ne pas perdre l'accès à l'interface web 
 +  * Direction: in 
 +  * Action: ACCEPT 
 +  * Interface: vmbr0 
 +  * Protocol: tcp 
 +  * Dest. Port.: 8006 
 +  * Enable: x 
 + 
 +  * Direction: in 
 +  * Action: ACCEPT 
 +  * Interface: vmbr0 
 +  * Macro: Ping 
 +  * Enable: x 
 + 
 +Puis, menu Datacenter / Firewall / Options : Firewall -> Yes 
 + 
 +Ces règles sont global à tous les nœuds et VM/LXC 
 + 
 +==== Node ==== 
 +Sur le nœud, on peut ajouter par exemple l'accès à SSH 
 + 
 +==== VM/LXC ==== 
 +Ajoutez les règles d'accès standard: HTTP/HTTPS 
 + 
 + 
 + 
 +===== Migrer ces VM d'un proxmox à un autre ===== 
 + 
 +Imaginons un proxmox8 et un nouveau proxmox9. On veut migrer les VM du 8 vers le 9 en essayant de minimiser le temps de coupure. 
 + 
 +Faite un backup d'une machine : 
 +  * Sélectionnez la VM 
 +  * Menu Backup 
 +  * Bouton **Backup Now** 
 + 
 + 
 +Copiez le backup de la VM avec, par exemple, un id 110 
 +  proxmox8# scp /var/lib/vz/dump/vzdump-qemu-110-2025_12_05-04_00_07.* mon.proxmox9.com:/var/lib/vz/dump/
 + 
 +Restaurez la VM via l'interface Proxmox : 
 +  * Sélectionnez le **Storage** qui est configuré pour les backup (par défaut **local**) 
 +  * Menu Backup 
 +  * Sélectionnez le backup et cliquez sur le bouton **Restore** 
 + 
 +Si les images disques ne sont pas sur un pool ZFS, vous pouvez essayé de synchroniser les dernières données via rsync 
 +  proxmox# rsync /var/lib/vz/images/110/ mon.proxmox9.com:/var/lib/vz/images/110/ 
 + 
 +Si vous utilisez un pool ZFS pour stocker vos disques de VM, repérez le nom du pool de votre disque 
 + 
 +<code> 
 +proxmox9:~# zfs list 
 +NAME                 USED  AVAIL  REFER  MOUNTPOINT 
 +data                 131G   253G    96K  none 
 +data/vm-110-disk-0  34.8G   253G  34.8G  - 
 +</code> 
 + 
 +Et supprimons le 
 +  zfs destroy data/vm-110-disk-0 
 + 
 + 
 +Faites un snapshot via la commande 
 + 
 +<code> 
 +# À exécuter sur le serveur source 
 +# création du snapshot 
 +zfs snapshot data/vm-110-disk-0@migration 
 + 
 +# envoi du snapshot 
 +zfs send -v data/vm-110-disk-0@migration | ssh root@proxmox9 zfs recv -v data/vm-110-disk-0 
 +</code> 
 + 
 +Pour migrer au dernier moment seulement les dernières modifications, il est conseillé d'éteindre la VM pour éviter des incohérences, puis créez un nouveau snapshot (@migration2). \\ 
 +Envoyez ensuite le dernier snapshot via les commandes suivantes : 
 + 
 +  # Envoyer uniquement les changements entre les deux snapshots 
 +  zfs send -v -i data/vm-101-disk-0@migration data/vm-101-disk-0@migration2 | ssh root@proxmox9 zfs recv -v data/vm-110-disk-0 
 +   
 +Une fois que le moment est bon, il n'y a plus qu'à basculer vos ip failover si vous en avez ou basculer vos DNS et démarrer votre nouvelle VM. 
 + 
 + 
 +Vous pourrez ensuite supprimer vos 2 snapshots 
 +<code> 
 +proxmox9:~# zfs list -t all 
 +NAME                           USED  AVAIL  REFER  MOUNTPOINT 
 +data                           131G   253G    96K  none 
 +data/vm-110-disk-0            34.8G   253G  34.8G  - 
 +data/vm-110-disk-0@migration  30.2M      -  34.8G  - 
 +data/vm-110-disk-0@migration2 30.2M      -  34.8G  - 
 + 
 +zfs destroy data/vm-110-disk-0@migration 
 +zfs destroy data/vm-110-disk-0@migration2 
 +</code> 
 + 
linux/proxmox9.1762561589.txt.gz · Dernière modification : de edmc73