Amazon EFS Mount from OSX

Господа, Я выполнил инструкции из этого отличного поста, но не смог подключиться. Эластичная файловая система (EFS) монтируется вне AWS

Я использую CoreOS в кластере Mesos. У нас есть EFS, подключенная ко всем узлам в кластере, чтобы они могли обмениваться данными, сценариями и т. Д. У нас есть VPN-туннель к AWS VPC, чтобы мы могли подключаться из офиса.

Мои пользователи хотели бы загрузить некоторые сценарии в EFS и получить результаты вычислений, чтобы они хотели смонтировать NFS локально. Итак, я запускаю haproxy, как рекомендовано в статье выше.

sudo docker run -d --net=host haproxy /bin/bash -c "echo -e 'listen fs-1e7bb658-us-east-1\n    bind :2049\n    mode tcp\n    option tcplog\n    timeout tunnel 300000\n    server fs-1e7bb658-us-east-1a us-east-1a.fs-1e7bb658.efs.us-east-1.amazonaws.com:2049 check inter 60000 fastinter 15000 downinter 5000' > /haproxy.cfg && haproxy -f /haproxy.cfg"

Конфигурация на случай непонятности:

listen fs-1e7bb658-us-east-1
    bind :2049
    mode tcp
    option tcplog
    timeout tunnel 300000 
    server fs-1e7bb658-us-east-1a us-east-1a.fs-1e7bb658.efs.us-east-1.amazonaws.com:2049 check inter 60000 fastinter 15000 downinter 5000

Которая запускает haproxy с туннелем к EFS, как предложено в вышеупомянутой теме. Я знаю, что он работает, потому что я могу смонтировать EFS, используя IP-адрес Haproxy, во вторую папку на узле кластера (т.е. / testing), и когда я пишу файл в / testing, я вижу его во всех узлах в / shared папке . Например:

sudo mount 100.100.100.68:/ /testing           # Mount using haproxy
echo "testing123!" > /testing/testing.txt    # write to a file
cat /shared/testing.txt                      # get from any node in the cluster
>>> testing123!

Итак, проблема в том, что когда я хочу смонтировать из OSX, я получаю:

grodriguez:/ Guimo$ sudo mount 100.100.100.68:/ /sharedfiles
mount_nfs: can't mount / from 100.100.100.68 onto /sharedfiles: RPC prog. not avail

Я знаю, что HaProxy слушает, потому что могу делать из OSX:

grodriguez:/ Guimo$ telnet 100.100.100.68 2049
Trying 100.100.100.68...
Connected to 100.100.100.68.
Escape character is '^]'.

Таким образом, он подключается к службе с помощью telnet, но не подключается используя nfs.

Группа безопасности довольно либеральна, и, кроме того, я бы не подключился с помощью telnet, если бы он не работал. Таким образом, служба работает на этом порту.

Я читал, что могу попытаться найти службы mountd и nfs, но ничего. Может быть, EFS их скрывает. Может быть, поэтому OSX жалуется на отсутствие службы.

grodriguez:/ Guimo$ rpcinfo -p 100.100.100.68
program vers proto   port
100000    4   tcp    111  portmapper
100000    3   tcp    111  portmapper
100000    2   tcp    111  portmapper
100000    4   udp    111  portmapper
100000    3   udp    111  portmapper
100000    2   udp    111  portmapper
100024    1   udp  45358  status
100024    1   tcp  60755  status
100021    1   udp  43439  nlockmgr
100021    3   udp  43439  nlockmgr
100021    4   udp  43439  nlockmgr
100021    1   tcp  34893  nlockmgr
100021    3   tcp  34893  nlockmgr
100021    4   tcp  34893  nlockmgr

Но все же, если туннель не работает, почему агенты должны успешно подключаться?

Кстати. Я также пробовал подключиться с помощью AWS, но у OSX тоже есть проблемы.

grodriguez:/ Guimo$ mount -t nfs4 -o nfsvers=4.1 100.100.100.68:/ /sharedfiles
mount: exec /System/Library/Filesystems/nfs4.fs/Contents/Resources/mount_nfs4 for /sharedfiles: No such file or directory

Любая помощь приветствуется.

С уважением,

grodriguez:/ Guimo$ telnet 100.100.100.68 2049
Trying 100.100.100.68...
Connected to 100.100.100.68.
Escape character is '^]'.

Таким образом, он подключается к службе с помощью telnet, но не подключается с помощью nfs.

Группа безопасности довольно либеральна, и, кроме того, я бы не подключился с помощью telnet, если бы он не работал. Таким образом, служба работает на этом порту.

Я читал, что могу попытаться найти службы mountd и nfs, но ничего. Может быть, EFS их скрывает. Может быть, поэтому OSX жалуется на отсутствие службы.

grodriguez:/ Guimo$ rpcinfo -p 100.100.100.68
program vers proto   port
100000    4   tcp    111  portmapper
100000    3   tcp    111  portmapper
100000    2   tcp    111  portmapper
100000    4   udp    111  portmapper
100000    3   udp    111  portmapper
100000    2   udp    111  portmapper
100024    1   udp  45358  status
100024    1   tcp  60755  status
100021    1   udp  43439  nlockmgr
100021    3   udp  43439  nlockmgr
100021    4   udp  43439  nlockmgr
100021    1   tcp  34893  nlockmgr
100021    3   tcp  34893  nlockmgr
100021    4   tcp  34893  nlockmgr

Но все же, если туннель не работает, почему агенты должны успешно подключаться?

Кстати. Я также пробовал подключиться с помощью AWS, но у OSX тоже есть проблемы.

