Короткий ответ - категорическое «Нет». Другие сказали это выше.
Те, кто сказал «да», ответили не на вопрос, а на другой. Если 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 загрузка по сети также недоступна.