« Proxmox Backup Server (PBS) » : différence entre les versions

De Linux Server Wiki
Aller à la navigation Aller à la recherche
 
(44 versions intermédiaires par le même utilisateur non affichées)
Ligne 21 : Ligne 21 :
Installez le système de base debian :
Installez le système de base debian :
<pre>
<pre>
debootstrap --arch=amd64 buster /mnt http://ftp.fr.debian.org/debian
debootstrap --arch=amd64 bookworm /mnt http://ftp.fr.debian.org/debian
</pre>
</pre>


Ligne 32 : Ligne 32 :
</pre>
</pre>


==Configuration du système de base==
Éditez le fichier <code>/etc/apt/sources.list</code> :
Éditez le fichier <code>/etc/apt/sources.list</code> :
<pre>
<pre>
deb http://deb.debian.org/debian/ buster main contrib non-free
# main archive
deb-src http://deb.debian.org/debian/ buster main contrib non-free
deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware


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


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


# anciennement backports
# backports archive
# deb http://deb.debian.org/debian/ buster-backports main contrib non-free
deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware
</pre>
</pre>


Ligne 87 : Ligne 91 :
</pre>
</pre>


Veillez à bien y adapter le nom de l'interface (<code>eno1</code> ici) en fonction de votre système.
Veillez à bien y adapter le nom de l'interface (<code>eno1</code> ici) en fonction de votre système (récupérez le par exemple avec la commande<code>ip addr</code>)


Modifiez /etc/hosts:  
Modifiez /etc/hosts :  
<pre>
<pre>
127.0.0.1      localhost
127.0.0.1      localhost
Ligne 100 : Ligne 104 :
</pre>
</pre>


Configurez l'hostname :
<pre>
<pre>
echo pbs > /etc/hostname
echo pbs > /etc/hostname
Ligne 110 : Ligne 115 :
</pre>
</pre>


=Installation du kernel=
==Installation du kernel==
 
<pre>
apt install linux-image-amd64 firmware-linux-free grub-pc
</pre>


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


=OpenSSH=
==OpenSSH==


<pre>
<pre>
Ligne 120 : Ligne 129 :
apt install openssh-server
apt install openssh-server
</pre>
</pre>
Ajoutez ensuite votre clé ssh dans <code>/root/.ssh/authorized_keys</code>. Sans cela, vous ne pourrez pas vous connecter après avoir redémarré.
==Redémarrage==
Vous pouvez maintenant sortir de votre chroot et démonter le système de fichier
<pre>
exit
umount /mnt/sys
umount /mnt/dev
umount /mnt/proc
umount /mnt
</pre>
Puis rebootez sur le disque dur.


=Installation de PBS=
=Installation de PBS=
Installez quelques paquets nécessaires :
<pre>apt install postfix gdisk parted wget</pre>
Ajoutez la clé gpg du dépôt :
<pre>
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
</pre>
Ajoutez le dépot PBS dans <code>/etc/apt/sources.list</code> :
<pre>
# Proxmox Backup Server pbs-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription
</pre>
Puis installez PBS :
<pre>
apt update
apt install proxmox-archive-keyring proxmox-backup-server ifupdown
</pre>
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.
==Kernel alternatif==
Si vous le souhaitez, vous pouvez également installer le kernel officiel de proxmox :
<pre>apt install proxmox-kernel-6.8 pve-firmware</pre>
=Création de la partition de datastore=
==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.
<pre>mkfs.ext4 /dev/sda3</pre>
<pre>
$ blkid | grep sda3
/dev/sda3: UUID="27208cd1-5e0e-4a59-b36e-fa869bc395c4" TYPE="ext4" PARTUUID="7d30a42b-03"
</pre>
Créez le fichier /etc/systemd/system/mnt-datastore-datastore1.mount :
<pre>
[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
</pre>
Et lancez le montage automatique par systemd :
<pre>
systemctl enable mnt-datastore-datastore1.mount
systemctl start mnt-datastore-datastore1.mount
</pre>
==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é :
<pre>
mkdir -p /datastore/datastore1
chattr +i /datastore/datastore1
</pre>
Créez le système de fichier sur la partition souhaité. Ici, sda3.
<pre>mkfs.ext4 /dev/sda3</pre>
<pre>
$ blkid | grep sda3
/dev/sda3: UUID="27208cd1-5e0e-4a59-b36e-fa869bc395c4" TYPE="ext4" PARTUUID="7d30a42b-03"
</pre>
Ajoutez dans fstab pour que le datastore soit monté au démarrage :
<pre>UUID=27208cd1-5e0e-4a59-b36e-fa869bc395c4      /datastore/datastore1  ext4    defaults,relatime              0      2</pre>
Notez qu'on monte avec l'option <code>relatime</code> conformément aux recommandations de PBS pour maximiser les performances.
Montez manuellement le datastore
<pre>mount /datastore/datastore1</pre>
=Ajout du datastore dans PBS=
=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
===Via l'interface proxmox===
Editez l'utilisateur root et décochez la case <code>Enabled</code>
Malheureusement, cela aura également comme conséquence de rendre quasiment inopérant le script shell proxmox-backup-manager
===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===
Créez le fichier <code>/etc/pam.d/proxmox-backup-auth</code> et ajoutez y 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>
=Dépôt client uniquement=
Ajoutez la clé de sécurité proxmox :
<pre>
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
</pre>
Ajouter le dépot APT par exemple dans <code>/etc/apt/sources.list</code> :
<pre>deb http://download.proxmox.com/debian/pbs-client bookworm main</pre>

Dernière version du 5 mai 2024 à 19:37


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 bookworm /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

Configuration du système de base

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

# main archive
deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware

# security updates
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

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

# backports archive
deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware

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

Installation du kernel

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

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

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é.

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.

Installation de PBS

Installez quelques paquets nécessaires :

apt install postfix gdisk parted wget

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

wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg

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

# Proxmox Backup Server pbs-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pbs bookworm 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.

Kernel alternatif

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

apt install proxmox-kernel-6.8 pve-firmware

Création de la partition de datastore

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

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       2

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

Ajout du datastore dans PBS

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

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

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 !

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

Dépôt client uniquement

Ajoutez la clé de sécurité proxmox :

wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg

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

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