Thursday, November 13th, 2008 | Author: Nico

Il y a quelques temps j’ai essayé de monter des disques iSCSI exportés depuis mes filers opensolaris sur des machines linux. Le problème c’est que lors de la connexion à la target, l’initiator se plantait lamentablement dans un kernel panic de derrière les fagots. Maintenant que lenny est presque là, avec des kernels récents (2.6.26) on peut jouer avec tout ça. Petit résumé & regroupement des informations éparpillées à travers le web. La target sera une machine solaris, et l’initiator une debian dotée d’un kernel 2.6.26-1-amd64.

Sur la machine solaris :

# on vérifie que les packages nécessaires sont là
solaris-devx$ pkginfo |grep iscsi
system      SUNWiscsir                       Sun iSCSI Device Driver (root)
system      SUNWiscsitgtr                    Sun iSCSI Target (Root)
system      SUNWiscsitgtu                    Sun iSCSI Target (Usr)
system      SUNWiscsiu                       Sun iSCSI Management Utilities (usr)

# on active le service iscsi target
solaris-devx# svcadm enable iscsitgt

# configuration du discovery iscsi
solaris-devx# iscsiadm modify discovery --sendtargets enable
solaris-devx# iscsiadm add discovery-address <ip_solaris>

# Création de volumes ZFS à exporter
solaris-devx# zfs create tank/xen
solaris-devx# zfs set shareiscsi=on tank/xen
# volume1 héritera des propriétés de tank/xen et sera directement partagé
solaris-devx# zfs create -s -V 10g tank/xen/volume1
# petite vérification
solaris-devx# iscsiadm list target
Target: iqn.1986-03.com.sun:02:6bc5ce3d-eb83-4055-fe67-d1fd9a7eb7b7
        Alias: tank/xen/volume1
        TPGT: 1
        ISID: 4000002a0000
        Connections: 1

Sur la machine debian :

# on installe open-iscsi
debian-test# apt-get install open-iscsi
# on se logge sur la target
debian-test# iscsiadm -m discovery -t st -p <ip_solaris>
<ip_solaris>:3260,1 iqn.1986-03.com.sun:02:6bc5ce3d-eb83-4055-fe67-d1fd9a7eb7b7
debian-test# iscsiadm  -m node -l -T "iqn.1986-03.com.sun:02:6bc5ce3d-eb83-4055-fe67-d1fd9a7eb7b7"
Logging in to [iface: default, target: iqn.1986-03.com.sun:02:6bc5ce3d-eb83-4055-fe67-d1fd9a7eb7b7, portal: <ip_solaris>,3260]
Login to [iface: default, target: iqn.1986-03.com.sun:02:6bc5ce3d-eb83-4055-fe67-d1fd9a7eb7b7, portal: <ip_solaris>,3260]: successful
# vérification
debian-test# dmesg
[snip]
[58182.163989] sd 3:0:0:0: [sdc] 20971520 512-byte hardware sectors (10737 MB)
[58182.167839] sd 3:0:0:0: [sdc] Write Protect is off
[58182.167867] sd 3:0:0:0: [sdc] Mode Sense: 67 00 00 08
[58182.171977] sd 3:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[58182.175981] sd 3:0:0:0: [sdc] 20971520 512-byte hardware sectors (10737 MB)
[58182.175989] sd 3:0:0:0: [sdc] Write Protect is off
[58182.175989] sd 3:0:0:0: [sdc] Mode Sense: 67 00 00 08
[58182.183974] sd 3:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[58182.183989]  sdc: sdc1
[58182.187989] sd 3:0:0:0: [sdc] Attached SCSI disk

Et voila ! un beau disque tout beau tout chaud ! A noter plusieurs choses : la première c’est qu’on a opéré en live, sans authentification ni rien. iSCSI supporte néanmoins ces features. La seconde c’est que les IQN sont pour le moins “cryptiques”. Il est possible de les renommer pour les rendre humainement compréhensibles.

Sources : benr & wiki debian.

You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

2 Responses

  1. Excellent çà! Question : stabilité de la bête ? Tu as tenté du bon transfert de brute proche du tera ?

  2. Pour le moment mon réseau de test c’est du 100M, je n’ai pas trop de mal à le saturer donc :)

    J’ai monté sans aucun problème une VM xen sur un volume attaché en iSCSI.

    Reste donc à tester les débits, et crash tester sur les I/O avec un bonnie++ ou équivalent.

Leave a Reply