ZFS+iSCSI+(open)solaris+debian
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 :
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 :
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.