0

proxmox : ajout d’un stockage ZFS via ISCSI

Un mémo sur comment ajouter un stockage ZFS à partir d’une baie ISCSI sur un clusters Proxmox afin de faire de la réplication.

Ma configuration actuelle est basée sur un cluster HA de 3 noeuds Proxmox, cependant je souhaite activer la fonction shadows copy sur mes serveurs de fichiers sous Samba et pour ce faire il me faut obligatoirement un stockage de type ZFS.

De par sa conception, le stockage ZFS ne peut pas être partagé vers les noeuds membre du cluster et impossible de faire de la haute disponibilité, par exemple. Du coup, je vais mixer de la HA pour les VMs applicatives hébergées sur le Ceph et de la réplication sur mes VMs Samba hébergées sur la baie ISCSI.

Configuration de la baie ISCSI

  • baie ISCSI :
    • 2 LUNs de taille identique:
      • LUN0 : data01
      • LUN1 : data02
    • 2 cartes fibre sur 2 réseaux différents :
      • IP A0 : 172.1.100.128
      • IP B1 : 172.2.201.129
  • Proxmox : Installation et configuration de l’initiateur ISCSI

  • Installer les paquets open-iscsi et multipath-tools et les deux noeuds :
  • apt update && apt install open-iscsi multipath-tools -y
  • Modification du fichier de configuration du service open-iscsi :
    nano /etc/iscsi/iscsid.conf
    • Démarrage automatique des connexion iSCSI :
    • node.startup = automatic

    • Passer le Time out de 120 secondes à 15 secondes :
    • node.session.timeo.replacement_timeout = 15

  • Redémarrer le service open-iscsi :
  • systemctl restart open-iscsi
  • Faire une découverte réseau de la baie iSCSI :
  • iscsiadm -m discovery -t st -p 172.1.100.128
    172.1.100.128:3260,1 iqn.1988-11.com.dell:01.array.bc305bf23511
    172.2.201.129:3260,4 iqn.1988-11.com.dell:01.array.bc305bf23511
    
  • Se loguer sur la baie via les deux interfaces réseaux :
  • iscsiadm -m node --targetname "iqn.1988-11.com.dell:01.array.bc305bf23511" --portal "172.2.201.129:3260" --login
    iscsiadm -m node --targetname "iqn.1988-11.com.dell:01.array.bc305bf23511" --portal "172.1.100.128:3260" --login
  • Vérification de la connection :
  • iscsiadm -m node
    172.1.100.128:3260,1 iqn.1988-11.com.dell:01.array.bc305bf23511
    172.2.201.129:3260,4 iqn.1988-11.com.dell:01.array.bc305bf23511
    
  • Lister les périphériques ISCSI :
  • lsscsi
    [15:0:0:0]   disk    DellEMC  ME4              G280  /dev/sdp 
    [15:0:0:1]   disk    DellEMC  ME4              G280  /dev/sdq 
    [16:0:0:0]   disk    DellEMC  ME4              G280  /dev/sdr 
    [16:0:0:1]   disk    DellEMC  ME4              G280  /dev/sds
    
  • Identifier le wwid :
  • /lib/udev/scsi_id -g -d /dev/sdp

    3600c0ff00065356e4df94f6201000000

    /lib/udev/scsi_id -g -d /dev/sdp

    3600c0ff00065356e4ef94f6201000000

  • Configuration du multipath :
  • nano /etc/multipath.conf
    defaults {
            polling_interval        2
            path_selector           "round-robin 0"
            path_grouping_policy    multibus
            uid_attribute           ID_SERIAL
            rr_min_io               100
            failback                immediate
            no_path_retry           queue
            user_friendly_names     yes
    }
    blacklist {
            wwid .*
    }
    blacklist_exceptions {
            wwid "3600c0ff00065356e4df94f6201000000"
            wwid "3600c0ff00065356e4ef94f6201000000"
    }
    devices {
            device {
                    vendor                  "DELLEMC"
                    product                 "ME4"
                    path_grouping_policy    group_by_prio
                    prio                    rdac
                    path_checker            rdac
                    path_selector           "round-robin 0"
                    hardware_handler        "1 rdac"
                    failback                immediate
                    features                "2 pg_init_retries 50"
                    no_path_retry           30
                    rr_min_io               100
            }
    }
    multipaths {
      multipath {
            wwid "3600c0ff00065356e4df94f6201000000"
            alias data01-iscsi
      }
      multipath {
            wwid "3600c0ff00065356e4ef94f6201000000"
            alias data02-iscsi
      }
    }
    
  • Le wwid doit être également ajouté dans /etc/multipath/wwids :
  • multipath -a 3600c0ff00065356e4df94f6201000000
    multipath -a 3600c0ff00065356e4ef94f6201000000
  • Redémarrer le service multipath-tools :
  • systemctl restart multipath-tools
  • Vérifier la prise en compte de la cible iSCSI :
  • multipath -ll
    data01-iscsi (3600c0ff00065356e4df94f6201000000) dm-20 DellEMC,ME4
    size=12T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
    `-+- policy='round-robin 0' prio=30 status=active
      |- 15:0:0:0 sdp 8:240 active ready running
      `- 16:0:0:0 sdr 65:16 active ready running
    data02-iscsi (3600c0ff00065356e4ef94f6201000000) dm-21 DellEMC,ME4
    size=12T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
    `-+- policy='round-robin 0' prio=30 status=active
      |- 15:0:0:1 sdq 65:0  active ready running
      `- 16:0:0:1 sds 65:32 active ready running
    

Proxmox : création des 2 volumes LVM data01 et data02

  • Sur le noeud 1 :
    • Création du stockage LVM data01-iscsi :
      pvcreate /dev/mapper/data01-iscsi
      vgcreate vg_data01 /dev/mapper/data01-iscsi
  • Sur le noeud 2 :
    • Création du stockage LVM data02-iscsi :
      pvcreate /dev/mapper/data02-iscsi
      vgcreate vg_data02 /dev/mapper/data02-iscsi

proxmox : création du pool ZFS

Attention, il faut impérativement le même nom du pool sur les 2 noeuds Proxmox.

  • Sur le noeud 1 :
  • zpool create -f -o ashift=12 zfs-pool /dev/mapper/data01-iscsi
  • Sur le noeud 2 :
  • zpool create -f -o ashift=12 zfs-pool /dev/mapper/data02-iscsi

Ajout du stockage ZFS sur les proxmox

  • Datacenter -> Storage -> Add -> ZFS :
  • Renseigner les champs (ne pas oublier de cocher la case « Thin provision« ) :
  • Stockage ZFS ajouté :
  • Vue du cluster :
    • Le stockage ZFS actif seulement sur pve01 et pve02 :

Partager l'article :





fred

"Dire que l'on s'en fiche du droit à la vie privée sous prétexte qu'on a rien à cacher, c'est comme déclarer que l'on se fiche du droit à la liberté d'expression sous prétexte qu'on a rien à dire." Edward Snowden

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.