Il problema
Su CentOS/RHEL 7, tutti i volumi del filesystem non vengono montati nell'ordine delle voci /etc/fstab.
La soluzione
A differenza di CentOS/RHEL 6 e versioni precedenti, su CentOS/RHEL 7 il processo di avvio è più veloce. A causa della natura parallela dell'avvio del processo, gli ordini di avvio delle unità target specifiche non sono deterministici. Tutti i filesystem sono un'unità systemd, quindi il loro ordine per il montaggio non è più quello della voce /etc/fstab.
I filesystem sono "unità di sistema " genere. Più precisamente sono un'unità di tipo “mount “. Quando i nomi del filesystem vengono forniti in /etc/fstab, il sistema converte queste voci in tipi di unità dinamici di "montaggio".
Montaggio dei filesystem in ordine
Per montare i filesystem in ordine, crea l'unità di montaggio e inseriscili in /etc/systemd/system/ . I tipi di unità di montaggio creati dinamicamente si trovano in /run/systemd/generator/ Posizione. Copia i file dell'unità nella directory /run/systemd/generator/ da utilizzare come modello per quelli statici. Dopo aver creato il file dell'unità di montaggio, copiare il file nella posizione /etc/systemd/system/. Di seguito sono riportati alcuni esempi di impostazione dell'ordine di montaggio nei sistemi CentOS/RHEL 7:
Nome file:/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
Il "Richiede L'opzione ” significa che questo filesystem non verrà montato a meno che non esistano i filesystem /boot e /tmp. Il "Dopo L'opzione ” significa che il filesystem /test/data1 sarà montato solo dopo che i filesystem /boot e /tmp saranno stati montati.
Ora guarda /test/data1/data2 file dell'unità del filesystem.
Nome file:/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
Fare riferimento a systemd.mount pagina man.
# 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."
L'unità test-data1.mount viene configurata e montata per prima, l'unità test-data1-data2.mount verrà sempre montata in seguito. Sebbene l'ordine /etc/fstab sia considerato qui nella sequenza di avvio. È considerato dal comando manuale "mount" come i passaggi precedenti.