Короткий ответ - категорическое «Нет». Другие сказали это выше.
Те, кто сказал «да», ответили не на вопрос, а на другой вопрос. Если EFS - это просто служба NFS, то это не является ответом на вопрос, который был изначально заявлен. И не имеет значения, развернута ли EFS во всех зонах или нет, потому что вы вполне можете создать свой собственный экземпляр NFS и иметь несколько серверов, монтирующих NFS. В этом нет ничего нового, мы сделали это уже в 1992 году. SMB и sshfs - все это просто способы монтировать диски в качестве удаленной файловой системы.
Те, кто сказал «зачем вам это делать» или «все кончится слезами», ошибаются. Мы монтируем несколько дисков на несколько серверов десятилетиями. Если вы когда-либо работали с SAN (Storage Area Network), возможность подключать одно и то же устройство к нескольким узлам, как правило, через FibreChannel SAN, вполне нормальная. Так что любой, кто запускал серверы десять лет назад до того, как серверы виртуализации / облачных вычислений стали вездесущими, имеет некоторое отношение к этому.
Вскоре появились кластерные файловые системы, в которых две системы могли читать и писать в один и тот же том. Я полагаю, что это началось со времен VAX и Alpha VMS в истории. Кластерные файловые системы используют распределенную схему взаимного исключения, чтобы иметь возможность напрямую манипулировать блоками.
Преимущество монтирования одного и того же диска на нескольких узлах заключается в скорости и уменьшении количества возможных сбоев.
Теперь кластерные файловые системы не стали очень популярными в «потребительском» хостинг-бизнесе, это правда. И они сложны и имеют некоторые подводные камни. Но вам даже не нужна кластерная файловая система, чтобы использовать диск, подключенный к нескольким вычислительным узлам. Что делать, если вы хотите диск только для чтения? Вам даже не нужна кластерная файловая система! Вы просто помещаете в свой / etc / fstab то же физическое устройство, что и для чтения (ro). Затем вы подключаете к 2 или 10 серверам EC2, и все они могут читать напрямую с этого устройства!
Существует очевидный пример использования этого в мире облачных серверов при создании быстро масштабируемых ферм. Вы можете подготовить основной системный диск и использовать очень маленький загрузочный и конфигурационный диск для каждого из серверов. Вы можете даже загрузить их все с одного загрузочного диска, и прямо перед перемонтированием / в режиме чтения-записи вы можете вставить Union-FS с 3 слоями:
- Основной системный диск только для чтения, с загрузкой, ядром и пользовательским пространством
установка
- Файловая система конфигурации с несколькими файлами
(в основном в / etc), специфичные для отдельного сервера. это
диск может быть записан другим сервером для подготовки к загрузке
новый экземпляр. Примеры файлов здесь будут / etc / hostname и просто
очень мало файлов конфигурации, которые должны оставаться разными для каждого узла.
- Записываемый диск, который вам может вообще не понадобиться, может быть просто
/ tmp как файловая система памяти.
Итак, да, вопрос имеет большой смысл, и, к сожалению, ответ (все еще) "Нет". И никакая NFS не является отличной заменой для этого варианта использования, так как она ограничивает всю активность чтения с системного диска. Однако загрузка по сети с системного диска NFS является единственной альтернативой реализации сценария использования, который я описал выше. К сожалению, поскольку настроить агент сетевой загрузки и NFS намного сложнее, чем просто получить доступ к одному и тому же физическому блочному устройству.
PS: Я хотел бы представить более короткую версию этого в качестве комментариев, но я не могу из-за глупого порога в 51 кредитный балл, поэтому я должен написать ответ с тем же самым существенным «Нет», но включить мою точку зрения почему это актуальный вопрос, который не получил заслуженного ответа.
PPS: Я только что нашел кого-то в StackExchange, кто упомянул iSCSI. iSCSI чем-то похож на NFS, но логически похож на FibreChannel SAN. Вы получаете доступ (и делитесь) физическими блочными устройствами. Это облегчило бы совместное использование загрузочного диска, поэтому вам не нужно настраивать загрузку по сети, что может быть сложно. Но на AWS загрузка по сети также невозможна.