Configuration du noyau
Activez les options suivantes dans la configuration du noyau et
recompilez le noyau :
Note
Il y a d'autres options de mappage de périphérique dans le noyau
après celles listées en dessous. Afin d'avoir des résultats
raisonnables si les tests de régression sont lancés, tous doivent
être activé soit en interne, soit en module. Les tests vont tous
expirer si Magic SysRq key n'est pas activé.
Device Drivers --->
[*] Multiple devices driver support (RAID and LVM) ---> [CONFIG_MD]
<*/M> Device mapper support [CONFIG_BLK_DEV_DM]
<*/M> Crypt target support [CONFIG_DM_CRYPT]
<*/M> Snapshot target [CONFIG_DM_SNAPSHOT]
<*/M> Thin provisioning target [CONFIG_DM_THIN_PROVISIONING]
<*/M> Cache target (EXPERIMENTAL) [CONFIG_DM_CACHE]
<*/M> Mirror target [CONFIG_DM_MIRROR]
<*/M> Zero target [CONFIG_DM_ZERO]
<*/M> I/O delaying target [CONFIG_DM_DELAY]
[*] Block devices --->
<*/M> RAM block device support [CONFIG_BLK_DEV_RAM]
Kernel hacking --->
Generic Kernel Debugging Instruments --->
[*] Magic SysRq key [CONFIG_MAGIC_SYSRQ]
Installation de LVM2
Installez LVM2 en exécutant les
commandes suivantes :
PATH+=:/usr/sbin \
./configure --prefix=/usr \
--enable-cmdlib \
--enable-pkgconfig \
--enable-udev_sync &&
make
Les tests utilisent udev pour la
synchronisation des volumes logiques, de sorte que les règles LVM
de udev et que quelques utilitaires doivent être installés avant de
lancer les tests. Si vous installez LVM2 pour la première fois, et que vous ne
souhaitez pas installer le paquet complet avant de lancer les
tests, vous pouvez installer l'ensemble minimal d'utilitaires en
lançant les commandes suivantes en tant que root
:
make -C tools install_tools_dynamic &&
make -C udev install &&
make -C libdm install
Pour tester les résultats, lancez, en tant qu'utilisateur
root
:
LC_ALL=en_US.UTF-8 make S=lvconvert-repair-replace check_local
L'option S=… permet
de passer les tests. Le test lvconnvert-repair-replace a été
rapporté comme bloquant l'ordinateur. D'autres cibles sont
disponibles et peuvent être énumérées avec make -C test help. Le temps de
test est très dépendant de la vitesse des disques, et du nombre
d'options activées dans le noyau.
Ces tests n'implémentent pas la possibilité « expected
fail » (échec prévu), et un petit nombre
d'échecs est prévu en amont. Plus d'échecs peuvent apparaître
lorsque manquent certaines options du noyau. Par exemple, l'absence
de la cible du device mapper dm-delay explique quelques erreurs.
Certains tests peuvent échouer s'il n'y a pas assez de place
disponible sur la partition qui contient le répertoire /tmp. Au
moins un test échoue si 16 To ne sont pas disponibles. Certains
tests sont indiqués « warned » si thin-provisioning-tools
n'est pas installé. Vous pouvez le contourner en ajoutant les
options suivantes à configure :
--with-thin-check= \
--with-thin-dump= \
--with-thin-repair= \
--with-thin-restore= \
--with-cache-check= \
--with-cache-dump= \
--with-cache-repair= \
--with-cache-restore= \
Certains tests peuvent bloquer. Ils peuvent être supprimés si
nécessaire, par exemple : rm
test/shell/lvconvert-raid-reshape.sh. Les tests
génèrent beaucoup de messages noyau, ce qui peut encombrer votre
terminal. Vous pouvez les désactiver avec dmesg -D avant de lancer les
tests (n'oubliez pas de lancer dmesg
-E lorsque les tests sont finis).
Note
Les tests créez des nœuds de périphériques dans le répertoire
/tmp. Les tests échoueront si /tmp est monté avec l'option nodev.
Maintenant, en tant qu'utilisateur root
:
make install
rm /usr/lib/udev/rules.d/69-dm-lvm.rules
Explication des commandes
PATH+=:/usr/sbin : le PATH
doit contenir /usr/sbin
pour la
détection correcte des outils système par le script configure. Cette instruction
assure que PATH est correctement initialisé si vous construisez
avec un utilisateur non privilégié.
--enable-cmdlib
: Ce
paramètre construit la bibliothèque de commande partagée. Elle est
nécessaire lors de la construction du démon d'événements.
--enable-pkgconfig
:
Ce paramètre installe le support de pkg-config.
--enable-udev_sync
:
Ce paramètre active la synchronisation avec Udev.
--enable-dmeventd
: Cette option
construit le démon d'événement Device
Mapper.
rm
.../69-dm-lvm.rules : sous certaines
circonstances, cette règle udev appelle systemd-run, qui n'est pes
disponible avec sysv. Elle effectue des actions qui sont de toute
façon effectuées par au autre script de démarrage, donc elle n'est
pas requise.