autofs не может подключить удаленный диск с помощью sshfs - fuse

1898
Marvin

В настоящее время я разрабатываю приложение, для которого мне нужно получить некоторые файлы из удаленного местоположения, к которым я могу получить доступ только через ssh. Поскольку мне нужно автоматически смонтировать это репо, я попытался настроить автозаполнение (не могу поместить его в fstab, так как fstab не монтирует его обратно после сбоев сети).

К сожалению, я столкнулся с некоторой проблемой при настройке. Несмотря на мои поиски, я не смог найти никакой подсказки о своей проблеме ... так что я здесь.

В основном я пытаюсь сделать автоматически то, что раньше делал так:

sshfs myuser@xxx.yy.zz.oo: /mnt/mylocalrepo -o allow_other 

Мне это нужно для пользователя tomcat, чей pid - 502. Для этого вот мой auto.master:

# $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $  /misc /etc/auto.misc /net -hosts /mnt /etc/auto.sshfs --timeout=30, --ghost, --debug 

и мой auto.sshfs:

mylocalrepo -fstype=fuse,uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,ro,allow_other :sshfs\#monuser@xxx.yy.zz.oo\: 

Я также установил уровень вывода 'debug' в / etc / sysconfg / autofs.

Затем, /etc/init.d/autofs restart.

К сожалению, ничего не происходит .... В журналах говорится:

Dec 19 11:52:03 something automount[17018]: handle_packet: type = 3 Dec 19 11:52:03 something automount[17018]: handle_packet_missing_indirect: token 279, name mylocalrepo, request pid 18480 Dec 19 11:52:03 something automount[17018]: attempting to mount entry /mnt/mylocalrepo Dec 19 11:52:03 something automount[17018]: lookup_mount: lookup(file): looking up mylocalrepo Dec 19 11:52:03 something automount[17018]: lookup_mount: lookup(file): mylocalrepo -> -fstype=fuse,uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other :sshfs\#myuser@xxx.yy.zz.oo\: Dec 19 11:52:03 something automount[17018]: parse_mount: parse(sun): expanded entry: -fstype=fuse,uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other :sshfs\#myuser@xxx.yy.zz.oo\: Dec 19 11:52:03 something automount[17018]: parse_mount: parse(sun): gathered options: fstype=fuse,uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other Dec 19 11:52:03 something automount[17018]: parse_mount: parse(sun): dequote(":sshfs\#myuser@xxx.yy.zz.oo\:") -> :sshfs#myuser@xxx.yy.zz.oo: Dec 19 11:52:03 something automount[17018]: parse_mount: parse(sun): core of entry: options=fstype=fuse,uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other, loc=:sshfs#myuser@xxx.yy.zz.oo: Dec 19 11:52:03 something automount[17018]: sun_mount: parse(sun): mounting root /mnt, mountpoint mylocalrepo, what sshfs#myuser@xxx.yy.zz.oo:, fstype fuse, options uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other Dec 19 11:52:03 something automount[17018]: do_mount: sshfs#myuser@xxx.yy.zz.oo: /mnt/mylocalrepo type fuse options uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other using module generic Dec 19 11:52:03 something automount[17018]: mount_mount: mount(generic): calling mkdir_path /mnt/mylocalrepo Dec 19 11:52:03 something automount[17018]: mount_mount: mount(generic): calling mount -t fuse -s -o uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other sshfs#myuser@xxx.yy.zz.oo: /mnt/mylocalrepo 

Репо находится в / mnt /:

dr-xr-xr-x 2 root root 0 déc 19 11:51 mylocalrepo 

Но когда я пытаюсь получить к нему доступ через пользователя root или через tomcat-user после нескольких минут зависания, я получаю это в журналах:

Dec 19 12:16:34 something automount[17018]: mount(generic): failed to mount sshfs#myuser@xxx.yy.zz.oo: (type fuse) on /mnt/mylocalrepo Dec 19 12:16:34 something automount[17018]: dev_ioctl_send_fail: token = 280 Dec 19 12:16:34 something automount[17018]: failed to mount /mnt/mylocalrepo Dec 19 12:16:34 something automount[17018]: handle_packet: type = 3 Dec 19 12:16:34 something automount[17018]: handle_packet_missing_indirect: token 281, name mylocalrepo, request pid 18480 Dec 19 12:16:34 something automount[17018]: attempting to mount entry /mnt/mylocalrepo Dec 19 12:16:34 something automount[17018]: lookup_mount: lookup(file): looking up mylocalrepo Dec 19 12:16:34 something automount[17018]: dev_ioctl_send_fail: token = 281 Dec 19 12:16:34 something automount[17018]: failed to mount /mnt/mylocalrepo 

Так что, если у кого-то из вас есть идея или совет о моей проблеме или о том, как найти больше подсказок, они действительно приветствуются!

Заранее спасибо.

Мои настройки :

autofs-5.0.1-0.rc2.143.el5_5.6 ядро ​​2.6.18-194.32.1.el5 CentOS выпуск 5.5 (финальный)

PS: этот пост является почти точной копией того, что я выложил при переполнении стека ... но, похоже, это было не то место, где его можно было спросить. Поэтому надеюсь, что это место будет. Если это не так, пожалуйста, найдите время, чтобы объяснить, почему.

2
К вашему сведению, я делал это и раньше, предпочтительный метод - пометить вопрос и попросить модератора перенести вопрос. Это позволит сохранить вопросы, связанные между сайтами, а также перенести любые существующие ответы и комментарии на этот сайт. slm 11 лет назад 0
спасибо за ваш совет и поддержку. Надеюсь, больше не будет «в следующий раз», но если это все же произойдет, я запомню это в следующий раз :) Marvin 11 лет назад 0

1 ответ на вопрос

0
nerimarkinde

autofsпытается выполнить монтирование от имени пользователя root. Чтобы проверить работоспособность вашей установки, войдите в систему как root (su -) и попробуйте строку монтирования из журнала запуска autofs:

`mount -t fuse -s -o uid=502,gid=502,IdentityFile=/root/.ssh/myRsaPrivateKey,rw,allow_other sshfs#myuser@xxx.yy.zz.oo: /mnt/mylocalrepo` 

Так как autofs делает именно это (он вызывает mount с перечисленными аргументами как пользователь root), он должен завершиться сбоем и дать вам более приличный результат отладки. Как правило, я считаю, что проблемы с разрешениями для файла идентификации виноваты.

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