« Proxmox 8 » : différence entre les versions

Aller à la navigation Aller à la recherche
1 853 octets ajoutés ,  18 août 2023
(177 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 4 avec LVM2
Nous allons voir comment installer proxmox 7.x sur un raid 1 logiciel (md / mdadm) avec debootstrap.


=Prérequis=
=Prérequis=
Ligne 12 : Ligne 12 :
=Pour les débutants=
=Pour les débutants=


Si vous êtes débutant en administration linux, je vous conseil de sauvegarder quelque part les fichier suivant issu d'une précédente installation de debian:
Si vous êtes débutant en administration linux, je vous conseil de sauvegarder quelque part les fichier suivant issu d'une précédente installation de debian ou de proxmox
* <code>/etc/networks</code>
* <code>/etc/networks</code>
* <code>/etc/network/interfaces</code>
* <code>/etc/network/interfaces</code>
Ligne 18 : Ligne 18 :
* <code>/etc/hosts</code>
* <code>/etc/hosts</code>
* <code>/etc/fstab</code>
* <code>/etc/fstab</code>
* <code>/etc/default/rcS</code>
* <code>/etc/mdadm/mdadm.conf</code> si vous disposez d'un raid logiciel
* <code>/etc/mdadm/mdadm.conf</code> si vous disposez d'un raid logiciel
* tout fichier de personnalisation de grub (<code>/etc/grub.d/06_OVHkernel</code> par exemple)
* tout fichier de personnalisation de grub (<code>/etc/grub.d/</code> par exemple)


=Partitionnement=
Cela vous permettra de vous faire une idée plus précise de ce qui doit figurer dans ces différents fichiers.
 
=Partitionnement et système de fichier=


Voici le partitionnement que je vais utiliser :
Voici le partitionnement que je vais utiliser :
* /dev/sda1 10 Go (/)  
* Partition root (/) de 20 Go (/) en raid 1 sur les disques sda et sdb
* /dev/sda2 4096 Go (swap)
* Partitions swap de 4096 Go chacune réparties sur sda et sdb
* /dev/sda3 reste de l'espace disque (lvm)
* Le reste de l'espace sera utilisé plus tard pour un LVM dédié aux VMs
 
==Partitionnement==
 
===Possibilité 1 : Partitionnement GPT pour EFI / UEFI===
 
Nous allons créer avec <code>gdisk</code> 3 partitions sur chaque disque :
* sda1 et sdb1 : partitions EFI (ESP), obligatoire pour le démarrage EFI/UEFI. Il faudra leur attribuer le type <code>EF00</code>. Pour assurer une bonne compatibilité avec les multiples firmwares EFI, il est recommandé de leur attribuer une taille de 512 MiB (+512M au prompt gdisk).
* sda2 et sdb2 : partitions pour le raid root (/). Il faudra leur attribuer le type <code>FD00</code>.
* sda3 et sdb3 : partitions swap séparées. Il faudra leur attribuer le type <code>8200</code>.
 
<br>
 
Pour les partitions EFI, nous créons un système de fichier FAT32 avec le label (nom) <code>EFI_SYSPART</code> :
<pre>
mkfs.fat -F 32 -n EFI_SYSPART /dev/sda1
mkfs.fat -F 32 -n EFI_SYSPART /dev/sdb1
</pre>


==Création des systèmes de fichiers==
===Possibilité 2 : Partitionnement GPT pour BIOS===
 
Nous allons créer avec <code>gdisk</code> 3 partitions sur chaque disque :
* sda1 et sdb1 : partitions pour le bootloader. Il faudra leur attribuer le type <code>EF02</code>. On peut la créer idéalement du secteur 34 au secteur 2047 du disque.
* sda2 et sdb2 : partitions pour le raid root (/). Il faudra leur attribuer le type <code>FD00</code>.
* sda3 et sdb3 : partitions swap séparées. Il faudra leur attribuer le type <code>8200</code>.
 
Notez que la partition du bootloader ne doit pas être formatée.
 
===Possibilité 3 : partitionnement MBR pour BIOS (non prise en charge dans ce wiki)===
 
A titre informatif : création avec <code>parted</code>, sans nécessité de créer une partition dédiée au bootloader/grub.
 
==Création du RAID==
 
Pour des raisons esthétiques, définissez l'hostname de votre système de rescue :
<pre>hostname proxmox</pre>


Pour créer votre raid 1 avec 2 disques :
<pre>
<pre>
mkfs.ext4 /dev/sda1
mdadm --create --verbose /dev/md2 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
mkswap /dev/sda2
</pre>
</pre>


==Création du LVM==
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éez un système de fichier ext4 pour le raid du root :
<pre>
<pre>
pvcreate /dev/sda3
mkfs.ext4 /dev/md2
vgcreate main /dev/sda3
</pre>
</pre>


Nous ne créerons pas de volume logique dans le LVM maintenant. Nous laisserons en effet proxmox et KVM se charger de créer des volumes logiques pour chaque VM.
Enfin, initialisez les swaps :
<pre>
mkswap /dev/sda3
mkswap /dev/sdb3
</pre>


=Installation de proxmox=
=Installation de proxmox=
Ligne 49 : Ligne 91 :
==Installation du système de base==
==Installation du système de base==


<pre>aptitude install debootstrap debian-keyring debian-archive-keyring</pre>
Nous débutons par installer le système de base de Debian avec <code>debootstrap</code>
 
Installez les paquets nécessaires dans votre rescue :
<pre>apt install debootstrap debian-keyring debian-archive-keyring</pre>


Montez votre partition raid root sur <code>/mnt</code> :
<pre>
<pre>
mount /dev/sda1 /mnt
mount /dev/md2 /mnt
</pre>
</pre>


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


==Configuration de Debian==
==Configuration de Debian==


Montez les vfs suivants, puis chrootez dans votre nouveau système debian :
<pre>
<pre>
mount -o bind /proc /mnt/proc
mount -o bind /proc /mnt/proc
mount -o bind /dev /mnt/dev
mount -o bind /dev /mnt/dev
mount -o bind /dev/pts /mnt/dev/pts
mount -o bind /sys /mnt/sys
mount -o bind /sys /mnt/sys
chroot /mnt
chroot /mnt
</pre>
</pre>


Editez le fichier <code>/etc/apt/sources.list</code> :
Configurez les archives apt : éditez le fichier <code>/etc/apt/sources.list</code> :
<pre>
<pre>
deb http://ftp.fr.debian.org/debian jessie main contrib non-free
# main archive
deb-src http://ftp.fr.debian.org/debian jessie main contrib non-free
deb http://deb.debian.org/debian/ bullseye main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye main contrib non-free


#mises à jour de sécurité
# security updates
deb http://security.debian.org/ jessie/updates main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free


#anciennement debian-volatile
# bullseye-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian jessie-updates main contrib non-free
deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian jessie-updates main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free


#anciennement backports
# backports
#deb http://ftp.fr.debian.org/debian/ jessie-backports main contrib non-free
#deb http://deb.debian.org/debian bullseye-backports main contrib non-free
#deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free
</pre>
</pre>


Mettez à jour les paquets :
Mettez à jour les paquets :
<pre>
<pre>
aptitude update
apt update
aptitude safe-upgrade
apt full-upgrade
</pre>
</pre>


Installez les locales et la configuration de console :
Installez les locales et la configuration de console :
<pre>
<pre>
aptitude install locales  
apt install locales  
dpkg-reconfigure locales
dpkg-reconfigure locales
aptitude 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 103 : Ligne 154 :
</pre>
</pre>


Installez postfix :
Configurez votre fichier <code>/etc/fstab</code> :
<pre>
<pre>
aptitude install postfix
# <file system> <mount point>  <type>  <options>                                <dump>  <pass>
/dev/md2        /              ext4    defaults,errors=remount-ro,relatime      0      1
/dev/sda1      /boot/efi      vfat    defaults                                  0      1
/dev/sda3      swap    swap    sw,pri=1                                          0      0
/dev/sdb3      swap    swap    sw,pri=1                                          0      0
</pre>
</pre>


Configurez votre /etc/fstab :
Montez la partition EFI / ESP :
<pre>
<pre>
# <file system> <mount point>  <type>  <options>      <dump>  <pass>
mkdir /boot/efi
/dev/sda10        /       ext4    errors=remount-ro      0      1
mount /boot/efi
/dev/sda2      swap    swap    defaults        0      0
</pre>
</pre>


/etc/network/interfaces :
Configurez les interfaces réseaux dans <code>/etc/network/interfaces</code> :
<pre>
<pre>
# The loopback network interface
# The loopback network interface
Ligne 121 : Ligne 175 :
iface lo inet loopback
iface lo inet loopback


auto eth0
auto eno3
iface eth0 inet static
iface eno3 inet static
         address XXXX
         address XXXX/24
        netmask 255.255.255.0
        network XXXX
        broadcast XXXX
         gateway XXXX
         gateway XXXX
</pre>
</pre>


/etc/hosts:
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    machine.domain.tld machine
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>


Définissez les hostnames dans ces fichiers :
<pre>
<pre>
echo votrehostname > /etc/hostname
# Pour celui la : non-fqdn
echo votrehostname > /etc/mailname
echo proxmox > /etc/hostname
# Pour celui la : fqdn
echo proxmox.domain.tld > /etc/mailname
</pre>
</pre>


'''ATTENTION''' Le fichier /etc/hosts DOIT être cohérent avec le fichier /etc/hostname. Par exemple, si le contenu de /etc/hostname est <code>proxmox.domain.tld</code> et que l'ip de votre proxmox est 225.182.54.9 il faudra veiller a avoir les informations suivantes dans <code>/etc/hosts</code> :
'''ATTENTION''' Le fichier <code>/etc/hosts</code> DOIT être cohérent avec le fichier <code>/etc/hostname</code>.<br>
Par exemple, si le contenu de <code>/etc/hostname</code> est <code>proxmox</code> et que l'ip de votre proxmox est 225.182.54.9 il faudra veiller a avoir les informations suivantes dans <code>/etc/hosts</code> :
<pre>
<pre>
127.0.0.1 localhost
127.0.0.1 localhost
225.182.54.9 proxmox.domain.tld proxmox
225.182.54.9 proxmox.domain.tld proxmox pvelocalhost
</pre>
</pre>


N'oubliez pas de configurer les dns (ceux de votre hébergeur dédié) :
N'oubliez pas de configurer les dns (ceux de votre hébergeur dédié) dans <code>/etc/resolv.conf</code> :
<pre>nameserver XX.XX.XX.XX</pre>
<pre>nameserver XX.XX.XX.XX</pre>
Installez postfix :
<pre>
hostname -F /etc/hostname
apt install postfix
</pre>
Enfin, comme nous installons notre partition de boot sur un raid software, il faut installer <code>madadm</code> à ce stade :
<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>


==Installation de proxmox - kernel==
==Installation de proxmox - kernel==
Ligne 165 : Ligne 228 :
<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 jessie pve-no-subscription
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
</pre>
</pre>


Ajoutez la clé du dépôt proxmox :
Ajoutez la clé du dépôt proxmox :
<pre>wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -
<pre>
aptitude update
wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
</pre>
 
Mettez à jour le système :
<pre>
apt update
apt full-upgrade
</pre>
</pre>
===Possibilité 1 : Partitions GPT pour EFI / UEFI===
Vérifiez que <code>/boot/efi</code> est bien monté. Si ce n'est pas le cas, faites le.


Installez le kernel proxmox :
Installez le kernel proxmox :
<pre>
<pre>
aptitude install pve-firmware
apt install pve-firmware
aptitude install pve-kernel-4.2.2-1-pve
apt install pve-kernel-5.15 grub-efi-amd64 gdisk
</pre>
</pre>


'''Lorsqu'on vous demandera où installer grub, choisissez sda.'''
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 :
<pre>grub-install --bootloader-id=proxmox</pre>


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>
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>
aptitude install openssh-server
mount /dev/sdb1 /mnt
rsync -av /boot/efi/ /mnt/
umount /mnt
</pre>
 
Si pour une raison quelconque, vous aviez besoin des headers du kernel :
<pre>apt install pve-headers-5.15</pre>
 
===Possibilité 2 : Partitions GPT pour BIOS OU Partitions MBR pour BIOS===
 
<pre>
apt install pve-firmware
apt install pve-kernel-5.13 grub-pc
</pre>
 
Lorsqu'on vous demandera où installer grub, choisissez <code>sda</code> ET <code>sdb</code>
 
==Installation de proxmox - OpenSSH==
 
Installez openssh et définissez un password root. Autorisez le login root par password temporairement.
<pre>
hostname -F /etc/hostname
apt install openssh-server
passwd
passwd
sed -i "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config
</pre>
==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 :
<pre>
GRUB_CMDLINE_LINUX="nomodeset iommu=pt"
</pre>
</pre>
Puis régénérez la configuration de grub :
<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


<pre>
<pre>
umount /boot/efi/
exit
exit
umount /mnt/sys
umount /mnt/sys
umount /mnt/dev/pts
umount /mnt/dev
umount /mnt/dev
umount /mnt/proc
umount /mnt/proc
Ligne 196 : Ligne 315 :
</pre>
</pre>


puis rebootez sur le disque dur sur votre kernel pve
Enfin, redémarrez le serveur sur le disque dur.
 
==Installation de ifupdown2==
 
Le paquet <code>ifupdown2</code> est en voie de devenir le remplaçant officiel de <code>ifupdown</code> pour proxmox.
 
<pre>
apt install ifupdown2
apt purge ifupdown
systemctl enable networking
</pre>
 
Pour vérifier que votre configuration est fonctionnelle : lancez <code>ifquery -a</code>
 
Redémarrez à nouveau votre serveur


==Installation de proxmox - pve==
==Installation de proxmox - pve==


Une fois le reboot effectué, vérifiez que vous etes sur le bon kernel avec <code>uname -a</code>
Une fois le redémarrage effectué, vous allez enfin pouvoir installer pve :
 
<pre>apt install lvm2</pre>
Si c'est le cas, vous pouvez installer pve :
<pre>apt install proxmox-ve ksm-control-daemon</pre>
<pre>aptitude install ntp lvm2</pre>
<pre>apt remove os-prober</pre>
<pre>aptitude install proxmox-ve ksm-control-daemon</pre>


Supprimez eth0 de votre fichier <code>/etc/network/interfaces</code> et ajoutez y ceci :
Editez la configuration réseau <code>/etc/network/interfaces</code> afin d'y créer votre bridge :
<pre>
<pre>
auto eth0
auto eno3
iface eth0 inet manual
iface eno3 inet manual


auto vmbr0
auto vmbr0
iface vmbr0 inet static
iface vmbr0 inet static
         address xxxxx
         address xxxxx/24
        netmask 255.255.255.0
        network xxxx
        broadcast xxxx
         gateway xxxx
         gateway xxxx
         bridge_ports eth0
        hwaddress AA:BB:CC:11:22:33
         bridge_ports eno3
         bridge_stp off
         bridge_stp off
         bridge_fd 0
         bridge_fd 0
</pre>
</pre>


Rebootez une dernière fois pour appliquer les changements.
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>.
<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.


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


===Ajout d'une IPv6 sur vmbr0===
===Ajout d'une IPv6 sur vmbr0===
Ajoutez les lignes suivantes dans /etc/network/interfaces
<pre>
iface vmbr0 inet6 static
        address <votreipv6>
        netmask <votre masque ipv6 (généralement 64)
</pre>
Il est aussi capital d'adapter votre fichier /etc/hosts en fonction de toutes les IPs (qu'elles soient ipv4 ou ipv6 que vous configurez sur votre hôte). En effet, proxmox se sert du fichier /etc/hosts pour déterminer des éléments de configuration locale.
A noter que les dernières versions de proxmox désactivent ipv6 au niveau kernel. Pensez alors a éditer <code>/etc/modprobe.d/local.conf</code> et remplacez <code>options ipv6 disable=1</code> par <code>options ipv6 disable=0</code>


