My Personal Wiki

La théorie, c'est quand on sait tout et que rien ne fonctionne.... La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

Outils pour utilisateurs

Outils du site


linux:proxmox:pbs:install

PBS Promox Backup Sever


Télécharger l'ISO

Installer la VM PBS

L'installation se fait comme pour une VM classique, il faudra juste cibler l'image iso de PBS en source.
Une fois terminé, vous aurez ceci dans le terminal de votre VM.


ISCSI

Connectez-vous sur votre NAS et créer un LUN ISCSI avec authentification CHAP.

Pour l’authentification CHAP, il vous faudra renseigner un login et password (ne correspondant en rien avec les comptes de votre NAS)
Vous pouvez également appliquer des politiques de restriction d'accès (RO/RW) et des filtres initiateurs (IP), mais aussi choisir l'interface par laquelle présenter le portail.


Faite attention après les mises à jour de votre NAS, dans certains cas l'adresse IP de la carte dédiée pour la connexion ISCSI peut changer


VM PBS

Installer open-iscsi sur votre PBS.
Depuis le shell:

apt install open-iscsi

Découverte

Une fois installer, vous pourrez tester la découverte de votre LUN.

iscsiadm -m discovery -t sendtargets -p <IP de votre NAS> 

Vous aurez en retour:

xxx.xxx.xxx.xxx:3260,1 iqn.2004-04.com.qnap:ts-h973ax:iscsi.target-0.5c3342

Jusqu'ici, tout semble ok !!

Éditer iscsid.conf

nano /etc/iscsi/iscsid.conf

Décommenter et renseigner ces éléments :

node.startup = automatic
node.leading_login = Yes
node.session.auth.authmethod = CHAP
node.session.auth.username = votre_username
node.session.auth.password = votre_password

Les section node.session.auth.username et node.session.auth.password correspondent au paramètre d'authentification CHAP lors de la création de votre LUN sur votre NAS


Connexion

Pour se connecter en ligne de commande à votre LUN.

iscsiadm -m node -T iqn.2004-04.com.qnap:ts-h973ax:iscsi.target-0.5c3342 -p IP_du_NAS --login

Une fois connecté, vous pouvez vérifier avec cette commande:

iscsiadm -m session
tcp: [1] 192.168.xxx.xxx:3260,1 iqn.2004-04.com.qnap:ts-h973ax:iscsi.target-0.5c3342 (non-flash)

Vous donne acccès à plus d'information.

iscsiadm -m session -P 3

Pour se déconnecter en ligne de commande de votre LUN.

iscsiadm -m node -T iqn.2004-04.com.qnap:ts-h973ax:iscsi.target-0.5c3342 -p IP_du_NAS --logout

Persistence

Ces commandes vous permettrons de remonter le volume ISCSI après un reboot de PBS.

iscsiadm -m node -T iqn.2004-04.com.qnap:ts-h973ax:iscsi.target-0.5c3342 -p IP_du_NAS --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2004-04.com.qnap:ts-h973ax:iscsi.target-0.5c3342 -p IP_du_NAS -o update -n node.conn[0].startup -v automatic

Nous sommes d'accord!! IP_du_NAS = ip du Target ISCSI :-P


ZFS Pool

Vérifier que le LUN soit bien visible:

lsblk

Creation:
Créer un pool ZFS (ex: iscsi_poolBKP)

zpool create iscsi_poolBKP /dev/sda

Contrôlez:

zpool list
zpool status

Rendre le montage automatique au boot.

zpool set cachefile=/etc/zfs/zpool.cache iscsi_poolBKP

Activer ces services

sudo systemctl enable zfs-import-cache
sudo systemctl enable zfs-mount
sudo systemctl enable zfs.target

Créer un système de fichiers ZFS dans le pool

zfs create iscsi_pool/Sauvegarde

Il est également possible d'ajouter d'autre dataset comme ISO et VM et Data par exemple.

Le dossier /iscsi_poolBKP/Sauvegarde est créé et il utilise l’espace de iscsi_poolBKP, mais peut aussi avoir ses propres réglages.
exemple:

zfs create -o compression=lz4 -o atime=off -o quota=100G iscsi_poolBKP/Sauvegarde

compression=lz4 : compresse automatiquement les fichiers (rapide et sans perte)
atime=off : évite de mettre à jour la date d’accès à chaque lecture (améliore les perfs)
quota=100G : limite la taille du dataset à 100 Go

On peut donc séparer plusieurs usages (/data, /backup, /vmstore, etc.)
Appliquer des règles de quota, de compression, de partage, ou de chiffrement indépendamment.
Avoir des snapshots ou des réplications spécifiques à chaque dataset.

