Debian logo [inetdoc.LiNUX]

A. Configuration du système target sans service DKMS

Dans cette annexe, on prépare un système auquel on a attribué le rôle target. Les opérations présentées ici ne font pas appel au service DKMS (Dynamic Kernel Module Support) qui doit être disponible avec les distributions GNU/Linux récentes. Le contenu de cette annexe devrait donc devenir obsolète.

La préparation comprend deux étapes : la construction et l'installation d'un paquet contenant le module de la partie KernelSpace du service et la configuration des outils de la partie UserSpace pour lancer le démon ietd.

1.

Quels sont les paquets de la distribution Debian GNU/Linux qui permettent de configurer un système avec le rôle target ?

En effectuant une recherche simple dans le catalogue des paquets disponibles, on obtient la liste des paquets dont le nom contient la chaîne de caractères iscsi.

$ aptitude search iscsi
p   iscsitarget         - iSCSI Enterprise Target userland tools
p   iscsitarget-source  - iSCSI Enterprise Target kernel module source
p   open-iscsi          - High performance, transport independent iSCSI implementation

On remarque que le paquet iscsitarget-source contient le code source du module qui doit être chargé en mémoire pour faire fonctionner le service. Ce module doit être compilé en fonction de la version du noyau actif sur le système. Il faut donc installer de tous les outils de la chaîne de développement nécessaires. Heureusement, la distribution Debian fournit un outil générique dédié à la construction de paquets de modules : Module-Assistant.

$ aptitude search module-assistant
i   module-assistant    - tool to make module package creation easier

2.

Quelle est la commande d'installation des paquets nécessaires à la compilation des modules et à la configuration du rôle target ?

# aptitude install iscsitarget iscsitarget-source module-assistant

3.

Quelles sont les instructions de l'outil module-assistant qui permettent de préparer la compilation des modules et la mise à jour de la base des paquets ?

# m-a prepare -t
Récupération des sources du noyau de la version : 2.6.32-3-amd64
apt-get install linux-headers-2.6.32-3-amd64
# m-a update -t

4.

Quelle est la syntaxe de construction du paquet des modules iscsitarget ?

La commande de construction du paquet contenant le module est la suivante :

# m-a a-i iscsitarget -t

5.

Comment installer le paquet construit avec l'outil module-assistant ?

Les paquets construits avec l'outil module-assistant sont toujours placé à la racine de l'arborescence des sources du noyau Linux ; soit le répertoire /usr/src.

# ls -goAh /usr/src/
total 100K
-rw-r--r-- 1  43K avril 28 20:49 iscsitarget-module-2.6.32-3-amd64_0.4.17+svn229-1.4+2.6.32-9_amd64.deb
-rw-r--r-- 1 3,7K avril 28 20:44 iscsi-target.patch
-rw-r--r-- 1  38K févr. 16 11:37 iscsitarget.tar.bz2
lrwxrwxrwx 1   37 avril 28 20:36 linux -> /usr/src/linux-headers-2.6.32-3-amd64
drwxr-xr-x 4 4,0K avril 28 20:29 linux-headers-2.6.32-3-amd64
drwxr-xr-x 4 4,0K avril 28 20:29 linux-headers-2.6.32-3-common
lrwxrwxrwx 1   26 avril 28 20:29 linux-kbuild-2.6.32 -> ../lib/linux-kbuild-2.6.32
lrwxrwxrwx 1   28 avril 28 20:30 linux-OLDVERSION.1272479765 -> linux-headers-2.6.32-3-amd64
drwxr-xr-x 3 4,0K févr. 16 11:37 modules

Comme il s'agit d'un paquet local au système, il s'installe à l'aide de la commande dpkg.

# dpkg -i iscsitarget-module-2.6.32-3-amd64_0.4.17+svn229-1.4+2.6.32-9_amd64.deb

On peut donc faire le bilan des paquets iSCSI installés sur le système ayant le rôle target.

# aptitude search ~iiscsi
i   iscsitarget                        - iSCSI Enterprise Target userland tools
i   iscsitarget-module-2.6.32-3-amd64  - iSCSI Enterprise Target module for Linux (kernel 2.6.32-3-amd64)
i   iscsitarget-source                 - iSCSI Enterprise Target kernel module source