===Ajout d'un réseau interne vmbr1===
===Ajout d'un réseau interne vmbr1===
Ligne 252 : Ligne 387 :
         address  192.168.0.1
         address  192.168.0.1
         netmask  255.255.255.0
         netmask  255.255.255.0
        broadcast 192.168.0.255
        bridge_ports dummy0
        bridge_stp off
        bridge_fd 0
</pre>
</pre>


Si vous voulez utiliser deux interfaces internes, ajoutez la ligne suivante dans <code>/etc/modprobe.d/local.conf</code> :
<pre>
options dummy numdummies=2
</pre>
Note : vous pouvez faire de même en ipv6 :
Note : vous pouvez faire de même en ipv6 :
* il faut utiliser le range fd00::/8 (http://en.wikipedia.org/wiki/Unique_Local_Address)
* il faut utiliser le range Unique Local Address (ULA) fd00::/8 (http://en.wikipedia.org/wiki/Unique_Local_Address)
* pour générer votre ula : http://pfoo.csnu.org/ula/gen-ula.html
* pour générer votre ULA : http://pfoo.unscdf.org/ula/gen-ula.html


==Sécurisation de base==
==Sécurisation de base==


Je vous conseil de commencer à sécuriser votre ssh :
Je vous conseil de commencer à sécuriser votre ssh :
* désactivez le login root (directive <code>PermitRootLogin no</code> dans <code>/etc/ssh/sshd_config</code>)
* 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.
 
===Protéger l'interface web avec fail2ban===
 
<pre>aptitude install fail2ban</pre>
 
Créez le fichier <code>/etc/fail2ban/jail.local</code> contenant :
<pre>
[DEFAULT]
# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1
bantime  = 1800
maxretry = 3
 
#
# Destination email address used solely for the interpolations in
# jail.{conf,local} configuration files.
destemail = root@localhost
 
action = %(action_mwl)s


[ssh]
Il est aussi préférable d'installer le serveur de temps NTP à la place de systemd-timesyncd:
enabled = false
 
[proxmox4]
enabled = true
port = https,http,8006
filter = proxmox4
logpath = /var/log/daemon.log
maxretry = 4
bantime = 3600 #1 heure
</pre>
 
Créez le fichier <code>/etc/fail2ban/filter.d/proxmox4.conf</code> :
<pre>
<pre>
[Definition]
apt install chrony
failregex = pvedaemon\[.*authentication failure; rhost=<HOST> user=.* msg=.*
apt purge systemd-timesyncd
ignoreregex =
</pre>
</pre>
Vous pouvez tester votre configuration avec la commande <code>fail2ban-regex /var/log/daemon.log /etc/fail2ban/filter.d/proxmox4.conf</code>
Relancez fail2ban :
<pre>/etc/init.d/fail2ban restart</pre>


=Configurer le serveur mail postfix=
=Configurer le serveur mail postfix=


==Configuration==
==Configuration==
Par défaut, postfix fournit une configuration suffisante. Voici les modifications que j'y ai apporté :
<pre>
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
disable_vrfy_command = yes
smtpd_helo_required = yes
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
mydomain = proxmox.domain.tld
append_dot_mydomain = yes
myhostname = proxmox.domain.tld
myorigin = /etc/mailname
mydestination = proxmox.domain.tld, localhost.localdomain, localhost
relayhost =
smtp_sasl_password_maps =
mynetworks = 127.0.0.0/8, [::1], ipv4_de_votre_serveur, [ipv6_de_votre_serveur]
relay_domains =
relay_recipient_maps =
inet_interfaces = 127.0.0.1, [::1], ipv4_de_votre_serveur, [ipv6_de_votre_serveur]
inet_protocols = all
alias_maps = proxy:hash:/etc/aliases
smtpd_sasl_auth_enable = no
smtpd_sasl_local_domain = $myhostname
smtpd_sender_restrictions =
  reject_unknown_sender_domain,
  reject_non_fqdn_sender
smtpd_recipient_restrictions =
  permit_inet_interfaces,
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_non_fqdn_hostname,
  reject_non_fqdn_sender,
  reject_non_fqdn_recipient,
  reject_unauth_destination
smtpd_client_restrictions =
  permit_inet_interfaces,
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_unauth_pipelining
smtpd_helo_restrictions =
  permit_inet_interfaces,
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_invalid_helo_hostname,
  reject_non_fqdn_helo_hostname,
  reject_unknown_helo_hostname
smtpd_data_restrictions =
  permit_inet_interfaces,
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_unauth_pipelining
</pre>
Il faudra évidemment configurer les directives <code>inet_interfaces</code> <code>myhostname</code> et <code>mydomain</code>


==Certificats SSL==
==Certificats SSL==
Si vous avez votre propre autorité ssl, vous pouvez générer votre propre certificat. Si ce n'est pas le cas, vous pouvez toujours aller lire [http://wiki.csnu.org/index.php?title=Installation_et_configuration_de_OpenSSL ceci] afin d'apprendre à créer votre autorité ssl.
Si vous avez votre propre autorité ssl, vous pouvez générer votre propre certificat. Si ce n'est pas le cas, vous pouvez toujours aller lire [http://wiki.unscdf.org/index.php?title=Installation_et_configuration_de_OpenSSL ceci] afin d'apprendre à créer votre autorité ssl.


Ajoutez les lignes suivantes dans <code>/etc/ssl/openssl.cnf</code> :
Ajoutez les lignes suivantes dans <code>/etc/ssl/openssl.cnf</code> :
Ligne 401 : Ligne 420 :
issuerAltName                  = issuer:copy
issuerAltName                  = issuer:copy
basicConstraints                = critical,CA:FALSE
basicConstraints                = critical,CA:FALSE
keyUsage                        = digitalSignature, nonRepudiation, keyEncipherment
keyUsage                        = critical, digitalSignature, nonRepudiation, keyEncipherment
nsCertType                      = server
nsCertType                      = server
extendedKeyUsage                = serverAuth
extendedKeyUsage                = serverAuth
</pre>
</pre>


Puis générez la clé et le certificat, et signez le avec votre autorité (onyx_ca dans mon cas) :
Puis générez la clé et le certificat, et signez le avec votre autorité (int_ca dans mon cas) :
<pre>
<pre>
openssl req -config /etc/ssl/openssl.cnf -nodes -newkey rsa:2048 -keyout postfix.key -out postfix.req
openssl req -config /etc/ssl/openssl.cnf -nodes -newkey rsa:2048 -keyout postfix.key -out postfix.req
openssl ca -config /etc/ssl/openssl.cnf -name onyx_ca -extensions POSTFIX -in postfix.req -out postfix.pem
openssl ca -config /etc/ssl/openssl.cnf -name int_ca -extensions POSTFIX -in postfix.req -out postfix.pem
</pre>
</pre>


Déplacez les fichiers dans le répertoire <code>/etc/postfix/ssl</code>:
Déplacez les fichiers dans le répertoire <code>/etc/postfix/ssl</code> :
<pre>
<pre>
mkdir /etc/postfix/ssl
mkdir /etc/postfix/ssl
Ligne 418 : Ligne 437 :
mv postfix.pem /etc/postfix/ssl/
mv postfix.pem /etc/postfix/ssl/
chmod 600 /etc/postfix/ssl/*
chmod 600 /etc/postfix/ssl/*
cat /etc/ssl/root_ca/root_ca.pem /etc/ssl/onyx_ca/onyx_ca.pem > /etc/postfix/ssl/ca_chain.pem
cat /etc/ssl/root_ca/root_ca.pem /etc/ssl/int_ca/int_ca.pem > /etc/postfix/ssl/ca_chain.pem
</pre>
</pre>


Ligne 435 : Ligne 454 :
smtpd_tls_loglevel = 1
smtpd_tls_loglevel = 1
smtp_tls_loglevel = 1
smtp_tls_loglevel = 1


#smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
#smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
</pre>
</pre>


=Utiliser son propre certificat SSL avec un signataire intermédiaire=
=Utiliser son propre certificat SSL proxmox avec un signataire intermédiaire=


Attention, pour que les consoles vnc fonctionnent, les fichiers .pem et .key ne doivent contenir rien d'autre que les données contenues entre <code>-----BEGIN CERTIFICATE-----</code> et <code>-----END CERTIFICATE-----</code> ou entre <code>-----BEGIN RSA PRIVATE KEY-----</code> et <code>-----END RSA PRIVATE KEY-----</code>.
Depuis Proxmox 5.2, il n'est plus recommandé d'adapter manuellement les fichiers contenant les certificats et clés privés de proxmox.<br>
 
Cependant, vous pouvez placer directement votre clé privé dans le fichier <code>/etc/pve/local/pveproxy-ssl.key</code> et la chaîne de certification dans le fichier <code>/etc/pve/local/pveproxy-ssl.pem</code>. Vous pouvez également déposer ces fichiers via la webui de proxmox au niveau de chaque serveur.
<br/>Admettons que vous avez la chaine de certification suivante suivante :
* une CA : root_ca.pem
* une ca intermédiaire 1 int_ca.pem (signée par root_ca)
* un certificat serveur proxmox : proxmox.pem et proxmox.key (signé par proxmox_ca)
 
<br/>La configuration de proxmox se fera de la manière suivante :
* Le fichier proxmox.key va dans /etc/pve/local/pve-ssl.key
** cp proxmox.key /etc/pve/local/pve-ssl.key
 
* Les fichiers int_ca.pem et root_ca vont dans /etc/pve/pve-root-ca.pem DANS CET ORDRE :
** cat int_ca.pem root.pem > /etc/pve/pve-root-ca.pem
 
* Les fichiers proxmox.pem et int_ca.pem vont dans /etc/pve/local/pve-ssl.pem :
** cat proxmox.pem int_ca.pem > /etc/pve/local/pve-ssl.pem
 
Attention ! L'ordre dans lequel vous entrez les fichiers est important !!
 
NB : /etc/pve/priv/pve-root-ca.key contient normalement la clé privé de la ca proxmox, pas besoin d'y mettre ici quoi que ce soit vu que vous allez gérer vos certificats vous meme
 
Notez que root_ca.pem devrait être importé dans les certificats trusté de votre navigateur ainsi que dans votre configuration du plugin java de votre navigateur.
 
Notez que si vous créez un cluster, la CA utilisée sera *partagée* entre tous les nodes du cluster ! Si vous générez certains certificats manuellement dans votre cluster, veillez à maintenant le fichier /etc/pve/priv/pve-root-ca.srl à jour.
 
=Configurer les alertes raid software=
 
Une fois votre serveur mail configuré, éditez le fichier <code>/etc/mdadm/mdadm.conf</code> et définissez l'adresse à laquelle vous souhaitez recevoir les alertes à la ligne <code>MAILADDR</code>
 
Relancez mdadm :
<pre>/etc/init.d/mdadm restart</pre>


=Surveiller l'état des disques avec SMART=
=Surveiller l'état des disques avec SMART=


Commencez par installer le paquet smartmontools :
Commencez par installer le paquet smartmontools :
<pre>aptitude install smartmontools</pre>
<pre>apt install smartmontools</pre>


Vérifiez que vos disques gèrent smart et qu'il est activé :
Vérifiez que vos disques gèrent smart et qu'il est activé :
Ligne 487 : Ligne 476 :
Si smart n'est pas activé, essayez de l'activer comme ceci :
Si smart n'est pas activé, essayez de l'activer comme ceci :
<pre>
<pre>
smartctl -s on -d ata /dev/sda
smartctl -s on /dev/sda
smartctl -s on /dev/sdb
</pre>
</pre>


Ligne 505 : Ligne 495 :
Si vous voyez <code>No Errors Logged</code> ou quelques erreurs, c'est bon. S'il y eu a beaucoup, il faut envisager de changer le disque.
Si vous voyez <code>No Errors Logged</code> ou quelques erreurs, c'est bon. S'il y eu a beaucoup, il faut envisager de changer le disque.


Pour autoriser le lancement de smartd, éditez le fichier <code>/etc/default/smartmontools</code> ainsi :
Le fichier de configuration de smartd est <code>/etc/smartd.conf</code>. Commentez la ligne <code>DEVICESCAN</code> puis ajoutez les lignes suivantes pour surveiller les deux disques durs :
<pre>
<pre>
# uncomment to start smartd on system startup
/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03) -m vous@domain.tld
start_smartd=yes
/dev/sdb -a -o on -S on -s (S/../.././02|L/../../6/03) -m vous@domain.tld
</pre>
 
Nous activons la surveillance globale (<code>-a</code>), la vérification automatique offline, (<code>-o on</code>), la sauvegarde automatique des attributs (<code>-S on</code> et lançons un <code>short self test</code> tous les jours à 2h du matin, et un <code>long self test</code> tous les samedi à 3h du matin. Si des erreurs sont détectés, un email est envoyé à vous@domain.tld.<br>
 
Relancez smartd :
<pre>/etc/init.d/smartmontools restart</pre>
 
Pour plus d'information sur SMART et ses arguments : [[Diagnostic smart d'un disque]]
 
=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 !


# uncomment to pass additional options to smartd on startup
===Via PAM===
smartd_opts="--interval=1800"
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>
</pre>


Le fichier de configuration de smartd est <code>/etc/smartd.conf</code>. Commentez la ligne <code>DEVICESCAN</code> puis ajoutez les lignes suivantes pour surveiller les deux disques durs :
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>
<pre>
/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03) -m mail@domain.tld
systemctl disable rpcbind.target
/dev/sdb -a -o on -S on -s (S/../.././02|L/../../6/03) -m mail@domain.tld
systemctl disable rpcbind.socket
systemctl disable rpcbind.service
systemctl stop rpcbind.target
systemctl stop rpcbind.socket
systemctl stop rpcbind.service
</pre>
</pre>


Nous activons la surveillance de tous les attributs (-a), et lançons un <code>short self test</code> tous les jours à 2h du matin, et un <code>long self test</code> tous les samedi à 3h du matin. Si des erreurs sont détectés, un email est envoyé à mail@domain.tld.
==Eviter les reboots accidentels avec molly-gard==
<pre>apt install molly-guard</pre>
 
==Protection SSH avec sshguard==


Lancez smart :
[[Protéger SSH avec sshguard]]
<pre>/etc/init.d/smartmontools restart</pre>
 
==Protéger l'interface web avec fail2ban==


=Protéger votre proxmox=
<pre>aptitude install fail2ban</pre>


==Eviter les reboots accidentels avec molly-gard==
Créez le fichier <code>/etc/fail2ban/jail.local</code> contenant :
<pre>aptitude install molly-guard</pre>
<pre>
[DEFAULT]
# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1
bantime  = 1800
maxretry = 3


==sshguard==
#
# Destination email address used solely for the interpolations in
# jail.{conf,local} configuration files.
destemail = root@localhost


http://wiki.csnu.org/index.php?title=Prot%C3%A9ger_SSH_avec_sshguard
action = %(action_mwl)s


==firewall iptables==
[ssh]
enabled = false


Voici un petit script pour bloquer l'accès ssh, ftp et proxmox aux ips non française
[sshd]
enabled  = false


Attention, ce script doit être lancé APRÈS sshguard, sinon sshguard ne sera plus efficace
[proxmox]
enabled = true
port = https,http,8006
filter = proxmox
logpath = /var/log/daemon.log
maxretry = 4
bantime = 3600 #1 heure
</pre>


Créez le fichier <code>/etc/fail2ban/filter.d/proxmox.conf</code> :
<pre>
<pre>
#! /bin/bash
[Definition]
failregex = pvedaemon\[.*authentication failure; rhost=<HOST> user=.* msg=.*
ignoreregex =
</pre>


trusted_ipv6="blocipv6_1 blocipv6_2"
Vous pouvez tester votre configuration avec la commande <code>fail2ban-regex /var/log/daemon.log /etc/fail2ban/filter.d/proxmox.conf</code>
db=fr.zone
wget http://www.ipdeny.com/ipblocks/data/countries/fr.zone
trusted=$(egrep -v "^#|^$" $db)
rm $db


echo "clearing iptables"
Relancez fail2ban :
/sbin/iptables -t filter -D INPUT -p tcp -i vmbr0 -m multiport --dports 21,22,8006 -j firewall
<pre>/etc/init.d/fail2ban restart</pre>
/sbin/iptables -F firewall
 
/sbin/iptables -X firewall
==firewall iptables==


echo "adding rules to iptables"
=Création d'un stockage pour les VMs=
/sbin/iptables -t filter -N firewall
/sbin/iptables -t filter -A INPUT -p tcp -i vmbr0 -m multiport --dports 21,22,8006 -j firewall


for ipblock in $trusted; do
Créez les partitions sda4 et sdb4 au moyen de gdisk (EFI) ou parted (BIOS).
        /sbin/iptables -t filter -A firewall -s $ipblock -j ACCEPT
done
/sbin/iptables -t filter -A firewall -j DROP


echo "clearing ip6tables"
Créez sur ces partitions un raid :
/sbin/ip6tables -t filter -D INPUT -p tcp -i vmbr0 -m multiport --dports 21,22,8006 -j firewall
<pre>mdadm --create --verbose /dev/md4 --level=1 --raid-devices=2 /dev/sda4 /dev/sdb4</pre>
/sbin/ip6tables -F firewall
/sbin/ip6tables -X firewall


echo "adding rules to ip6tables"
Maintenez à jour <code>mdadm.conf</code> et votre initramfs afin de conserver le bon naming du raid après reboot :
/sbin/ip6tables -t filter -N firewall
<pre>
/sbin/ip6tables -t filter -A INPUT -p tcp -i vmbr0 -m multiport --dports 21,22,8006 -j firewall
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
update-initramfs -u
</pre>


for ipv6 in $trusted_ipv6; do
Puis initialisez-y un LVM :
        /sbin/ip6tables -t filter -A firewall -s $ipv6 -j ACCEPT
<pre>
done
pvcreate /dev/md4
/sbin/ip6tables -t filter -A firewall -j DROP
vgcreate main /dev/md4
</pre>
</pre>


=VMs=
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==


Vous pouvez placer les iso dans <code>/var/lib/vz/template/iso/</code> avec <code>wget</code> par exemple.
Vous pouvez placer les iso dans <code>/var/lib/vz/template/iso/</code> avec <code>wget</code> par exemple.
Notez que l'interface graphique de proxmox propose une fonction d'upload.
Notez que l'interface graphique de proxmox propose également une fonction d'upload.


==Créer votre première VM==
==Créer votre première VM==
Ligne 619 : Ligne 665 :
Vous pouvez faire de même pour l'ipv6. Dans l'exemple suivant, seul le bloc ipv6 <code>2a01:d4h:123b:100::/56</code> est utilisable par la vm :
Vous pouvez faire de même pour l'ipv6. Dans l'exemple suivant, seul le bloc ipv6 <code>2a01:d4h:123b:100::/56</code> est utilisable par la vm :
<pre>ebtables -A FORWARD -p IPv6 --ip6-src 2a01:d4h:123b:100::/56 -s ! 52:54:00:00:08:b1 -j DROP</pre>
<pre>ebtables -A FORWARD -p IPv6 --ip6-src 2a01:d4h:123b:100::/56 -s ! 52:54:00:00:08:b1 -j DROP</pre>
==Accéder a une VM avec un client vnc==
http://pve.proxmox.com/wiki/Vnc_2.0


==Importer une VM depuis vmware ESXi==
==Importer une VM depuis vmware ESXi==


==qm et modification des VMs en ligne de commande==
==qm et modification des VMs en ligne de commande==
==Protéger SSH dans une VM==
Reportez vous à [[Protéger SSH avec sshguard]]


==Monter les partitions d'une VM depuis l'host==
==Monter les partitions d'une VM depuis l'host==


<pre>
<pre>
~# losetup /dev/loop0 /dev/main/vm-101-disk-1
# losetup /dev/loop0 /dev/main/vm-101-disk-1
# fdisk -lu /dev/loop0  
# fdisk -lu /dev/loop0  


Ligne 650 : Ligne 688 :


pour la partition 1 : start*blocksize = offset
pour la partition 1 : start*blocksize = offset
donc 2048*512 = 1 048 576
donc 2048*512 = 1048576


<pre>losetup /dev/loop1 -o 1048576 /dev/main/vm-101-disk-1 </pre>
<pre>losetup /dev/loop1 -o 1048576 /dev/main/vm-101-disk-1 </pre>
Ligne 664 : Ligne 702 :
</pre>
</pre>


===Si la partition que vous voulez monter est un lvm===
===Si la partition que vous voulez monter est un LVM===


Scannez les nouveaux volumes :
Scannez les nouveaux volumes :
Ligne 708 : Ligne 746 :
Sur votre nouveau serveur, créez une VM identique à celle de votre premier serveur (surtout en qui concerne la taille de disque).
Sur votre nouveau serveur, créez une VM identique à celle de votre premier serveur (surtout en qui concerne la taille de disque).
Depuis server1, copiez avec un dd over ssh le disque d'origine de votre vm vers votre nouveau serveur.
Depuis server1, copiez avec un dd over ssh le disque d'origine de votre vm vers votre nouveau serveur.
<pre>dd if=/dev/main/vm-102-disk-1 | pv -ptrb | ssh -c blowfish -o "Compression no" root@server2.domain.tld "dd of=/dev/main/vm-102-disk-1 bs=100M"</pre>
<pre>dd if=/dev/main/vm-102-disk-1 | pv -ptrb | ssh -o "Compression no" root@server2.domain.tld "dd of=/dev/main/vm-102-disk-1 bs=100M"</pre>


Note : sur un réseauu 100Mbps utilisez plutôt <code>-o "Compressionlevel 1"</code>
Note : sur un réseauu 100Mbps utilisez plutôt <code>-o "Compressionlevel 1"</code>
Ligne 720 : Ligne 758 :
<pre>lvconvert --merge /dev/main/102-lvmsync</pre>
<pre>lvconvert --merge /dev/main/102-lvmsync</pre>


=Annexes=
=Conteneur LXC=


==Désactiver le login root sur l'interface proxmox==
==Empêcher la mise à jour automatique de certains fichiers de configuration système du conteneur==
Cela n'est malheureusement pas directement supporté par l'interface web, la meilleure solution reste de désactiver le mot-de-passe de l'utilisateur root :
<pre>passwd --delete root</pre>


Attention 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 !
Certains fichiers de configuration du conteneur sont mis à jour automatiquement à chaque démarrage (voir https://pve.proxmox.com/pve-docs/pve-admin-guide.html#_guest_operating_system_configuration)


N'oubliez pas de créer avant cela un utilisateur ayant les droits d'administration pour accéder à l'interface de proxmox
On peut empêcher la mise à jour de ces fichiers en créant un fichier <code>.pve-ignore.NOM</code> <br>
Par exemple, <code>/etc/.pve-ignore.resolv.conf</code> empêchera le fichier <code>/etc/resolv.conf</code> d'être mis à jour à chaque démarrage.


Une autre solution consiste à créer des utilisateurs pve au lieu de pam, et de 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 :
=Annexes=
<pre>
auth        required    pam_deny.so
auth        required    pam_warn.so
account    required    pam_deny.so
account    required    pam_warn.so
#password      required        pam_deny.so
#session            required    pam_deny.so
</pre>


==Problème de layout dans la console vnc==
==Problème de layout dans la console vnc==
Ligne 746 : Ligne 775 :


Cette erreur est typique sous linux si les routeurs de votre serveur annoncent des blocs IPv6 /56 alors que vous configurez des /64.
Cette erreur est typique sous linux si les routeurs de votre serveur annoncent des blocs IPv6 /56 alors que vous configurez des /64.
Ajouter les lignes suivantes dans votre fichier <code>/etc/sysctl.conf</code> :
Ajouter les lignes suivantes dans un fichier <code>/etc/sysctl.d/local.conf</code> :
<pre>
<pre>
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.lo.autoconf = 0
net.ipv6.conf.eno3.autoconf = 0
net.ipv6.conf.eth0.autoconf = 0
net.ipv6.conf.vmbr0.autoconf = 0
net.ipv6.conf.vmbr0.autoconf = 0
net.ipv6.conf.vmbr1.autoconf = 0
net.ipv6.conf.dummy0.autoconf = 0
</pre>
</pre>
Si vous avez créé d'autres interfaces réseau, il faudra faire selon le même modèle.


Terminez par relancer procps :
Terminez par relancer procps :
Ligne 773 : Ligne 797 :
</pre>
</pre>


==L'interface web ne fonctionne pas, apache n'est pas lancé, et la commande qm retourne une erreur ipcc_send_rec failed: Connection refused==
==L'interface web ne fonctionne pas et la commande qm retourne une erreur ipcc_send_rec failed: Connection refused==


Vérifiez la présence de fichiers et dossiers dans <code>/etc/pve/</code>. Si ce dossier est vide, c'est probablement que votre fichier <code>/etc/hosts</code> est mal configuré.
Vérifiez la présence de fichiers et dossiers dans <code>/etc/pve/</code>. Si ce dossier est vide, c'est probablement que votre fichier <code>/etc/hosts</code> est mal configuré.<br>
Essayez de relancer <code>pve-cluster</code> :
Essayez de relancer <code>pve-cluster</code> :
<pre>/etc/init.d/pve-cluster restart</pre>
<pre>/etc/init.d/pve-cluster restart</pre>
Ligne 789 : Ligne 813 :
Si par exemple <code>/etc/hostname</code> contient <code>proxmox.domain.tld</code> vous devriez avoir la ligne suivante dans <code>/etc/hosts</code> :
Si par exemple <code>/etc/hostname</code> contient <code>proxmox.domain.tld</code> vous devriez avoir la ligne suivante dans <code>/etc/hosts</code> :
<pre>VOTREIP proxmox.domain.tld proxmox</pre>
<pre>VOTREIP proxmox.domain.tld proxmox</pre>
==Gestion du raid virtuel avec mdadm==
<pre>
mdadm --detail /dev/md0
</pre>
<pre>
mdadm --manage /dev/md0 --set-faulty /dev/sdb1
mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm --manage /dev/md0 --add /dev/sdb1
</pre>
Vous pouvez suivre la reconstruction avec
<pre>cat /proc/mdstat</pre>
==Surveillance des disques durs==
<pre>smartctl -t offline /dev/sda</pre>
Pour vérifier le journal d'erreur
<pre>smartctl -l error /dev/sda</pre>
Les selftests :
<pre>
smartctl -t short /dev/sda
smartctl -t long /dev/sda
smartctl -t conveyance /dev/sda
</pre>
Pour vérifier le journal d'erreur des selftests :
<pre>smartctl -l selftest /dev/sda</pre>


==Pas assez d'interfaces loopback==
==Pas assez d'interfaces loopback==
4 231

modifications

Menu de navigation