Le problème
Sur CentOS/RHEL 7, tous les volumes de système de fichiers ne sont pas montés dans l'ordre conformément aux entrées /etc/fstab.
La solution
Contrairement à CentOS/RHEL 6 et aux versions antérieures, sur CentOS/RHEL 7, le processus de démarrage est plus rapide. En raison de la nature parallèle du démarrage du processus, les ordres de démarrage des unités cibles spécifiques ne sont pas déterministes. Tous les systèmes de fichiers sont une unité systemd, donc leur ordre de montage n'est plus conforme à l'entrée /etc/fstab.
Les systèmes de fichiers sont des "unités du système " taper. Plus précisément, il s'agit d'une unité de type "mount “. Lorsque les noms de système de fichiers sont donnés dans /etc/fstab, le système convertira ces entrées en types d'unités de "montage" dynamiques.
Monter les systèmes de fichiers dans l'ordre
Pour monter les systèmes de fichiers dans l'ordre, créez l'unité de montage et placez-les dans /etc/systemd/system/ . Les types d'unités de montage créés dynamiquement se trouvent dans /run/systemd/generator/ emplacement. Copiez les fichiers d'unité dans le répertoire /run/systemd/generator/ à utiliser comme modèle pour les fichiers statiques. Après avoir créé le fichier d'unité de montage, copiez le fichier à l'emplacement /etc/systemd/system/. Vous trouverez ci-dessous quelques exemples de définition de l'ordre de montage dans les systèmes CentOS/RHEL 7 :
Nom de fichier :/etc/systemd/system/test-data1.mount
# cat /etc/systemd/system/test-data1.mount [Unit] Description=My test mount Requires=boot.mount tmp.mount After=boot.mount tmp.mount [Mount] What=/dev/datavg/data1lv Where=/test/data1 Type=xfs [Install] WantedBy=multi-user.target
Le "Nécessite ” signifie que ce système de fichiers ne sera monté que si les systèmes de fichiers /boot et /tmp existent. Le "Après ” signifie que le système de fichiers /test/data1 ne sera monté qu'après le montage des systèmes de fichiers /boot et /tmp.
Regardez maintenant le /test/data1/data2 fichier d'unité de système de fichiers.
Nom de fichier :/etc/systemd/system/test-data1-data2.mount
# cat /etc/systemd/system/test-data1-data2.mount [Unit] Description=My test mount 2 [Mount] What=/dev/datavg/data2lv Where=/test/data1/data2 Type=xfs [Install] WantedBy=multi-user.target
Veuillez vous référer à systemd.mount page de manuel.
# man systemd.mount "If a mount point is beneath another mount point in the file system hierarchy, a dependency between both units is created automatically."
test-data1.mount est configurée et montée en premier, l'unité test-data1-data2.mount sera toujours montée ensuite. Bien que l'ordre /etc/fstab soit pris en compte ici dans la séquence de démarrage. Il est considéré par la commande manuelle "monter" comme les étapes ci-dessus.