Proxmox Backup Server (PBS)

De Linux Server Wiki
Révision datée du 29 mai 2021 à 18:45 par Pfoo (discussion | contributions) (→‎Installation de PBS)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche


1 Installation du système de base

Créez les systèmes de fichier :

mkfs.ext4 /dev/sda1
mkswap /dev/sda2

Assurez vous que debootstrap est bien installé sur le système de rescue/d'installation :

aptitude install debootstrap debian-keyring debian-archive-keyring

Montez la partition sda1 :

mount /dev/sda1 /mnt

Installez le système de base debian :

debootstrap --arch=amd64 buster /mnt http://ftp.fr.debian.org/debian

Puis chrootez dans le nouveau système :

mount -o bind /proc /mnt/proc
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys
chroot /mnt

1.1 Configuration du système de base

Éditez le fichier /etc/apt/sources.list :

deb http://deb.debian.org/debian/ buster main contrib non-free
deb-src http://deb.debian.org/debian/ buster main contrib non-free

deb http://security.debian.org/ buster/updates main contrib non-free
deb-src http://security.debian.org/ buster/updates main contrib non-free

# buster-updates, previously known as 'volatile'
deb http://deb.debian.org/debian/ buster-updates main contrib non-free
deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free

# anciennement backports
# deb http://deb.debian.org/debian/ buster-backports main contrib non-free

Mettez à jour les paquets :

apt update
apt upgrade

Installez les locales et la configuration de console :

apt install locales 
dpkg-reconfigure locales
apt install console-data console-setup-linux console-setup
dpkg-reconfigure console-data # from arch > french > latin9)

Définissez la zone horaire :

tzselect
dpkg-reconfigure tzdata

Configurez votre /etc/fstab :

# <file system>                                 <mount point>   <type>  <options>                       <dump>  <pass>
UUID=4b47c926-0e14-4076-9c17-637f0ec470aa       /               ext4    defaults,errors=remount-ro      0       1
UUID=50e94be2-cff4-43f9-a2f8-928a71fecea0       none            swap    sw                              0       0

Editez /etc/network/interfaces :

auto lo
iface lo inet loopback

auto eno1
iface eno1 inet static
        address 46.104.126.132/24
        gateway 46.104.126.254
        broadcast 46.104.126.132

Veillez à bien y adapter le nom de l'interface (eno1 ici) en fonction de votre système (récupérez le par exemple avec la commandeip addr)

Modifiez /etc/hosts :

127.0.0.1       localhost
127.0.1.1       pbs.domain.tld   pbs

# The following lines are desirable for IPv6 capable hosts
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

Configurez l'hostname :

echo pbs > /etc/hostname
echo pbs.domain.tld > /etc/mailname

N'oubliez pas de configurer les dns (ceux de votre hébergeur dédié) dans /etc/resolv.conf :

nameserver XX.XX.XX.XX

1.2 Installation du kernel

apt install linux-image-amd64 firmware-linux-free grub-pc

A l'écran Configuring grub-pc, installez grub sur /dev/sda

1.3 OpenSSH

hostname -F /etc/hostname
apt install openssh-server

Ajoutez ensuite votre clé ssh dans /root/.ssh/authorized_keys. Sans cela, vous ne pourrez pas vous connecter après avoir redémarré.

1.4 Redémarrage

Vous pouvez maintenant sortir de votre chroot et démonter le système de fichier

exit
umount /mnt/sys
umount /mnt/dev
umount /mnt/proc
umount /mnt

Puis rebootez sur le disque dur.

2 Installation de PBS

Installez quelques paquets nécessaires :

apt install postfix gdisk parted wget

Ajoutez la clé gpg du dépôt :

wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg

Ajoutez le dépot PBS dans /etc/apt/sources.list :

# PBS pbs-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pbs buster pbs-no-subscription

Puis installez PBS :

apt update
apt install proxmox-archive-keyring proxmox-backup-server ifupdown

Note : nous forçons l'installation de ifupdown pour éviter l'installation de ifupdown2 pour des raisons de compatibilité. Si vous décidez d'installer ifupdown2, assurez-vous en premier lieu d'avoir la dernière version de ifupdown installé, et que votre configuration réseau est compatible.

2.1 Kernel alternatif

Si vous le souhaitez, vous pouvez également installer le kernel officiel de proxmox :

apt install pve-kernel-5.4 pve-firmware

3 Création de la partition de datastore

3.1 Création manuelle du montage systemd

Cette procédure permet de respecter le fonctionnement interne actuel de PBS

Créez le système de fichier sur la partition souhaité. Ici, sda3.

mkfs.ext4 /dev/sda3
$ blkid | grep sda3
/dev/sda3: UUID="27208cd1-5e0e-4a59-b36e-fa869bc395c4" TYPE="ext4" PARTUUID="7d30a42b-03"

Créez le fichier /etc/systemd/system/mnt-datastore-datastore1.mount :

[Mount]
Options=defaults
Type=ext4
What=/dev/disk/by-uuid/27208cd1-5e0e-4a59-b36e-fa869bc395c4
Where=/mnt/datastore/datastore1

[Unit]
Description=Mount datastore 'datastore1' under '/mnt/datastore/datastore1'

[Install]
WantedBy=multi-user.target

Et lancez le montage automatique par systemd :

systemctl enable mnt-datastore-datastore1.mount
systemctl start mnt-datastore-datastore1.mount

3.2 Création manuelle du montage sans systemd

Procédure alternative

Créez le dossier sur lequel vous allez monter le datastore puis appliquez lui le flag immuable (+i) afin d'empêcher toute écriture directe sur le dossier non monté :

mkdir -p /datastore/datastore1
chattr +i /datastore/datastore1

Créez le système de fichier sur la partition souhaité. Ici, sda3.

mkfs.ext4 /dev/sda3
$ blkid | grep sda3
/dev/sda3: UUID="27208cd1-5e0e-4a59-b36e-fa869bc395c4" TYPE="ext4" PARTUUID="7d30a42b-03"

Ajoutez dans fstab pour que le datastore soit monté au démarrage :

UUID=27208cd1-5e0e-4a59-b36e-fa869bc395c4       /datastore/datastore1   ext4    defaults,relatime               0       0

Notez qu'on monte avec l'option relatime conformément aux recommandations de PBS pour maximiser les performances.

Montez manuellement le datastore

mount /datastore/datastore1

4 Ajout du datastore dans PBS

5 Désactiver le login root (pam) sur l'interface PBS

Avant toute manipulation, n'oubliez pas de créer un utilisateur ayant les droits d'administration pour accéder à l'interface de PBS

5.1 Via l'interface proxmox

Editez l'utilisateur root et décochez la case Enabled

Malheureusement, cela aura également comme conséquence de rendre quasiment inopérant le script shell proxmox-backup-manager

5.2 Via les droits linux

passwd --lock root

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 !

5.3 Via PAM

Créez le fichier /etc/pam.d/proxmox-backup-auth et ajoutez y les lignes suivantes :

auth        required    pam_deny.so
auth        required    pam_warn.so
account     required    pam_deny.so
account     required    pam_warn.so

6 Dépôt client uniquement

Ajoutez la clé de sécurité proxmox :

wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg

Ajouter le dépot APT par exemple dans /etc/apt/sources.list :

deb http://download.proxmox.com/debian/pbs-client buster main