Problém
Na CentOS/RHEL 7 se žádné svazky souborového systému nepřipojují v pořadí podle položek /etc/fstab.
Řešení
Na rozdíl od CentOS/RHEL 6 a dřívějších verzí je na CentOS/RHEL 7 proces spouštění rychlejší. Vzhledem k paralelní povaze spouštění procesu nejsou objednávky spouštění konkrétních cílových jednotek deterministické. Všechny souborové systémy jsou systémovou jednotkou, takže jejich pořadí pro připojení již neodpovídá záznamu /etc/fstab.
Souborové systémy jsou systémovou „jednotkou “typ. Konkrétně se jedná o jednotku typu „mount “. Když jsou názvy souborových systémů uvedeny v /etc/fstab, systém tyto položky převede na typy dynamických jednotek „připojení“.
Připojování souborových systémů v pořadí
Chcete-li připojit souborové systémy v pořadí, vytvořte připojovací jednotku a umístěte je do /etc/systemd/system/ . Dynamicky vytvářené typy připojovacích jednotek jsou v /run/systemd/generator/ umístění. Zkopírujte soubory jednotek do adresáře /run/systemd/generator/ a použijte je jako šablonu pro statické. Po vytvoření souboru jednotky připojení zkopírujte soubor do umístění /etc/systemd/system/. Níže jsou uvedeny některé příklady nastavení pořadí připojení v systémech CentOS/RHEL 7:
Název souboru:/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
„Vyžaduje ” znamená, že tento souborový systém nebude připojen, pokud nebudou existovat souborové systémy /boot a /tmp. „Po ” znamená, že souborový systém /test/data1 bude připojen až po připojení souborových systémů /boot a /tmp.
Nyní se podívejte na /test/data1/data2 soubor jednotky souborového systému.
Název souboru:/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
Viz systemd.mount manuálová stránka.
# 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."
Jednotka test-data1.mount se nakonfiguruje a namontuje jako první, jednotka test-data1-data2.mount bude vždy namontována až poté. I když pořadí /etc/fstab je zde v zaváděcí sekvenci zohledněno. Ruční příkaz „mount“ to považuje za výše uvedené kroky.