Outils pour utilisateurs

Outils du site


linux:proxmox (lu 77284 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édentes Révision précédente
Prochaine révision
Révision précédente
linux:proxmox [15-01-2021 11:28]
edmc73 [Installation]
linux:proxmox [28-11-2023 21:01] (Version actuelle)
edmc73 [Cas de figure : une seule adresse ip public + un LAN]
Ligne 1: Ligne 1:
 ====== Proxmox ====== ====== Proxmox ======
 +
  
 ===== Doc ===== ===== Doc =====
Ligne 5: Ligne 6:
 Bel article sur proxmox 5 => https://community.capensis.org/t/nouveautes-installation-et-configuration-de-proxmox-5-2/133 Bel article sur proxmox 5 => https://community.capensis.org/t/nouveautes-installation-et-configuration-de-proxmox-5-2/133
  
 +===== Petites commandes à connaitre =====
 +
 +Pour supprimer la config ceph si vous l'avez activé par inadvertance
 +  pveceph purge
 +
 +Pour tester la migration de 6 vers 7
 +  pve6to7
 +  pve6to7 --full
  
 ===== Définition (vieille version) ===== ===== Définition (vieille version) =====
Ligne 21: Ligne 30:
  
 ===== Configuration ===== ===== Configuration =====
-==== Cas de figure : une seule adresse ip + un LAN ==== +==== Cas de figure : une seule adresse ip public + un LAN ====
-On rajouter pour l'instant une petite règle de firewall +
-  iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j SNAT --to 70.70.70.70 +
-   +
-Cela permet à votre réseau virtuel en 192.168.0.0 d'avoir accès à internet via votre serveur 70.70.70.70+
  
-Pour un accès ssh de votre VM, vous devez utiliser un autre port que le 22 qui est déja utilisé par votre serveur principal.\\ +Par défaut, vous avez un bridge vmbr0 connecté sur votre interface réseau physique avec votre adresse publique
-Exemple pour le port 2222 qui sera redirigé sur le port 22 de votre VM 192.168.0.1\\ +
-On déclare tout d'abord une règle permettant de faire du NAT sur notre réseau local virtuelle 192.168.0.0/24 +
-  iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j SNAT --to-source 70.70.70.70 +
-   +
-Ensuite on redirige le port 2222 +
-  iptables -t nat -A PREROUTING -d 70.70.70.70 -p tcp --dport 2222 -j DNAT --to-dest 192.168.0.1:22+
  
-//(a venir, une config plus sécurisé du firewall...)//+<code> 
 +Name: vmbr0 
 +IPv4/CIDR : 94.94.94.94/24 
 +Gateway (IPv4) : 94.94.94.254 
 +Bridge ports: eno1 
 +</code>
  
-Je désactive l'ecoute sur le port 80 du serveur principal pour laisser libre ce port pour les autres machines.\\ +Créons un bridge qui définira notre réseau local
-L'interface reste toujours accessible sur le port 443 via https://...+
  
-Pour celamodifiez le fichier /etc/apache2/ports.conf et commentez la ligne Listen 80+<code> 
 +Name: vmbr1 
 +IPv4/CIDR : 192.168.0.1/24 
 +Gateway (IPv4) : (vide) 
 +Bridge ports: (vide) 
 +</code> 
 + 
 +On crée maintenant une VM avec les infos suivantes 
 +<code> 
 +Name: eth0 
 +Bridge: vmbr1 
 +IPv4 : Static 
 +IPv4/CIDR : 192.168.0.2/32 
 +Gateway (IPv4) : 192.168.0.1 
 +</code> 
 + 
 +Maintenantil faut dire au système que l'on veut faire de l'ip forwarding 
 +  echo 1 > /proc/sys/net/ipv4/ip_forward 
 + 
 +Ensuite il suffit juste de rajouter une règle iptable pour router notre réseau local vers le bridge qui a accès au WAN 
 + 
 +  iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j MASQUERADE 
 + 
 +Vous pouvez automatiser tout ça dans votre fichier **/etc/network/interface** 
 + 
 +<code> 
 +auto vmbr1 
 +iface vmbr1 inet static 
 +        address 192.168.0.1/24 
 +        bridge-ports none 
 +        bridge-stp off 
 +        bridge-fd 0 
 +        post-up echo 1 > /proc/sys/net/ipv4/ip_forward 
 +        post-up iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j MASQUERADE 
 +        post-up /root/dnat.sh 
 +        post-down iptables -t nat -D POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j MASQUERADE 
 +</code> 
 + 
 +Le fichier /root/dnat.sh pourra contenir des règles de NAT pour accéder à la machine depuis l'extérieur 
 + 
 +Pour un accès ssh de votre VM, vous devez utiliser un autre port que le 22 qui est déja utilisé par votre serveur principal.\\ 
 +Exemple pour le port 2222 qui sera redirigé sur le port 22 de votre VM 192.168.0.2 
 +  iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 2222 -j DNAT --to-destination 192.168.0.2:22
  
-Rédémarrez apache 
  
-Installons maintenant **pound** qui permet le reverse-proxy et load-balancer 
-  aptitude install pound 
  
-[[linux:pound|Voir plus de détails sur Pound]] 
-   
 ==== Cas de figure : Une adresse ip WAN pour chaque VM ==== ==== Cas de figure : Une adresse ip WAN pour chaque VM ====
  
Ligne 322: Ligne 362:
   * /dev/sda1 20 Go (/)   * /dev/sda1 20 Go (/)
   * /dev/sda2 4096 Go (swap)   * /dev/sda2 4096 Go (swap)
-  * /dev/sda3 reste de l'espace disque (lvm) /var/lib/vz+  * /dev/sda3 500 Go (lvm) /var/lib/vz 
 +  * /dev/sda4 1.4To (lvm) /backup 
 + 
 +laisser un peu d'espace disque pour LVM, sinon, je ne sais pas pourquoi mais ça bug..
  
 {{ :linux:proxmox6_partitionnement.jpg |}} {{ :linux:proxmox6_partitionnement.jpg |}}
Ligne 340: Ligne 383:
  
 Redémarrez et supprimez ensuite les anciens kernel en 4.xx Redémarrez et supprimez ensuite les anciens kernel en 4.xx
 +
 +Convertissez votre partition en lvm-thin
 +
 +<code>
 +
 +// pour cela, on le supprime
 +root@proxmox6:/# umount /var/lib/vz
 +root@proxmox6:/# lvremove vg/vz
 +Do you really want to remove active logical volume vg/vz? [y/n]: y
 +  Logical volume "vz" successfully removed
 +
 +// on le recrée avec 99% de l'espace dispo pour lui laisser 1% pour faire son business..
 +root@proxmox6:/# lvcreate -l +99%FREE -n data vg
 +WARNING: ext4 signature detected on /dev/vg/data at offset 1080. Wipe it? [y/n]: y
 +  Wiping ext4 signature on /dev/vg/data.
 +  Logical volume "data" created.
 +root@proxmox6:/# lvconvert --type thin-pool vg/data
 +  Thin pool volume with chunk size 256.00 KiB can address at most 63.25 TiB of data.
 +  WARNING: Converting vg/data to thin pool's data volume with metadata wiping.
 +  THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
 +Do you really want to convert vg/data? [y/n]: y
 +  Converted vg/data to thin pool.
 +
 +// on modifie le fstab pour pas monter le volume thin-pool
 +UUID=21bf4e05-83a4-452d-a927-093e5b1ea506       /       ext4    defaults        0       1
 +UUID=822a0a6d-46fb-45de-bd8d-3eb386323977       /backup ext4    defaults        0       0
 +#UUID=74d12ded-edf6-42be-9c75-b6784909c283      /var/lib/vz     ext4    defaults        0       0
 +UUID=18245d31-414d-4339-b13d-70b730fc109f       swap    swap    defaults        0       0
 +UUID=2d1cff2c-f4a0-4455-a694-b2e06191aa71       swap    swap    defaults        0       0
 +UUID=3c2be4e9-eec4-49aa-8148-121f6151c3aa       swap    swap    defaults        0       0
 +
 +</code>
  
 On se retrouve ensuite avec un proxmox 6 tout neuf. L'espace disque total utilisé est de 2.7Go On se retrouve ensuite avec un proxmox 6 tout neuf. L'espace disque total utilisé est de 2.7Go
  
 ===== Configuration ===== ===== Configuration =====
-Maintenant que tout est installé, il va falloir configurer 2, 3 trucs dans l'interface web+Maintenant que tout est installé, il va falloir configurer 2, 3 trucs dans l'interface web
 + 
 + 
 +Sélectionnez votre serveur proxmox puis allez dans Système / Réseau 
 + 
 +Créer un "Linux Bridge" vmbr0 en saisissant votre ip (commande ip a pour la connaitre) votre passerelle (commande route -n pour la connaitre) et le ports du bridge qui est votre carte réseau (eno1 par exemple) 
 + 
 +Ensuite, redémarrez votre proxmox. 
 + 
 + 
 +Toujours dans Système, Certificats permet d'ajouter un certificat ssl pour votre https. Ca reste assez intuitif 
 + 
 +Dans la partie Disques / LVM nous devrions retrouver nos 2 groupes vg et vg1 
 + 
 +Allons dans LVM-Thin ou nous devons retrouver data 
 + 
 +Cliquez sur Datacenter puis Stockage. 
 + 
 +Ajouter un LVM-thin avec un nom, le volume groupe (vg) le pool data devrait apparaitre et ce stockage stockera uniquement les image disques et conteneurs. 
 + 
 +Ajouter un répertoire pour le backup (ici /backup) 
 + 
 +===== upgrade 6 to 7 ===== 
 + 
 +Après avoir checké avec la commande 
 +  pve6to7 
 + 
 +Suivre la procédure sur https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0 
 + 
 +  sed -i 's/buster\/updates/bullseye-security/g;s/buster/bullseye/g' /etc/apt/sources.list 
 +  sed -i -e 's/buster/bullseye/g' /etc/apt/sources.list.d/pve-install-repo.list 
 +  apt update 
 +  apt dist-upgrade 
 + 
 +Ensuite, je n'avais pas fait attention à ça 
 + 
 +<code> 
 +update-initramfs: Generating /boot/initrd.img-5.15.131-1-pve 
 + 
 +gzip: stdout: No space left on device 
 +E: mkinitramfs failure gzip 1 
 +update-initramfs: failed for /boot/initrd.img-5.15.131-1-pve with 1. 
 +run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1 
 +Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/pve-kernel-5.15.131-1-pve.postinst line 19. 
 +dpkg: error processing package pve-kernel-5.15.131-1-pve (--configure): 
 + installed pve-kernel-5.15.131-1-pve package post-installation script subprocess returned error exit status 2 
 +Setting up libboost-iostreams1.74.0:amd64 (1.74.0-9) ... 
 +Setting up libsigc++-2.0-0v5:amd64 (2.10.4-2) ... 
 +Setting up aptitude-common (0.8.13-3) ... 
 +dpkg: dependency problems prevent configuration of pve-kernel-5.15: 
 + pve-kernel-5.15 depends on pve-kernel-5.15.131-1-pve; however: 
 +  Package pve-kernel-5.15.131-1-pve is not configured yet. 
 + 
 +dpkg: error processing package pve-kernel-5.15 (--configure): 
 + dependency problems - leaving unconfigured 
 +dpkg: dependency problems prevent configuration of proxmox-ve: 
 + proxmox-ve depends on pve-kernel-5.15; however: 
 +  Package pve-kernel-5.15 is not configured yet. 
 + 
 +dpkg: error processing package proxmox-ve (--configure): 
 + dependency problems - leaving unconfigured 
 +Setting up libcwidget4:amd64 (0.5.18-5) ... 
 +Setting up aptitude (0.8.13-3) ... 
 +update-alternatives: using /usr/bin/aptitude-curses to provide /usr/bin/aptitude (aptitude) in auto mode 
 +Processing triggers for man-db (2.9.4-2) ... 
 +Processing triggers for libc-bin (2.31-13+deb11u7) ... 
 +Errors were encountered while processing: 
 + pve-kernel-5.15.131-1-pve 
 + pve-kernel-5.15 
 + proxmox-ve 
 +E: Sub-process /usr/bin/dpkg returned an error code (1) 
 + 
 +</code> 
 + 
 +et le reboot s'est mal passé... 
 + 
 +Obligé de rebooter sur un live rescue 
 +<code> 
 +mount /dev/mapper/system--mdjrx-root /mnt 
 +mount /dev/sda1 /mnt/boot 
 +for name in proc sys dev ; do mount --bind /$name /mnt/$name; done 
 + 
 +chroot /mnt 
 +</code> 
 + 
 +relancer les commandes apt dist-upgrade et constater que rien ne fonctionne... 
 + 
 +Finalement, ce qui a fonctionner 
 +<code> 
 +umount /boot 
 +fsck.ext4 -p -c -f /dev/sda1 
 +/dev/sda1: Updating bad block inode. 
 +/dev/sda1: 362/51000 files (1.4% non-contiguous), 152848/203776 blocks 
 + 
 +apt dist-upgrade 
 +run-parts: executing /etc/kernel/postinst.d/zz-update-grub 5.15.131-1-pve /boot/vmlinuz-5.15.131-1-pve 
 +Setting up pve-kernel-5.15 (7.4-8) ... 
 +Setting up proxmox-ve (7.4-1) ... 
 + 
 +</code> 
 + 
 +Plus d'erreurs. 
 + 
 +Après un reboot, j'ai eu droit à ça 
 +  Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) 
 + 
 +donc reboot sur un ancien kernel et 
 +<code> 
 +update-initramfs -u -k 5.15.131-1-pve  
 + 
 +update-initramfs: Generating /boot/initrd.img-5.15.131-1-pve 
 +gzip: stdout: No space left on device 
 +E: mkinitramfs failure gzip 1 
 +update-initramfs: failed for /boot/initrd.img-5.15.131-1-pve with 1. 
 + 
 + 
 +df -h /boot 
 +Filesystem      Size  Used Avail Use% Mounted on 
 +/dev/sda1       188M  138M   36M  80% /boot 
 +</code> 
 +il n'y a donc pas assez d'espace sur la partition de /boot  
 + 
 +Faisons le ménage en cherchant avec grub les kernel installé 
 +  dpkg --list | grep kernel 
 + 
 +en supprimant les paquets obsolètes 
 +  apt purge nom_du_paquet 
 + 
 +et en supprimant à la main les fichiers resté dans /boot de la même version supprimé 
 + 
 +On relance ensuite les 2 commandes qui vont bien 
 +<code> 
 +oot@proxmox202009:/boot# update-initramfs -u -k 5.15.131-1-pve  
 +update-initramfs: Generating /boot/initrd.img-5.15.131-1-pve 
 +Running hook script 'zz-proxmox-boot'.. 
 +Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace.. 
 +No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync. 
 +root@proxmox202009:/boot# df -h /boot 
 +Filesystem      Size  Used Avail Use% Mounted on 
 +/dev/sda1       188M  134M   41M  77% /boot 
 + 
 +root@proxmox202009:/boot# update-grub 
 +Generating grub configuration file ... 
 +Found linux image: /boot/vmlinuz-5.15.131-1-pve 
 +Found initrd image: /boot/initrd.img-5.15.131-1-pve 
 +Found linux image: /boot/vmlinuz-5.4.203-1-pve 
 +Found initrd image: /boot/initrd.img-5.4.203-1-pve 
 +Warning: os-prober will not be executed to detect other bootable partitions. 
 +Systems on them will not be added to the GRUB boot configuration. 
 +Check GRUB_DISABLE_OS_PROBER documentation entry. 
 +done 
 +</code> 
 + 
 +On reboot. Et là... encore un problème. Le système boot bien, tout fonctionne sauf l'accès à internet. 
 + 
 +Et oui il était écrit en petit dans la doc ( https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0#Check_Linux_Network_Bridge_MAC ) que debian 11 allait changer tout seul l'adresse MAC du bridge et comme le bridge communique avec l'hebergeur via l'adresse MAC, ben ça ne fonctionne pas. 
 + 
 +donc, faire un  
 +  ip -c link 
 +pour récupérer l'adresse mac de votre interface réseau (ou la récupérer dans votre interface admin de votre hébergeur) 
 +et rajouter dans le **/etc/network/interfaces** la ligne 
 +  hwaddress 00:00:00:00:00 
 +on restart le réseau 
 +  systemctl restart networking 
 + 
 +Et ça marche !! (enfin l'hyperviseur, pour les LXC y'a encore du boulot) 
 + 
 +Et ça fait plaisir de voir que je ne suis pas le seul à avoir eu des problèmes -> https://blog.zwindler.fr/2021/07/19/les-soucis-que-jai-rencontre-en-upgradant-proxmox-ve-7/
linux/proxmox.1610706539.txt.gz · Dernière modification: 15-01-2021 11:28 de edmc73