Chiffrement

sudo zfs create \
  -o compression=lz4 \
  -o atime=off \
  -o quota=100G \
  -o encryption=aes-256-gcm \
  -o keyformat=passphrase \
  -o keylocation=prompt \
  iscsi_poolBKP/Data

encryption=aes-256-gcm –> Active le chiffrement avec l’algorithme AES-GCM 256 bits
keyformat=passphrase –> Le mot de passe sera demandé à chaque import du pool
keylocation=prompt –> Indique que la passphrase sera à entrée manuellement au démarrage


Le chiffrement ZFS se fait au niveau du dataset, pas du pool entier.
Le chiffrement est transparent pour les utilisateurs une fois déverrouillé.
Pour automatiser le déverrouillage (par exemple au boot), on peux utiliser keylocation=file:/././….

Déverrouiller un dataset chiffré après reboot

zfs load-key iscsi_poolBKP/Data

Monter manuellement le dataset

zfs mount iscsi_poolBKP/Data

Datastore

Voici comment ajouter un datastore depuis la VM PBS avec la GUI:
En mode CLI depuis le shell:

proxmox-backup-manager datastore create \
  --datastore-id Data \
  --path /iscsi_poolBKP/Data \
  --comment "LUN iSCSI ZFS To Qnap NAS"

contrôle:

proxmox-backup-manager datastore list


Ajout User PbsAdmin

Dans cette étape, nous allons créer un utilisateur dans le PBS dont le rôle sera d’être l’administrateur du serveur de stockage (on évitera ainsi de travailler avec le « root » en production).
Pour cela :

  • Dans le menu de gauche du PBS, cliquez « Configuration » et « Contrôle d’accès »
  • Dans « Gestion des utilisateurs », cliquez sur « Ajouter » :

Nous allons maintenant accorder des permissions à cet utilisateur « PbsAdmin » :

  • Sélectionnez l’utilisateur « PbsAdmin » et cliquez le bouton « Permissions »

  • Nous allons ensuite, “monter” ce datastore dans l'hyperviseur Proxmox.

Ajout du Pool dans PVE

Dans PBS, cliquez sur « Tableau de bord »

  • Cliquez, en haut à droite, sur « Afficher l’empreinte »

L’empreinte s’affiche, copiez-la dans le presse-papier (bouton « Copier » puis « OK »)
Connectez-vous à l’interface de votre hyperviseur Proxmox

  • Dans la vue serveur, cliquez sur le Centre de données Proxmox
  • Dans le volet de droite, cliquez sur « Stockage »
  • Cliquez le bouton « Ajouter »
  • Cliquez sur « Proxmox Backup Server » et complétez la fenêtre selon vos paramètres
  • Coller l'empreinte précédemment copiée

Si vous n'avez qu'un seul serveur, il faudra le sélectionner et faire la même manipulation.


Deamon

Si vous rencontrez des soucis au reboot suivez ceci 8-)

Créer un service qui se lancera au démarrage, afin de monter le LUN et d'importer le Pool ZFS.
Dans un premier temps il va falloir identifier le disk.
Trouver le disk :

systemctl list-units --all --full | grep disk | grep 192.168.0.66 | egrep -v "*part*"
retourne
dev-disk-by\x2dpath-ip\x2d192.xxx.xxx.xxx:3260\x2discsi\x2diqn.2004\x2d04.com.qnap:ts\x2dh973ax:iscsi.target\x2d0.5c3342\x2dlun\x2d1.device          loaded    active   plugged   iSCSI_Storage

Crée un service ZSF en utilisant les infos du disk:

cat << 'EOF' > /etc/systemd/system/zfs-import-iscsi.service
[Unit]
Description=Login iSCSI and Import ZFS Pool
After=network-online.target iscsid.service
Requires=iscsid.service
 
[Service]
Type=oneshot
ExecStart=/usr/bin/iscsiadm -m node -T iqn.2004-04.com.qnap:ts-h973ax:iscsi.target-0.5c3342 -p 192.xxx.xxx.xxx --login
ExecStart=/bin/sleep 5
ExecStart=/usr/sbin/zpool import iscsi_poolBKP
ExecStartPost=/usr/bin/logger "ZFS pool imported after iSCSI login"
 
[Install]
WantedBy=multi-user.target
EOF

Recharger systemd

sudo systemctl daemon-reload

Activer le Service

systemctl enable zfs-import-iscsi

Tester

reboot ou systemctl start zfs-import-iscsi

Maj PBS 4.1.2

Validation de ce tuto, après une migration de PBS 3.4.0 vers 4.1.2


linux/proxmox/pbs/install.txt · Dernière modification : de sylvain

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki