Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   [решено] Проблема с подключением сетевого диска (http://forum.oszone.net/showthread.php?t=208463)

berkut_174 07-06-2011 16:54 1690066

Проблема с подключением сетевого диска
 
Имеется два ПК (ALT Linux) в локальной сети (ПК1 и ПК2).
Задача: подключить из расшаренной папки ПК1 сетевой диск на ПК2. При этом ПК1 может быть включен позже ПК2. Получается при включении ПК2 samba пытается подключить файловую систему, но не может, т.к. в данный момент ПК1 выключен.
Сетевой диск подключаю следующим образом через /etc/fstab:
Код:

//192.168.112.202/Obmen    /media/Obmen    cifs    guest    0  0
Если ПК1 включен раньше чем ПК2 - то все впорядке, диск монтируется, чтение/запись, вообщем как и надо...
В интернете находил что то про параметр _netdev. Пробовал вписывать в /etc/fstab
Код:

//192.168.112.202/Obmen    /media/Obmen    cifs    _netdev,guest    0  0
Результата не получил. При загрузке, Linux долго думает на Mounting Samba ... и естественно выдает FAILED.
Пожалуйста, помогите сделать чтобы сетевой диск мог подключаться незавимо от того когда был включен ПК1. Примерно так же, как это происходит в Windows.

contoso.com 07-06-2011 18:00 1690121

NFS ?

vadblm 07-06-2011 18:05 1690126

fstab плохо подходит для автоматического монтирования сменных носителей, в т.ч. сетевых. Используйте autofs.

berkut_174 07-06-2011 18:11 1690131

Цитата:

Цитата contoso.com
NFS ? »

Возможно... надо попробовать...
Хм... если сделаю этим способом будет ли выполняться условие:
Цитата:

сетевой диск мог подключаться незавимо от того когда был включен ПК1
???
vadblm, сейчас буду изучать :)

Подскажите правильно ли я делаю:
(все действия получается необходимо делать на клиентском ПК? да?)
редактирую файл auto.master
Код:

/media    /etc/auto.media --timeout 60
далее создаю файл... /etc/auto.media
Код:

obmen  -rw,intr 192.168.112.202:/home/user/obmen
Честно не уверен что делаю правильно, т.к. не совсем понял как это все работает...

vadblm 07-06-2011 21:33 1690247

Код:

obmen      -fstype=cifs,guest      ://192.168.112.202/Obmen
Вроде так, судя по ману и тому, что у вас в фстабе.

berkut_174 08-06-2011 08:16 1690432

Цитата:

Цитата vadblm
Вроде так, судя по ману и тому, что у вас в фстабе. »

А куда это писать? В какой файл то?
Вообщем я запутался окончательно... Нашел для ALT Linux http://www.altlinux.org/NFS... И не знаю то это или не то... Помогите ссылочкой на какой-нибудь FAQ по настройке.
Про подключение самбы много чего в инете есть (как настроить, как смонтировать и т.д.), а про nfs ничего конкретного для моего варианта не могу найти...

ruslandh 08-06-2011 09:07 1690450

Цитата:

А куда это писать
auto.master

Вам правильно сказали про automount.

Ну, и можно монтировать уже из браузера - что-то типа konqueror или его аналога в Gnome - вез всяких fstab и проч.

contoso.com 08-06-2011 09:12 1690456

может быть такое подойдет. Сильно в описание не вдавался, но по первым строкам
Цитата:

Amd is a daemon that automatically mounts filesystems whenever a file or directory within that filesystem is accessed. Filesystems are automatically unmounted when they appear to have become quiescent.
ссылка

а н-нет. дочитал до конца
Цитата:

Symbolic links on an NFS file system can be incredibly inefficient. In
most implementations of NFS, their interpolations are not cached by the
kernel and each time a symbolic link is encountered during a lookuppn
translation it costs an RPC call to the NFS server. It would appear that
a large improvement in real-time performance could be gained by adding a
cache somewhere. Replacing symlinks with a suitable incarnation of the
auto-mounter results in a large real-time speedup, but also causes a
large number of process context switches.