grodriguez:/ Guimo$ mount -t nfs4 -o nfsvers=4.1 100.100.100.68:/ /sharedfiles
mount: exec /System/Library/Filesystems/nfs4.fs/Contents/Resources/mount_nfs4 for /sharedfiles: No such file or directory

Любая помощь приветствуется.

С уважением,

grodriguez:/ Guimo$ telnet 100.100.100.68 2049
Trying 100.100.100.68...
Connected to 100.100.100.68.
Escape character is '^]'.

Таким образом, он подключается к службе с помощью telnet, но не подключается с помощью nfs.

Группа безопасности довольно либеральна, и, кроме того, я бы не подключился с помощью telnet, если бы он не работал. Таким образом, служба работает на этом порту.

Я читал, что могу попытаться найти службы mountd и nfs, но ничего. Может быть, EFS их скрывает. Может быть, поэтому OSX жалуется на отсутствие службы.

grodriguez:/ Guimo$ rpcinfo -p 100.100.100.68
program vers proto   port
100000    4   tcp    111  portmapper
100000    3   tcp    111  portmapper
100000    2   tcp    111  portmapper
100000    4   udp    111  portmapper
100000    3   udp    111  portmapper
100000    2   udp    111  portmapper
100024    1   udp  45358  status
100024    1   tcp  60755  status
100021    1   udp  43439  nlockmgr
100021    3   udp  43439  nlockmgr
100021    4   udp  43439  nlockmgr
100021    1   tcp  34893  nlockmgr
100021    3   tcp  34893  nlockmgr
100021    4   tcp  34893  nlockmgr

Но все же, если туннель не работает, почему агенты должны успешно подключаться?

Кстати. Я также пробовал подключиться с помощью AWS, но у OSX тоже есть проблемы.

grodriguez:/ Guimo$ mount -t nfs4 -o nfsvers=4.1 100.100.100.68:/ /sharedfiles
mount: exec /System/Library/Filesystems/nfs4.fs/Contents/Resources/mount_nfs4 for /sharedfiles: No such file or directory

Любая помощь приветствуется.

С уважением,

Я читал, что могу попытаться найти службы mountd и nfs, но ничего. Может быть, EFS их скрывает. Может быть, поэтому OSX жалуется на отсутствие службы.

grodriguez:/ Guimo$ rpcinfo -p 100.100.100.68
program vers proto   port
100000    4   tcp    111  portmapper
100000    3   tcp    111  portmapper
100000    2   tcp    111  portmapper
100000    4   udp    111  portmapper
100000    3   udp    111  portmapper
100000    2   udp    111  portmapper
100024    1   udp  45358  status
100024    1   tcp  60755  status
100021    1   udp  43439  nlockmgr
100021    3   udp  43439  nlockmgr
100021    4   udp  43439  nlockmgr
100021    1   tcp  34893  nlockmgr
100021    3   tcp  34893  nlockmgr
100021    4   tcp  34893  nlockmgr

Но все же, если туннель не работает, почему агенты должны успешно подключаться?

Кстати. Я также пробовал подключиться с помощью AWS, но у OSX тоже есть проблемы.

grodriguez:/ Guimo$ mount -t nfs4 -o nfsvers=4.1 100.100.100.68:/ /sharedfiles
mount: exec /System/Library/Filesystems/nfs4.fs/Contents/Resources/mount_nfs4 for /sharedfiles: No such file or directory

Любая помощь приветствуется.

С уважением,

Я читал, что могу попытаться найти службы mountd и nfs, но ничего. Может быть, EFS их скрывает. Может быть, поэтому OSX жалуется на отсутствие службы.

grodriguez:/ Guimo$ rpcinfo -p 100.100.100.68
program vers proto   port
100000    4   tcp    111  portmapper
100000    3   tcp    111  portmapper
100000    2   tcp    111  portmapper
100000    4   udp    111  portmapper
100000    3   udp    111  portmapper
100000    2   udp    111  portmapper
100024    1   udp  45358  status
100024    1   tcp  60755  status
100021    1   udp  43439  nlockmgr
100021    3   udp  43439  nlockmgr
100021    4   udp  43439  nlockmgr
100021    1   tcp  34893  nlockmgr
100021    3   tcp  34893  nlockmgr
100021    4   tcp  34893  nlockmgr

Но все же, если туннель не работает, почему агенты должны успешно подключаться?

Кстати. Я также пробовал подключиться с помощью AWS, но у OSX тоже есть проблемы.

grodriguez:/ Guimo$ mount -t nfs4 -o nfsvers=4.1 100.100.100.68:/ /sharedfiles
mount: exec /System/Library/Filesystems/nfs4.fs/Contents/Resources/mount_nfs4 for /sharedfiles: No such file or directory

Любая помощь приветствуется.

С уважением, Guimo

Edit: В случае, если это не ясно из моего примечания ниже. Я запустил debian с помощью docker для Mac, затем установил поддержку nfs4 в контейнер, затем подключился к туннелю HaProxy. Все прошло нормально, и я вижу свой файл testing.txt.

Так что я предполагаю, что это проблема OSX и не имеет ничего общего с вышеприведенным решением, которое просто великолепно.

5
задан 13 April 2017 в 15:14
1 ответ

Для всех, кто ищет ответы на подобные вопросы, комментарий Майкла решил мою проблему.

У нас есть прямое подключение к AWS и после добавления правильного входящего (офисная подсеть TCP 2049) в группу безопасности, я могу смонтировать EFS на моем локальном MacBook.

sudo mount -t nfs -o vers=4 -o tcp -w x.x.x.x:/ efs
7
ответ дан 3 December 2019 в 01:24

Теги

Похожие вопросы