![Как выполнить PXE-загрузку нескольких серверов с одного образа NFS?](https://rvso.com/image/617827/%D0%9A%D0%B0%D0%BA%20%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D1%8C%20PXE-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D1%83%20%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%B8%D1%85%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BE%D0%B2%20%D1%81%20%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%B0%20NFS%3F.png)
Мне нужно загрузить несколько серверов через загрузку PXE. Все они будут запускать один и тот же ramdisk (т. е. "default" в каталоге pxelinux.cfg), а затем все они будут монтировать корневую файловую систему через NFS. Затем они выполняют команду switch_root для этого корневого образа NFS. Я хотел бы сделать этот образ NFS доступным только для чтения и использовать его для всех серверов, но тогда мои серверы будут практически бесполезны, поскольку даже /tmp доступен только для чтения.
Я думаю о том, чтобы оставить /tmp, /home и все остальное, что требует постоянного уникального хранения, вне образа NFS и вместо этого смонтировать их с локальных жестких дисков. Будет ли это работать? Если да, то как мне это сделать в скрипте инициализации?
Как это делается в отрасли? Я уверен, что есть стойки и стойки серверов, которые все должны управляться и обновляться из одного источника. Я не могу быть единственным, кто хочет это сделать, верно? Я хочу, чтобы все «пользовательские» данные, которые являются уникальными для одного сервера, находились на локальных жестких дисках, а все файлы ОС (которые требуют регулярных обновлений и т. д.) поступали из загрузки PXE и образа NFS.
Было бы замечательно получить ссылки на подробную документацию по этому типу администрирования сервера.
решение1
То, что вам нужно, это что-то вродеобъединение файловой системы, где экспорт NFS служит базой только для чтения, а наложение чтения-записи представляет собой дельту. Дельта может храниться в любой другой файловой системе, будь то на диске, USB-накопителе, энергозависимой памяти или записываемом экспорте NFS.
Linux поддерживает несколько реализаций объединенных файловых систем:
Похоже, что в настоящее время предпочтение отдается aufs3.
Linux live CD используют похожую стратегию; вы можете изучить, как работают их скрипты инициализации. Еще лучший пример для изучения —ФАИ, который PXE загружает в корневую файловую систему aufs, состоящую из общего ресурса NFS, доступного только для чтения, и образа tmpfs.