YDen 08-06-2011 09:13 1690457

Можно вклиниться и спросить здесь.
Тоже нужно подключить два или более сетевых дисков.
Система:
-рабочие станции Runtu lite 10.04
-сервер freeBSD 8

Я с линуксом на уважительное Вы, поэтому подскажите пожалуйста, какие действия нужно сделать на стороне клиентов, чтобы при загрузке автоматом монтировались сетевые диски.

Спасибо

ruslandh 08-06-2011 09:55 1690476

automount монтирует ресурс в момент обращения к точке монтирования. Вернее при запросе содержимого каталога.

berkut_174 08-06-2011 10:14 1690482

Цитата:

Цитата ruslandh
Вернее при запросе содержимого каталога. »

Мне нужно чтобы сетевой диск постоянно висел в моем компьютере как это было в Windows.
Вообщем что наделал:
1. На главном ПК отредактировал файл /etc/exports
Код:

/home/user/Общая        192.168.112.205(rw)
2. На клиенте отредактировал файл auto.master
Код:

/media/share    /etc/auto.share
3. На клиенте создал файл auto.share
Код:

Общая      -rw,soft,intr      192.168.112.202:/Общая
4. На главном запустил все службы
Код:

chkconfig portmap on
chkconfig nfs on
chkconfig nfslock on

5. На клиентском запустил
Код:

chkconfig portmap on
chkconfig nfslock on

6. Отключил самбу на главном
Код:

chkconfig smb off
7. Естественно на обоих компах стоит autofs и загружается автоматом.
8. Перезагрузил оба компа.
В результате ни че не понял... Где мой смонтированный диск? Что делаю не так?
На клиенте даю команду
Код:

service autofs status
в ответ
Код:

automount is running

vadblm 08-06-2011 12:13 1690562

Цитата:

Цитата berkut_174
А куда это писать? В какой файл то? »

Пардон, думал это очевидно. В ваш auto.media, при продемонстрированном вами auto.master.
Цитата:

Цитата berkut_174
В результате ни че не понял... Где мой смонтированный диск? Что делаю не так? »

Ну раз уж вы переметнулись на NFS (между прочим, она с точки зрения автомонтирования ничем не лучше smb/cifs, правда лучше в плане производительности и вообще "родная" для *nix), то не мешало сначала проверить работоспособность руками (mount -t nfs <сервер>:<экспорт> <точка монтирования>). А так, automount монтирует фс в момент доступа к точке монтирования.

berkut_174 08-06-2011 13:32 1690619

Цитата:

Цитата vadblm
А так, automount монтирует фс в момент доступа к точке монтирования. »

Т.е. пока я вручную не зайду... допустим в каталог /media/share/Obmen, то в Моем компьтере никакого диска не будет? Я правильно понимаю?

vadblm 08-06-2011 13:35 1690622

Цитата:

Цитата berkut_174
Т.е. пока я вручную не зайду... допустим в каталог /media/share/Obmen, то в Моем компьтере никакого диска не будет? Я правильно понимаю? »

Точно так. Либо вы лично, либо кто-то ещё, пусть даже какой-то скрипт попытается скажем что-то считать/записать с/на шару.

berkut_174 08-06-2011 13:38 1690627

Мда... А возможен ли вариант чтобы сетевой диск всегда был в моем компьютере? (опять повторюсь :) как в Windows)

contoso.com 08-06-2011 13:44 1690635

вы хотите странного :)

vadblm 08-06-2011 13:47 1690638

Цитата:

Цитата berkut_174
А возможен ли вариант чтобы сетевой диск всегда был в моем компьютере? »

При выключенной удалённой машине? :lol:
Цитата:

Цитата berkut_174
как в Windows »

