« Proxmox 8 » : différence entre les versions

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


=Prérequis=
=Prérequis=
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/</code> par exemple)
* tout fichier de personnalisation de grub (<code>/etc/grub.d/</code> par exemple)
Ligne 24 : Ligne 23 :
Cela vous permettra de vous faire une idée plus précise de ce qui doit figurer dans ces différents fichiers.
Cela vous permettra de vous faire une idée plus précise de ce qui doit figurer dans ces différents fichiers.


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


==Création des systèmes de fichiers==
==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>
 
===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 51 : 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 buster /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 buster main contrib non-free
# main archive
deb-src http://ftp.fr.debian.org/debian buster 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/ buster/updates main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb-src http://security.debian.org/ buster/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 buster-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 buster-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/ buster-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 105 : 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/sda1        /       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 123 : 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 167 : 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/pve buster 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>
<pre>
wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
aptitude update
</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-5.0
apt install pve-kernel-5.15 grub-efi-amd64 gdisk
</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 :
<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>
mount /dev/sdb1 /mnt
rsync -av /boot/efi/ /mnt/
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>aptitude install pve-headers-5.0</pre>
<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 sda.'''
Lorsqu'on vous demandera où installer grub, choisissez <code>sda</code> ET <code>sdb</code>


==Installation de proxmox - OpenSSH==
==Installation de proxmox - OpenSSH==
Ligne 191 : Ligne 284 :
Installez openssh et définissez un password root. Autorisez le login root par password temporairement.
Installez openssh et définissez un password root. Autorisez le login root par password temporairement.
<pre>
<pre>
aptitude install openssh-server
hostname -F /etc/hostname
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==


Forcez l'utilisation de l'ancien nommage des interfaces réseaux (ethX) dans /etc/default/grub :
Si vous avez une configuration particulière à entrer dans <code>/etc/default/grub</code>, faites le maintenant. Par exemple :
<pre>
<pre>
GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0"
GRUB_CMDLINE_LINUX="nomodeset iommu=pt"
</pre>
</pre>


Puis régénérer 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


<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 216 : 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>


Installez votre clé SSH et désactivez le login root par password de OpenSSH dans <code>/etc/ssh/sshd_config</code>
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>


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


===Ajout d'un réseau interne vmbr1===
===Ajout d'un réseau interne vmbr1===
Ligne 272 : 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.unscdf.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>). Pensez à 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.
 
===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]
enabled = false
 
[sshd]
enabled  = false
 
[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> :
Il est aussi préférable d'installer le serveur de temps NTP à la place de systemd-timesyncd:
<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 429 : Ligne 425 :
</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 441 : 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 458 : 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=


'''<big>THIS SECTION IS OUTDATED</big>'''
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.
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>.
 
<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). Si vous êtes client d'une autorité de certification, c'est ces fichiers que l'autorité doit avoir signé.
 
<br/>La configuration de proxmox se fera de la manière suivante :
* Le fichier <code>proxmox.key</code> va dans <code>/etc/pve/local/pve-ssl.key</code>
** cp proxmox.key /etc/pve/local/pve-ssl.key
 
* Les fichiers <code>int_ca.pem</code> et <code>root_ca</code> vont dans <code>/etc/pve/pve-root-ca.pem</code> dans l'ordre leaf-to-root :
** cat int_ca.pem root.pem > /etc/pve/pve-root-ca.pem
 
* Les fichiers <code>proxmox.pem</code> et <code>int_ca.pem</code> vont dans <code>/etc/pve/local/pve-ssl.pem</code> dans l'ordre leaf-to-root :
** cat proxmox.pem int_ca.pem > /etc/pve/local/pve-ssl.pem
 
* <code>/etc/pve/priv/pve-root-ca.key</code> contient normalement la clé privé de la CA proxmox. Vous n'êtes pas obligé d'y placer la clé privé de votre CA, mais dans ce cas proxmox sera incapable de générer automatiquement un certificat lors de l'ajout d'un node si vous montez par la suite un cluster.
 
* Le fichier <code>/etc/pve/pve-www.key</code> est utilisé uniquement pour la protection CSRF.
 
Notez que <code>root_ca.pem</code> devra ê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 512 : 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 530 : 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>


# uncomment to pass additional options to smartd on startup
Relancez smartd :
smartd_opts="--interval=1800"
<pre>/etc/init.d/smartmontools restart</pre>
</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 !


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 :
===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>
<pre>
/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03) -m mail@domain.tld
auth        required    pam_deny.so
/dev/sdb -a -o on -S on -s (S/../.././02|L/../../6/03) -m mail@domain.tld
auth        required    pam_warn.so
account    required    pam_deny.so
account    required    pam_warn.so
</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.
Attention, cette méthode peut avoir des effets de bord si d'autres programmes utilisent l'entité pam/other
 
==Désactiver rpcbind==


Lancez smart :
Si vous n'utilisez pas de montage NFS vous pouvez désactiver rpcbind.<br>
<pre>/etc/init.d/smartmontools restart</pre>
Editez <code>/etc/default/nfs-common</code> et passez l'argument suivant :
<pre>NEED_STATD=no</pre>


=Protéger votre proxmox=
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==
<pre>aptitude install molly-guard</pre>
<pre>apt install molly-guard</pre>


==sshguard==
==Protection SSH avec sshguard==


[[Protéger SSH avec sshguard]]
[[Protéger SSH avec sshguard]]


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


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


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 648 : Ligne 669 :


==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 671 : 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 685 : 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 729 : 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 751 : Ligne 768 :


=Annexes=
=Annexes=
==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===
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 :
<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 780 : 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 807 : 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 823 : 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