Прикрепление тома к нескольким экземплярам с помощью Amazon EBS Multi-прикрепите том и предоставьте общий доступ к нему в нескольких экземплярах

#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. Необходимость в дисках с несколькими подключениями возникает редко как в облаке, так и за его пределами.