• Configurer une cible iSCSI sur un volume ZFS (avec raidz)

    Nous souhaitons mettre à disposition un volume réseau (via iSCSI) depuis un serveur FreeBSD 13.2

    Avant tout, je vous recommande la lecture de la documentation FreeBSD sur le sujet : (allez en bas)
    Chapter 32. Network Servers | FreeBSD Documentation Portal

    1) Ajouter des supports de stockage au serveur
    (ajoutez des disques, même capacité.. mettons 50Go chacun)
    Nous allons les mettre en raidz2, donc il faut 4 disques.

    2) Démarrer le serveur FreeBSD
    Vérifier que les disques sont bien connectés :

    camcontrol devlist

    (dans notre exemple, da1-4 sont nos disques)

    3) Créer le pool zfs :

    su -
    zpool create storage raidz2 da1 da2 da3 da4

    4) Créer le zvol :
    (84Go est le maximum pour un raidz2 de 4 disques de 50Go.. c'est pas compliqué, si vous tapez trop haut, vous aurez un message d'erreur !)

    zfs create -V 84g  storage/iscsi

    5) Changer le mode de vol :

    echo 'vfs.zfs.vol.mode="2"' >> /boot/loader.conf

    6) Configurer la(les) cible(s) :

    vi /etc/ctl.conf
    # D'abord, on définit 2 groupes d'authentification.
    # - (ag0) : permettra aux initiateurs de pouvoir se connecter au portail
    # - (ag1) : permettra aux initiateurs de se connecter aux cibles du portail
    # Nous utiliserons chap. Les mots de passes doivent faire 12 caractères min.

    auth-group ag0 {
    chap portailaccess "P@ssw0rd64,1412"
    }

    # sur Windows, il est commun d'entrer "l'adresse" de l'initiateur en tant qu'utilisateur
    # mais rien de vous empêche de mettre autre chose.. genre connecttarget1

    auth-group ag1 {
    chap connecttarget1 "AbR6Ertyuiop,"
    chap connecttarget2 "EcP22,49xMvnz"
    }

    # Ensuite, nous allons définir le portail, en précisant que seuls les membres d'ag0 peuvent se connecter
    # Nous allons également restreindre les connections sur une seule interface de notre serveur freebsd.

    portal-group pg0 {
    discovery-auth-group ag0
    listen 10.10.10.11
    }

    # A présent, nous allons définir nos cibles ISCSI.
    # On définit habituellement une cible pour chaque initiateur même si le LUN est le même
    # (... mais vous pouvez ne pas respecter ce principe)
    # Le LUN est le volume zfs (zvol) que nous avons créé plus haut
    # Attention à ne pas faire n'importe quoi avec l'adresse des cibles.
    # Remplacez "truc", "domaine" et "vm" uniquement, le reste est standard ! target iqn.2012-06.truc.domaine.vm:target1 { auth-group ag1 portal-group pg0 lun 0 { path /dev/zvol/storage/iscsi # size 50g # vous n'êtes pas obligés de fixer la taille } } target iqn.2012-06.truc.domaine.vm:target2 { auth-group ag1 portal-group pg0 lun 0 { path /dev/zvol/storage/iscsi # size 50g # vous n'êtes pas obligés de fixer la taille } }

    7) Permettre le lancement de ctld au démarrage :

    sysrc ctld_enable=YES

    8) Démarrer votre cible

    service ctld start

    Si vous décidez d'effectuer des modifications ultérieures dans la configuration (/etc/ctl.conf), ne relancez surtout pas le service ctld, rechargez simplement sa configuration :

    service ctld reload

    9) Vous pouvez à présent vous connecter à vos initiateurs et ... initier !
    - Si vous utilisez des serveurs windows en tant qu'initiateurs, vous devez lancer l'initiateur iSCSI, aller dans l'onglet "Découverte", "Découvrir un portail...", Entrez l'IP du serveur FreeBSD (10.10.10.11) puis cliquer sur "Avancé", cocher "Activer l'ouverture de session CHAP" et entrer les identifiants pour l'utilisateur portailaccess)
    - Puis, de retour sur l'onglet "Cibles", vos cibles sont apparues. Pour vous connecter à l'une d'elles, sélectionner la cible voulue, cliquer sur "Connexion".. et rebelotte avec "Avancé", en mettant cette fois-ci l'identifiant connecttarget correspondant.


    Tags Tags : , , , , , ,
  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :