#amazon-web-services #amazon-ec2
#amazon-веб-сервисы #amazon-ec2
Вопрос:
Я предоставляю общий доступ к тому AWS a нескольким экземплярам EC2 (экземпляру A и экземпляру B).
[Экземпляр A]
root@ip-xxx-xx-59-75:/data# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 8065444 2405580 5643480 30% /
devtmpfs 1986800 0 1986800 0% /dev
tmpfs 1990908 8 1990900 1% /dev/shm
tmpfs 398184 820 397364 1% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 1990908 0 1990908 0% /sys/fs/c&roup
/dev/nvme1n1 102687672 61468 97366940 1% /data <----- Same Volume
/dev/loop1 99328 99328 0 100% /snap/core/9665
/dev/loop0 28800 28800 0 100% /snap/amazon-ssm-a&ent/2012
/dev/loop2 56320 56320 0 100% /snap/core18/1880
/dev/loop3 56704 56704 0 100% /snap/core18/1885
/dev/loop4 73088 73088 0 100% /snap/lxd/16100
/dev/loop5 73216 73216 0 100% /snap/lxd/16530
tmpfs 398180 0 398180 0% /run/user/1001
tmpfs 398180 0 398180 0% /run/user/1000
[Экземпляр B]
root@ip-xxx-xx-54-217:/home/ubuntu# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 8065444 2368588 5680472 30% /
devtmpfs 1986800 0 1986800 0% /dev
tmpfs 1990908 8 1990900 1% /dev/shm
tmpfs 398184 828 397356 1% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 1990908 0 1990908 0% /sys/fs/c&roup
/dev/nvme1n1 102687672 61468 97366940 1% /data <----- Same Volume
/dev/loop0 28800 28800 0 100% /snap/amazon-ssm-a&ent/2012
/dev/loop1 99328 99328 0 100% /snap/core/9665
/dev/loop2 56320 56320 0 100% /snap/core18/1880
/dev/loop3 56704 56704 0 100% /snap/core18/1885
/dev/loop4 73088 73088 0 100% /snap/lxd/16100
/dev/loop5 73216 73216 0 100% /snap/lxd/16530
tmpfs 398180 0 398180 0% /run/user/1001
tmpfs 398180 0 398180 0% /run/user/1000
Оба экземпляра используют один и тот же том.
Я создал файл (test.html) в экземпляре A. Но я не смог увидеть один и тот же экземпляр файла B.
Если я перезагружу экземпляр B, то смогу увидеть test.html.
Есть ли какой-либо способ мгновенного предоставления доступа к одним и тем же файлам нескольким экземплярам одновременно (экземплярам A и B) без перезагрузки?
Комментарии:
1. Интересно, кэшировалось ли что-то операционной системой? Пытались ли вы получить доступ к файлу по имени, даже если его не было в списке?
2. Работа стандартных файловых систем на томах EBS с несколькими подключениями не поддерживается конфигурацией. Какая файловая система находится на этом томе?
3. Я использовал «ext4», но я не уверен, что это правильное решение. Я не вижу разницы. Должен ли я использовать другую файловую систему? Спасибо.
4. @Michael-sqlbot
5. просто используйте aws EFS
Ответ №1:
Вам понадобится файловая система / приложение, поддерживающее множественное подключение. Например, Oracle RAC может использовать такие тома, в то время как обычные файловые системы, такие как ext4 или xfs, не могут. Они предназначены для монтирования только на одном хосте.
Давайте вернемся назад — чего вы пытаетесь достичь? Я полагаю, что вы предоставляете общий доступ к файлам между экземплярами? Лучше всего использовать EFS (эластичная файловая система) — облачный сервис NFS AWS. Если у вас нет особой потребности в EBS с несколькими подключениями и вы не используете какое-то особенное приложение, которое может это использовать, я предлагаю вам вместо этого изучить способ EFS. Необходимость в дисках с несколькими подключениями возникает редко как в облаке, так и за его пределами.