« Proxmox 8 » : différence entre les versions
Aller à la navigation
Aller à la recherche
(40 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 3 : | Ligne 3 : | ||
[[Category:virtualisation]] | [[Category:virtualisation]] | ||
Nous allons voir comment installer proxmox 7.x | Nous allons voir comment installer proxmox 7.x sur un raid 1 logiciel (md / mdadm) avec debootstrap. | ||
=Prérequis= | =Prérequis= | ||
Ligne 71 : | Ligne 71 : | ||
Notez que si vous souhaitez utiliser plus que 2 disques, il faut augmenter la valeur de <code>--raid-devices</code> et ajouter les partitions des disques à la suite. | Notez que si vous souhaitez utiliser plus que 2 disques, il faut augmenter la valeur de <code>--raid-devices</code> et ajouter les partitions des disques à la suite. | ||
Attendez que le raid soit synchronisé avant de continuer. Vous pouvez surveiller facilement cela avec la commande <code>watch cat /proc/mdstat</code>. | |||
==Création des systèmes de fichiers== | ==Création des systèmes de fichiers== | ||
Ligne 99 : | Ligne 101 : | ||
</pre> | </pre> | ||
Installez le système de base debian, version | Installez le système de base debian, version bookworm : | ||
<pre>debootstrap --arch=amd64 | <pre>debootstrap --arch=amd64 bookworm /mnt http://ftp.fr.debian.org/debian</pre> | ||
==Configuration de Debian== | ==Configuration de Debian== | ||
Ligne 116 : | Ligne 118 : | ||
<pre> | <pre> | ||
# main archive | # main archive | ||
deb http://deb.debian.org/debian/ | deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware | ||
deb-src http://deb.debian.org/debian/ | deb-src http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware | ||
# security updates | # security updates | ||
deb http://security.debian.org/debian-security | deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware | ||
deb-src http://security.debian.org/debian-security | deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware | ||
# | # bookworm-updates, previously known as 'volatile' | ||
deb http://deb.debian.org/debian/ | deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware | ||
deb-src http://deb.debian.org/debian/ | deb-src http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware | ||
# backports | # backports archive | ||
deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware | |||
deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware | |||
</pre> | </pre> | ||
Ligne 142 : | Ligne 144 : | ||
apt install locales | apt install locales | ||
dpkg-reconfigure locales | dpkg-reconfigure locales | ||
apt install console-data console-setup-linux console-setup | apt install console-data console-setup-linux console-setup wget | ||
dpkg-reconfigure console-data # from arch > french > latin9) | dpkg-reconfigure console-data # from arch > french > latin9) | ||
</pre> | </pre> | ||
Ligne 152 : | Ligne 154 : | ||
</pre> | </pre> | ||
Configurez votre fichier <code>/etc/fstab</code> : | Configurez votre fichier <code>/etc/fstab</code>.<br> | ||
Pour GPT pour EFI / UEFI : | |||
<pre> | <pre> | ||
# <file system> <mount point> <type> <options> <dump> <pass> | # <file system> <mount point> <type> <options> <dump> <pass> | ||
Ligne 161 : | Ligne 164 : | ||
</pre> | </pre> | ||
Montez la partition EFI / ESP : | Pour GPT pour BIOS : | ||
<pre>mount /boot/efi</pre> | <pre> | ||
# <file system> <mount point> <type> <options> <dump> <pass> | |||
/dev/md2 / ext4 defaults,errors=remount-ro,relatime 0 1 | |||
/dev/sda3 swap swap sw,pri=1 0 0 | |||
/dev/sdb3 swap swap sw,pri=1 0 0 | |||
</pre> | |||
Montez la partition EFI / ESP dans le cas d'un partitionnement GPT pour EFI / UEFI : | |||
<pre> | |||
mkdir /boot/efi | |||
mount /boot/efi | |||
</pre> | |||
Configurez les interfaces réseaux dans <code>/etc/network/interfaces</code> : | Configurez les interfaces réseaux dans <code>/etc/network/interfaces</code> : | ||
Ligne 178 : | Ligne 192 : | ||
Configurez le fichier <code>/etc/hosts</code> : | Configurez le fichier <code>/etc/hosts</code> : | ||
<pre> | <pre> | ||
# | # local | ||
127.0.0.1 localhost | |||
127.0.0.1 localhost | ::1 localhost ip6-localhost ip6-loopback | ||
ff02::1 ip6-allnodes | |||
ff02::2 ip6-allrouters | |||
::1 | # main | ||
ipdelamachine proxmox.domain.tld proxmox pvelocalhost | |||
ff02::1 ip6-allnodes | |||
ff02::2 ip6-allrouters | |||
</pre> | </pre> | ||
Ligne 206 : | Ligne 216 : | ||
225.182.54.9 proxmox.domain.tld proxmox pvelocalhost | 225.182.54.9 proxmox.domain.tld proxmox pvelocalhost | ||
</pre> | </pre> | ||
'''Attention : n'utilisez pas 127.0.1.1 (comme le fait debian) mais bien la vrai ip (ici 225.182.54.9)''' | |||
N'oubliez pas de configurer les dns (ceux de votre hébergeur dédié) dans <code>/etc/resolv.conf</code> : | N'oubliez pas de configurer les dns (ceux de votre hébergeur dédié) dans <code>/etc/resolv.conf</code> : | ||
Ligne 219 : | Ligne 231 : | ||
<pre>apt install mdadm</pre> | <pre>apt install mdadm</pre> | ||
Vérifiez si votre array root s'est bien défini automatiquement dans <code>/etc/mdadm/mdadm.conf</code>. Si ce n'est pas me cas, ajoutez la configuration de l'array manuellement : | |||
<pre>mdadm --examine --scan >> /etc/mdadm/mdadm.conf</pre> | <pre>mdadm --examine --scan >> /etc/mdadm/mdadm.conf</pre> | ||
Ligne 227 : | Ligne 239 : | ||
<pre> | <pre> | ||
# PVE pve-no-subscription repository provided by proxmox.com, NOT recommended for production use | # PVE pve-no-subscription repository provided by proxmox.com, NOT recommended for production use | ||
deb http://download.proxmox.com/debian/pve | deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription | ||
</pre> | </pre> | ||
Ajoutez la clé du dépôt proxmox : | Ajoutez la clé du dépôt proxmox : | ||
<pre> | <pre> | ||
wget https://enterprise.proxmox.com/debian/proxmox-release- | wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg | ||
</pre> | </pre> | ||
Ligne 248 : | Ligne 260 : | ||
<pre> | <pre> | ||
apt install pve-firmware | apt install pve-firmware | ||
apt install | apt install proxmox-default-kernel grub-efi-amd64 gdisk | ||
</pre> | </pre> | ||
Ligne 257 : | Ligne 269 : | ||
<pre>grub-install --bootloader-id=proxmox</pre> | <pre>grub-install --bootloader-id=proxmox</pre> | ||
Si jamais vous utilisez un démarrage en PXE, utilisez l'argument <code>--no-nvram</code> pour empêcher grub de mettre à jour la NVRAM et casser votre mécanique de démarrage PXE : | Si jamais vous utilisez un démarrage en PXE (c'est le cas sur un serveur OVH par exemple), utilisez l'argument <code>--no-nvram</code> pour empêcher grub de mettre à jour la NVRAM et casser votre mécanique de démarrage PXE : | ||
<pre>grub-install --bootloader-id=proxmox --no-nvram</pre> | <pre>grub-install --bootloader-id=proxmox --no-nvram</pre> | ||
Etant donné que seul <code>/dev/sda1</code> est monté sur <code>/boot/efi</code>, il faut transférer manuellement les données sur <code>/dev/sdb1</code> : | Etant donné que seul <code>/dev/sda1</code> est monté sur <code>/boot/efi</code>, il faut transférer manuellement les données sur <code>/dev/sdb1</code> : | ||
<pre> | <pre> | ||
mount | mount /dev/sdb1 /mnt | ||
rsync | rsync -av /boot/efi/ /mnt/ | ||
umount | umount /mnt | ||
</pre> | </pre> | ||
Si pour une raison quelconque, vous aviez besoin des headers du kernel : | Si pour une raison quelconque, vous aviez besoin des headers du kernel : | ||
<pre>apt install pve-headers-5. | <pre>apt install pve-headers-5.15</pre> | ||
===Possibilité 2 : Partitions GPT pour BIOS=== | ===Possibilité 2 : Partitions GPT pour BIOS OU Partitions MBR pour BIOS=== | ||
<pre> | <pre> | ||
apt install pve-firmware | apt install pve-firmware | ||
apt install | apt install proxmox-default-kernel grub-pc gdisk | ||
</pre> | </pre> | ||
Lorsqu'on vous demandera où installer grub, choisissez <code>sda</code> ET <code>sdb</code> | Lorsqu'on vous demandera où installer grub, choisissez <code>sda</code> ET <code>sdb</code>. Sinon : | ||
<pre> | |||
grub-install /dev/sda | |||
grub-install /dev/sdb | |||
</pre> | |||
==Installation de proxmox - OpenSSH== | ==Installation de proxmox - OpenSSH== | ||
Ligne 289 : | Ligne 305 : | ||
</pre> | </pre> | ||
==Installation de proxmox - | ==Installation de proxmox - Vérifications finales et redémarrage sur le kernel proxmox== | ||
Si vous avez une configuration particulière à entrer dans <code>/etc/default/grub</code>, faites le maintenant. Par exemple : | Si vous avez une configuration particulière à entrer dans <code>/etc/default/grub</code>, faites le maintenant. Par exemple : | ||
Ligne 298 : | Ligne 314 : | ||
Puis régénérez la configuration de grub : | Puis régénérez la configuration de grub : | ||
<pre>update-grub</pre> | <pre>update-grub</pre> | ||
Vous pouvez vérifier que votre fstab est valide avec : | |||
<pre>findmnt --verify --verbose</pre> | |||
Vous pouvez maintenant sortir de votre chroot et démonter le système de fichier | Vous pouvez maintenant sortir de votre chroot et démonter le système de fichier | ||
Ligne 315 : | Ligne 334 : | ||
==Installation de ifupdown2== | ==Installation de ifupdown2== | ||
Le paquet <code>ifupdown2</code> est en | Le paquet <code>ifupdown2</code> est en voie de devenir le remplaçant officiel de <code>ifupdown</code> pour proxmox. | ||
<pre> | <pre> | ||
Ligne 330 : | Ligne 349 : | ||
Une fois le redémarrage effectué, vous allez enfin pouvoir installer pve : | Une fois le redémarrage effectué, vous allez enfin pouvoir installer pve : | ||
<pre>apt install proxmox-ve ksm-control-daemon chrony</pre> | |||
<pre>apt install proxmox-ve ksm-control-daemon</pre> | |||
<pre>apt remove os-prober</pre> | <pre>apt remove os-prober</pre> | ||
Ligne 343 : | Ligne 361 : | ||
address xxxxx/24 | address xxxxx/24 | ||
gateway xxxx | gateway xxxx | ||
hwaddress AA:BB:CC:11:22:33 | |||
bridge_ports eno3 | bridge_ports eno3 | ||
bridge_stp off | bridge_stp off | ||
bridge_fd 0 | bridge_fd 0 | ||
</pre> | </pre> | ||
Définissez la ligne <code>hwaddress</code> avec l'adresse MAC de l'interface eno3. | |||
Installez votre clé SSH dans <code>/root/.ssh/authorized_keys</code> puis désactivez le login root par password de OpenSSH dans <code>/etc/ssh/sshd_config</code>. | Installez votre clé SSH dans <code>/root/.ssh/authorized_keys</code> puis désactivez le login root par password de OpenSSH dans <code>/etc/ssh/sshd_config</code>. | ||
Ligne 353 : | Ligne 374 : | ||
Une fois tout installé, je vous conseille de reconfigurer grub afin de mettre à jour la configuration interne de debian: | Une fois tout installé, je vous conseille de reconfigurer grub afin de mettre à jour la configuration interne de debian: | ||
* Pour EFI : <code>dpkg-reconfigure grub-efi-amd64</code> | * Pour EFI : <code>dpkg-reconfigure grub-efi-amd64</code> | ||
* Pour BIOS : <code>dpkg-reconfigure | * Pour BIOS : <code>dpkg-reconfigure grub-pc</code> | ||
<br> | <br> | ||
Ligne 359 : | Ligne 380 : | ||
Votre proxmox sera accessible à l'adresse https://ip:8006 | Votre proxmox sera accessible à l'adresse https://ip:8006 | ||
==Nettoyage des paquets== | |||
Si vous ne comptez pas utiliser ZFS, vous pouvez supprimer les paquets suivantes : | |||
<pre>apt purge zfs-zed libnvpair3linux libuutil3linux libzfs4linux libzpool5linux zfsutils-linux</pre> | |||
==Configuration réseau avancée== | ==Configuration réseau avancée== | ||
Ligne 386 : | Ligne 412 : | ||
* désactivez le login root (directive <code>PermitRootLogin no</code> dans <code>/etc/ssh/sshd_config</code>). Pensez néanmoins à créer un utilisateur pour vous connecter en ssh avant de désactiver le login root. | * désactivez le login root (directive <code>PermitRootLogin no</code> dans <code>/etc/ssh/sshd_config</code>). Pensez néanmoins à créer un utilisateur pour vous connecter en ssh avant de désactiver le login root. | ||
* utilisez la directive <code>allowusers <user></code> dans <code>/etc/ssh/sshd_config</code> pour n'autoriser que certains utilisateurs à se connecter en ssh. | * utilisez la directive <code>allowusers <user></code> dans <code>/etc/ssh/sshd_config</code> pour n'autoriser que certains utilisateurs à se connecter en ssh. | ||
Il est aussi préférable d'installer le serveur de temps NTP à la place de systemd-timesyncd: | |||
<pre> | |||
apt install chrony | |||
apt purge systemd-timesyncd | |||
</pre> | |||
=Configurer le serveur mail postfix= | =Configurer le serveur mail postfix= | ||
Ligne 512 : | Ligne 544 : | ||
</pre> | </pre> | ||
Attention, cette méthode peut avoir des effets de bord si d' | Attention, cette méthode peut avoir des effets de bord si d'autres programmes utilisent l'entité pam/other | ||
==Désactiver rpcbind== | |||
Si vous n'utilisez pas de montage NFS vous pouvez désactiver rpcbind.<br> | |||
Editez <code>/etc/default/nfs-common</code> et passez l'argument suivant : | |||
<pre>NEED_STATD=no</pre> | |||
Puis désactivez rpcbind : | |||
<pre> | |||
systemctl disable rpcbind.target | |||
systemctl disable rpcbind.socket | |||
systemctl disable rpcbind.service | |||
systemctl stop rpcbind.target | |||
systemctl stop rpcbind.socket | |||
systemctl stop rpcbind.service | |||
</pre> | |||
==Eviter les reboots accidentels avec molly-gard== | ==Eviter les reboots accidentels avec molly-gard== | ||
Ligne 570 : | Ligne 618 : | ||
=Création d'un stockage pour les VMs= | =Création d'un stockage pour les VMs= | ||
Créez les partitions sda4 et sdb4 au moyen de gdisk (EFI) ou parted (BIOS). | |||
Créez sur ces partitions un raid : | |||
<pre>mdadm --create --verbose /dev/md4 --level=1 --raid-devices=2 /dev/sda4 /dev/sdb4</pre> | |||
Maintenez à jour <code>mdadm.conf</code> et votre initramfs afin de conserver le bon naming du raid après reboot : | |||
<pre> | |||
mdadm --examine --scan >> /etc/mdadm/mdadm.conf | |||
update-initramfs -u | |||
</pre> | |||
Puis initialisez-y un LVM : | |||
<pre> | |||
pvcreate /dev/md4 | |||
vgcreate main /dev/md4 | |||
</pre> | |||
Il ne reste plus qu'a déclarer ce Volume Group LVM dans l'interface proxmox. | |||
=VM qemu/kvm= | =VM qemu/kvm= |