5.2. Déplacer les systèmes de fichiers racine d'un périphérique single-path à un périphérique multipath
Si vous avez installé le système sur un périphérique single-path et que vous avez ajouté un autre chemin ultérieurement vers le système de fichiers racine, vous devrez déplacer le système de fichiers racine sur un périphérique multipath. Cette section documente la procédure pour le déplacement d'un périphérique single-path à un périphérique multipath.
Après vous être assuré de bien avoir installé le paquetage
device-mapper-multipath
, effectuez la procédure suivante :
- Exécutez la commande suivante pour créer le fichier de configuration
/etc/multipath.conf
, charger le module multipath et paramétrerchkconfig
pourmultipathd
suron
:#
mpathconf --enable
Pour obtenir plus d'informations sur l'utilisation de la commandempathconf
pour paramétrer le multipathing, voir la Section 3.1, « Configuration de DM-Multipath ». - Modifiez les sections
blacklist
etblacklist_exceptions
du fichier/etc/multipath.conf
, comme décrit dans la Section 4.2, « Liste noire du fichier de configuration ». - Pour confirmer que votre fichier de configuration est correctement paramétré, vous pouvez exécuter la commande
/sbin/multipath
avec l'option-v3
pour vérifier si le démon multipath a bien tenté de créer un périphérique multipath sur le périphérique racine. La commande échouera puisque le périphérique racine est en cours d'utilisation, mais la sortie de la commande devrait afficher le périphérique racine en premier dans la liste des chemins.Cherchez une ligne sous le format suivant dans la sortie de la commande :WWID H:B:T:L devname MAJOR:MINOR
Par exemple, si le système de fichiers racine est installé sursda
ou l'une de ses partitions, vous devriez apercevoir une ligne dans la sortie qui ressemble à la suivante :===== paths list ===== ... 1ATA WDC WD800JD-75MSA3 WD-WMAM9F 1:0:0:0 sda 8:0 ...
Plus loin dans la sortie, vous devriez voir le périphérique racine assigné à un périphérique multipath :time | devname: ownership set to mpathdev
Par exemple, la sortie pourrait apparaître comme suit :Jun 14 06:48:21 | sda: ownership set to mpatha
Vous apercevrez aussi que la commande a échoué à créer le périphérique multipath avec une ligne sous le format suivant :time | mpathdev: domap (0) failure for create/reload map
Dans l'exemple noté ci-dessus, vous pouvez apercevoir la ligne suivante dans la sortie de la commande :Jun 14 06:48:21 | mpatha: domap (0) failure for create/reload map
- Pour reconstruire le système de fichiers
initramfs
avecmultipath
, veuillez exécuter la commandedracut
avec les options suivantes :#
dracut --force --add multipath --include /etc/multipath /etc/multipath
- Si le périphérique racine n'est pas un volume LVM et qu'il est monté par nom de périphérique, vous devrez sans doute modifier le fichier
fstab
afin de basculer sur le nom de périphérique multipath approprié. Si le périphérique racine est un périphérique LVM ou s'il est monté par UUID ou d'une autre manière, cette étape ne sera pas nécessaire.- Utilisez la procédure décrite dans l'étape 3 de l'exécution de la commande
/sbin/multipath
avec-v3
pour déterminer le WWID du périphérique racine. - Configurez un alias pour le périphérique racine dans le fichier
/etc/multipath.conf
:multipaths { multipath { wwid WWID_of_root_device alias rootdev } }
- Modifiez
/etc/fstab
et remplacez l'ancien chemin du périphérique vers le périphérique racine par le périphérique multipath.Par exemple, si l'entrée suivante se trouvait dans le fichier/etc/fstab
:/dev/sda1 / ext4 defaults 1 1
Vous devriez modifier l'entrée comme suit :/dev/mapper/rootdev / ext4 defaults 1 1
Si vous avez besoin de modifier le fichier/etc/fstab
, vous devrez aussi modifier le fichier/etc/grub/grub.conf
et changer le paramètre racine deroot=/dev/sda1
àroot=/dev/mapper/rootdev
.L'exemple suivant affiche ce à quoi l'entrée du fichiergrub.conf
aurait ressemblé avant que vous ne la modifiez.title Red Hat Enterprise Linux FoundationServer (2.6.32-71.24.1.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-71.24.1.el6.x86_64 ro root=/dev/sda1 rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us console=ttyS0,115200n8 crashkernel=auto initrd /initramfs-2.6.32-71.24.1.el6.x86_64.img
L'exemple suivant affiche ce à quoi l'entrée du fichiergrub.conf
aurait ressemblé après l'avoir modifié.title Red Hat Enterprise Linux FoundationServer (2.6.32-71.24.1.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-71.24.1.el6.x86_64 ro root=/dev/mapper/rootdev rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us console=ttyS0,115200n8 crashkernel=auto initrd /initramfs-2.6.32-71.24.1.el6.x86_64.img
- Éteignez la machine.
- Configurez le commutateur FC de manière à ce que les autres chemins puissent être visibles à la machine.
- Démarrez la machine.
- Vérifiez que le système de fichiers racine ('/') se trouve bien sur le périphérique multipath.