4 234
modifications
(41 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 sur un raid 1 logiciel (md / mdadm) avec debootstrap. | |||
Nous allons voir comment installer proxmox 7.x | |||
=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 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 164 : | Ligne 164 : | ||
Montez la partition EFI / ESP : | Montez la partition EFI / ESP : | ||
<pre>mount /boot/efi</pre> | <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 183 : | ||
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 215 : | Ligne 214 : | ||
<pre> | <pre> | ||
hostname -F /etc/hostname | hostname -F /etc/hostname | ||
apt install postfix | |||
</pre> | </pre> | ||
Ligne 221 : | Ligne 220 : | ||
<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 250 : | Ligne 249 : | ||
<pre> | <pre> | ||
apt install pve-firmware | apt install pve-firmware | ||
apt install pve-kernel-5. | apt install pve-kernel-5.15 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. | <pre>apt install pve-headers-5.15</pre> | ||
===Possibilité 2 : Partitions GPT pour BIOS OU Partitions MBR pour BIOS=== | |||
===Possibilité 2 : Partitions GPT pour BIOS=== | |||
<pre> | <pre> | ||
Ligne 288 : | Ligne 287 : | ||
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 - | ==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 299 : | ||
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 319 : | ||
==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 324 : | Ligne 326 : | ||
systemctl enable networking | systemctl enable networking | ||
</pre> | </pre> | ||
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 347 : | Ligne 347 : | ||
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 398 : | ||
* 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 489 : | Ligne 509 : | ||
=Protégez votre proxmox= | =Protégez votre proxmox= | ||
==Désactiver le login root sur l'interface proxmox== | |||
Avant toute manipulation, n'oubliez pas de créer un utilisateur ayant les droits d'administration pour accéder à l'interface de proxmox | |||
===Via l'interface proxmox=== | |||
Dans Datacenter > Permissions > Users : Editez l'utilisateur root et décochez la case <code>Enabled</code> | |||
===Via les droits linux=== | |||
<pre>passwd --lock root</pre> | |||
Attention, dans ce cas, vous ne pourrez plus vous loguer en root sur le serveur par ssh (sauf si vous avez une clé ssh défini), écran ou kvm ! | |||
===Via PAM=== | |||
Vous pouvez désactiver le login pam en éditant <code>/etc/pam.d/other</code> et en y ajoutant, en début de fichier, les lignes suivantes : | |||
<pre> | |||
auth required pam_deny.so | |||
auth required pam_warn.so | |||
account required pam_deny.so | |||
account required pam_warn.so | |||
</pre> | |||
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 545 : | Ligne 603 : | ||
==firewall iptables== | ==firewall iptables== | ||
=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= | |||
==Télécharger vos images== | ==Télécharger vos images== |