« Proxmox 8 » : différence entre les versions

Aller à la navigation Aller à la recherche
 
(51 versions intermédiaires par le même utilisateur non affichées)
Ligne 3 : Ligne 3 :
[[Category:virtualisation]]
[[Category:virtualisation]]


<big>'''MISE À JOUR EN COURS'''</big>
Nous allons voir comment installer proxmox 7.x sur un raid 1 logiciel (md / mdadm) avec debootstrap.
 
Nous allons voir comment installer proxmox 7.x à la main via deboostrap avec un raid logiciel (md / mdadm)


=Prérequis=
=Prérequis=
Ligne 73 : 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 101 : Ligne 101 :
</pre>
</pre>


Installez le système de base debian, version bullseye :
Installez le système de base debian, version bookworm :
<pre>debootstrap --arch=amd64 bullseye /mnt http://ftp.fr.debian.org/debian</pre>
<pre>debootstrap --arch=amd64 bookworm /mnt http://ftp.fr.debian.org/debian</pre>


==Configuration de Debian==
==Configuration de Debian==
Ligne 118 : Ligne 118 :
<pre>
<pre>
# main archive
# main archive
deb http://deb.debian.org/debian/ bullseye main contrib non-free
deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bullseye main contrib non-free
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 bullseye-security main contrib non-free
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free
deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware


# bullseye-updates, previously known as 'volatile'
# bookworm-updates, previously known as 'volatile'
deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free
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 bullseye-backports main contrib non-free
deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware
#deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free
deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware
</pre>
</pre>


Ligne 144 : 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 154 : 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 163 : 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 180 : Ligne 192 :
Configurez le fichier <code>/etc/hosts</code> :
Configurez le fichier <code>/etc/hosts</code> :
<pre>
<pre>
# Do not remove the following line, or various programs
# local
# that require network functionality will fail.
127.0.0.1      localhost
127.0.0.1      localhost.localdomain localhost
::1             localhost ip6-localhost ip6-loopback
ipdelamachine    proxmox.domain.tld proxmox pvelocalhost
ff02::1         ip6-allnodes
# The following lines are desirable for IPv6 capable hosts
ff02::2         ip6-allrouters
#(added automatically by netbase upgrade)
 
::1     ip6-localhost ip6-loopback
# main
feo0::0 ip6-localnet
ipdelamachine  proxmox.domain.tld proxmox pvelocalhost
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
</pre>
</pre>


Ligne 208 : 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 215 : Ligne 225 :
<pre>
<pre>
hostname -F /etc/hostname
hostname -F /etc/hostname
aptitude install postfix
apt install postfix
</pre>
</pre>


Ligne 221 : Ligne 231 :
<pre>apt install mdadm</pre>
<pre>apt install mdadm</pre>


Puis ajoutez la configuration de l'array :
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 229 : 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 bullseye pve-no-subscription
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-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg  
</pre>
</pre>


Ligne 250 : Ligne 260 :
<pre>
<pre>
apt install pve-firmware
apt install pve-firmware
apt install pve-kernel-5.13 grub-efi-amd64
apt install proxmox-default-kernel grub-efi-amd64 gdisk
</pre>
</pre>
Supprimez les paquets suivant si vous n'avez pas besoin de secureboot :
<pre>apt purge grub-efi-amd64-signed mokutil shim-helpers-amd64-signed shim-signed shim-signed-common shim-unsigned</pre>


Normalement tout doit se faire avec des promps. Si ce n'était pas le cas :
Normalement tout doit se faire avec des promps. Si ce n'était pas le cas :
<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.13</pre>
<pre>apt install pve-headers-5.15</pre>


Si vous souhaitez ultérieurement reconfigurer grub-efi :
===Possibilité 2 : Partitions GPT pour BIOS OU Partitions MBR pour BIOS===
<pre>dpkg-reconfigure grub-efi-amd64</pre>
 
===Possibilité 2 : Partitions GPT pour BIOS===


<pre>
<pre>
apt install pve-firmware
apt install pve-firmware
apt install pve-kernel-5.13 grub-pc
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 288 : Ligne 302 :
apt install openssh-server
apt install openssh-server
passwd
passwd
sed -i "s/PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config
sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config
</pre>
</pre>


==Installation de proxmox - Redémarrage sur le kernel 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 300 : 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 317 : Ligne 334 :
==Installation de ifupdown2==
==Installation de ifupdown2==


Le paquet <code>ifupdown2</code> est en voit de devenir le remplaçant officiel de <code>ifupdown</code> pour proxmox.
Le paquet <code>ifupdown2</code> est en voie de devenir le remplaçant officiel de <code>ifupdown</code> pour proxmox.


<pre>
<pre>
Ligne 324 : Ligne 341 :
systemctl enable networking
systemctl enable networking
</pre>
</pre>
Vérifiez si le fichier <code>/etc/network/interfaces.new</code> est cohérent avec votre configuration.


Pour vérifier que votre configuration est fonctionnelle : lancez <code>ifquery -a</code>
Pour vérifier que votre configuration est fonctionnelle : lancez <code>ifquery -a</code>
Ligne 334 : 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 lvm2</pre>
<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 347 : 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>.
<br><br>


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 BIOS : <code>dpkg-reconfigure grub-pc</code>
<br>
Redémarrez une dernière fois pour appliquer les changements.
Redémarrez une dernière fois pour appliquer les changements.


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 384 : 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 510 : Ligne 544 :
</pre>
</pre>


Attention, cette méthode peut avoir des effets de bord si d'autre programme utilise l'entité pam/other
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 566 : Ligne 616 :


==firewall iptables==
==firewall iptables==
=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=