В Windows ровно так же - ресурс монтируется при попытке доступа. Правда, там ещё есть SMB browser, показывающий доступные ресурсы по мере их объявления, но вроде и в autfs можно что-то подобное намутить. Гуглите.
PS Ещё крутится в голове слово Avahi...

berkut_174 08-06-2011 13:55 1690643

Не ну я про то что в Windows в Моем компьютере сетевые диски отображаются всегда, незавимо включен ли удаленны комп или нет, ну и естественно если удаленная машина выключена - то доступа нет, а вот если включена - тогда открывается. А здесь придется куда то в файловую лезть... Я же правильно понял?
Просто я к чему. Нужно чтобы пользователь безовсяких заморочек мог видеть сетевой диск в Моем компьютере. Но может получиться что пользователь включит комп раньше чем комп с которого будет подключаться сетевой диск. Поэтому мне не подходит самба, т.к. она монтирует диски при включении! А как она смонтирует при включении если компьютер на котором находится сетевой диск сейчас выключен?...

vadblm 08-06-2011 13:59 1690645

Цитата:

Цитата berkut_174
Моем компьютере сетевые диски отображаются всегда, незавимо включен ли удаленны комп или нет, ну и естественно если удаленная машина выключена - то доступа нет, а вот если включена - тогда открывается. »

Не открываются, а показываются.
Перечитайте
Цитата:

Цитата vadblm
там ещё есть SMB browser, показывающий доступные ресурсы по мере их объявления »


berkut_174 08-06-2011 14:20 1690669

Ладно... вообще ни че не понятно... Буду читать про autofs... мож че интересное нарою...
Цитата:

Цитата vadblm
Не открываются, а показываются. »

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

vadblm 08-06-2011 14:21 1690672

Цитата:

Цитата berkut_174
Ну мне то впринципе и надо чтобы сетевой диск показывался всегда в Мой компьютер... и при необходимости открывался, естественно если удаленная машина включена »

Тогда ройте в сторону упомянутого Avahi. Подсказать готовый рецепт не могу, не пользуюсь "моргающими" SMB-шарами.

berkut_174 08-06-2011 15:26 1690727

А если сделать скрипт, который через каждые, ну например, 10 мин будет пробовать смонтировать сетевой диск? Будет ли это как то влиять на работу пользователя? Будут ли вылазить какие-н. окна? Или это все можно сделать "тихо"?

contoso.com 08-06-2011 16:28 1690796

Цитата:

Цитата berkut_174
А если сделать скрипт, который через каждые, ну например, 10 мин будет пробовать смонтировать сетевой диск? »

ну если уж пошли такие извращения, то не пытаться смонтировать, а просто посылать пинг и при условии положительного ответа, монтировать удаленный ресурс.
Цитата:

Цитата berkut_174
Будет ли это как то влиять на работу пользователя? Будут ли вылазить какие-н. окна? Или это все можно сделать "тихо"? »

зависит от того, какой скрипт напишите :)

berkut_174 08-06-2011 17:42 1690873

Цитата:

Цитата contoso.com
зависит от того, какой скрипт напишите »

Если учесть что это будет мой первый скрипт в линуксе, тогда не знаю каким он вообще будет :)
Сейчас попробуем что-нибудь сделать :)
Вот что-то написал. Правда не уверен что будет работать :) Нужна помощь при заполнении после слова иначе. Надо сделать чтобы через 10 мин скрипт запускался заново.
Код:

#!/bin/bash
ping="ping -c 3 192.168.112.202"
# проверяем нахождение компьютера в сети
if $ping ; then
# если условие выполняется монтировать диск
    mount -t cifs //192.168.112.202/obmen /media/obmen -o guest
else
# запускать скрипт заново через 10 минут
    ????????
fi
exit

Вроде работает. Осталось только заставить его запускаться через каждые 5-10 минут.

berkut_174 09-06-2011 07:39 1691208

