Table des matières
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
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
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