Ну что у кого-нибудь может есть какие-нибудь соображения как можно заставить скрипт запускаться автоматически через каждые 10 мин? Я подумал про crontab... но мне не совсем это нравится... т..к. при этом скрипт будет крутиться бесконечно, через каждые 10 мин, даже если диск уже смонтируется.

contoso.com 09-06-2011 08:40 1691223

man at

berkut_174 09-06-2011 09:04 1691231

Сделал так:
Код:

#!/bin/bash
ping="ping -c 3 192.168.112.202"
# проверяем нахождение компьютера в сети
if $ping ; then
# если условие выполняется монтировать диск и откл. службу crond
    (mount -t cifs //192.168.112.202/obmen /media/obmen -o guest) & (service crond stop)
else
# выход
    exit
fi
exit

+ к этому создал задачу crontab для пользователя, запускать данный скрипт через каждые 4 минуты
Код:

crontab -u user -l
SHELL=/bin/bash
0-59/4 * * * * /etc/start

Только не запускается у меня он автоматом, только если через терминал запускать скрипт. Наверно как то нужно указать чтоб он это через терминал запускал? Помогите, пожалуйста.

ruslandh 09-06-2011 09:24 1691239

crond лучше не выключать. Он служит многим целям.
лучше просто разрешить пользователю монтировать ресурс - когда надо - смонтирует, нет сервера - получит ошибку.

berkut_174 09-06-2011 09:33 1691243

Цитата:

Цитата ruslandh
лучше просто разрешить пользователю монтировать ресурс - когда надо - смонтирует, нет сервера - получит ошибку. »

Если бы все так просто... Дело в том что пользователь сидит на tmpfs... И пользователь не сможет смонтировать раздел сам - он не умеет! :) Может предложите альтернативный скрипт? :) Мне надо чтобы сетевой диск всегда показывался в моем компьютере, либо монтировался автоматически. А может есть какая то альтернатива (кроме nfs,avahi - несовсем понял как они работают, да и документации маловато...)?
ps. Хотя как вариант можно в скрипт назначить создание ярлыка на сетевую папку на рабочем столе пользователя... но...

contoso.com 09-06-2011 10:03 1691260

Вы можете дать объективное обоснование того, зачем Вам в "Мой компьютер" отображение сетевого диска? Без всяких там "а вот в windows...." или "пользователь хочет..." Сделайте сначала так, чтобы оно вообще работало, а потом будете прикручивать различные плюшки и хотелки. :)

berkut_174 09-06-2011 10:12 1691266

Дак оно все и так работает, только если главный будет включен раньше клиентского. В fstab прописываю автомонтирование и все.
Зачем мне это надо: раньше была Windows на клиенте стоял SteadyState, на клиенте был подключен сетевой диск и в настройках SteadyState было настроено запрещать изменение совершенные пользователем. Т.е. все что пользователь наделает за компом стиралось напрочь, а все что нужно сохранить он хранил на этом сетевом диске. Сейчас линукс и мне нужна альтернатива. :) Вот :)

berkut_174 09-06-2011 15:35 1691465

Вот так мы его обманим :)
Код:

#!/bin/bash

file="/tmp/obman"
ping="ping -c 3 192.168.112.202"
               
        if [ -e $file ]; then
                exit       
        else
                if $ping ; then
                        (mount /media/obmen) & (touch $file)
                else
                        exit
                fi
        fi
exit

+ добавил в конец /etc/fstab
Код:

//192.168.112.202/obmen        /media/obmen        cifs        rw,noauto,user,utf8,guest        0 0
Проверил на виртуалке - все работает!
Пускай с этим скриптом crontab не выключится, зато если диск уже смонтируется, то при следующем входе в скрипт программа будет сразу выходить ;)
Спасибо всем, всем, всем за помощь :)


Время: 06:03.

Время: 06:03.
© OSzone.net 2001-