Re: Неблокирующая ФС
21 сентября 2012 г., 11:05 пользователь Damir Hakimov написал: Может просто Я NFS не умею готовить? Наверное, не умею. Я-таки переслил в себе "нечитателя" и родил следующее: #Non-blocked mount of NFS server backup:/home/bu/data/repa nfs ro,auto,soft,intr,udp,bg,timeo=1,retrans=10 0 /$ time ls /repa ls: cannot access /repa: Input/output error real0m0.200s user0m0.000s sys 0m0.008s Критичными оказались опции udp и soft. (Насчет bg - не уверен) Всем спасибо за обсуждение. PS. Осталось победить от МУЯ ГУЙ. -- DamirX
Re: Неблокирующая ФС
Всем привет опять! Я-таки переслил в себе "нечитателя" и родил следующее: #Non-blocked mount of NFS server backup:/home/bu/data/repa nfs ro,auto,soft,intr,udp,bg,timeo=1,retrans=10 0 /$ time ls /repa ls: cannot access /repa: Input/output error real0m0.200s user0m0.000s sys 0m0.008s Критичными оказались опции udp и soft. (Насчет bg - не уверен) Всем спасибо за обсуждение. -- DamirX
Re: Неблокирующая ФС
On Fri, 21 Sep 2012, Artem Chuprina wrote: An ideal world is left as an exercise to the reader... Так вот почему чукча не читатель! Ю.
Re: Неблокирующая ФС
On Sat, Sep 22, 2012 at 12:56:11PM +0700, Ivan Shmakov wrote: > > Какое существет простое, как лом, решение для доступа (RO) к ФС на > > удаленном сервере, чтоб оно (решение), даже думать не могло > > заблокировать пользовательскую операцию в случае если сервер > > недоступен? (Может просто Я NFS не умею готовить?) > Хотя это и не решает полностью проблему с блокировками, мой опыт > подсказывает, что использование autofs делает клиента куда как > более «отзывчивым.» А каким образом? -- WBR, wRAR signature.asc Description: Digital signature
Re: Неблокирующая ФС
> Damir Hakimov writes: > Какое существет простое, как лом, решение для доступа (RO) к ФС на > удаленном сервере, чтоб оно (решение), даже думать не могло > заблокировать пользовательскую операцию в случае если сервер > недоступен? (Может просто Я NFS не умею готовить?) Хотя это и не решает полностью проблему с блокировками, мой опыт подсказывает, что использование autofs делает клиента куда как более «отзывчивым.» Настройка может быть подобной (NB: также используется soft): $ cat < /etc/auto.master ### auto.master --- Automounter map file -*- Default-Generic -*- ## See also: autofs(5). /com/nfsv3 /etc/auto.com.nfsv3-common /srv/chroot/2012-09-22/com/nfsv3/etc/auto.com.nfsv3-common ### auto.master ends here $ cat < /etc/auto.com.nfsv3-common ### auto.com.nfsv3-common --- Manage /com/nfsv3's -*- Default-Generic -*- ## This is an automounter map and it has the following format: ## ## key [ -mount-options-separated-by-comma ] location ## ## See also: autofs(5). ## FIXME: use NFSv4 over IPv6 (no IPv6 support for NFSv3) ## FIXME: port=2049 is a hack to force automount to use NFS for localhost ## NB: default automounter's bind mounts aren't read-only foo.public -fstype=nfs,ro,nosuid,nodev,soft,nolock,rsize=8192,wsize=8192,port=2049 127.0.0.1:/home/public bar.public -fstype=nfs,ro,nosuid,nodev,soft,nolock,rsize=8192,wsize=8192 bar.example.org:/home/public baz.diskless-fstype=nfs,ro,nosuid,nodev,soft,nolock,rsize=8192,wsize=8192 baz.example.net:/srv/diskless/nfsv3 baz.public -fstype=nfs,ro,nosuid,nodev,soft,nolock,rsize=8192,wsize=8192 baz.example.net:/home/public ### auto.com.nfsv3-common ends here $ -- FSF associate member #7257 -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/86mx0i1tz8@gray.siamics.net
Re: Неблокирующая ФС
Привет On 21.09.2012 09:05, Damir Hakimov wrote: Какое существет простое, как лом, решение для доступа (RO) к ФС на удаленном сервере, чтоб оно (решение), даже думать не могло заблокировать пользовательскую операцию в случае если сервер недоступен? (Может просто Я NFS не умею готовить?) http -- Сергей -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/k3il39$kc$1...@ger.gmane.org
Re: Неблокирующая ФС
Dmitry Nezhevenko -> debian-russian@lists.debian.org @ Fri, 21 Sep 2012 17:26:05 +0300: >> > man 2 open, O_NONBLOCK >> >> Спасибо, Кэп. >> Вот только на ФС это не работает - операции всегда блокируются. DN> Хм. Я думал что для NFS должно работать. Проверил, таки не работает. Ни DN> open ни дальнейший read Увы. Давно известная особенность. Работает это только на character devices и fifo. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/871uhvbfiz@wizzle.ran.pp.ru
Re: Неблокирующая ФС
On Fri, Sep 21, 2012 at 09:17:54PM +0700, Dmitry Fedorov wrote: > > > > man 2 open, O_NONBLOCK > > Спасибо, Кэп. > Вот только на ФС это не работает - операции всегда блокируются. Хм. Я думал что для NFS должно работать. Проверил, таки не работает. Ни open ни дальнейший read -- WBR, Dmitry signature.asc Description: Digital signature
Re: Неблокирующая ФС
21 сентября 2012 г., 21:12 пользователь Dmitry Nezhevenko написал: > On Fri, Sep 21, 2012 at 07:10:35PM +0700, Dmitry Fedorov wrote: >> > >> > DF> "Операция выполняется ...", errno = EINPROGRESS; >> > >> Нет, это описание механизма желаемого поведения. >> По крайней мере, в Linux, для этого приходится запускать >> отдельный процесс, потому что файловые операции >> с настоящими файлами - блокирующие. > > man 2 open, O_NONBLOCK Спасибо, Кэп. Вот только на ФС это не работает - операции всегда блокируются.
Re: Неблокирующая ФС
On Fri, Sep 21, 2012 at 07:10:35PM +0700, Dmitry Fedorov wrote: > 21 сентября 2012 г., 18:53 пользователь Artem Chuprina написал: > > > > >> I/O Error, например. > > > > DF> "Операция выполняется ...", errno = EINPROGRESS; > > > > Ты полагаешь, что винворд (oowriter, lowriter, да хотя бы vim или emacs) > > себя ведет именно так? > > Нет, это описание механизма желаемого поведения. > По крайней мере, в Linux, для этого приходится запускать > отдельный процесс, потому что файловые операции > с настоящими файлами - блокирующие. man 2 open, O_NONBLOCK -- WBR, Dmitry signature.asc Description: Digital signature
Re: Неблокирующая ФС
Andrey Rahmatullin -> debian-russian@lists.debian.org @ Fri, 21 Sep 2012 18:04:01 +0600: >> Ну и может, оно уже timeout какой научилось... AR> Научилось, с soft. И этот самый timeout на write операциях понятно чем AR> чреват. Так он r/o просил. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87a9wjbhut@wizzle.ran.pp.ru
Re: Неблокирующая ФС
Dmitry Fedorov -> debian-russian@lists.debian.org @ Fri, 21 Sep 2012 19:10:35 +0700: >> >> I/O Error, например. >> >> DF> "Операция выполняется ...", errno = EINPROGRESS; >> >> Ты полагаешь, что винворд (oowriter, lowriter, да хотя бы vim или emacs) >> себя ведет именно так? DF> Нет, это описание механизма желаемого поведения. DF> По крайней мере, в Linux, для этого приходится запускать DF> отдельный процесс, потому что файловые операции DF> с настоящими файлами - блокирующие. >> Или предлагаешь вдумчиво патчить каждую первую >> программу, которой вздумалось открыть файл с сети, и open(2) заодно? DF> Нет, это они пусть патчат. An ideal world is left as an exercise to the reader... -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87ehlvbhxo@wizzle.ran.pp.ru
Re: Неблокирующая ФС
21 сентября 2012 г., 18:53 пользователь Artem Chuprina написал: > > >> I/O Error, например. > > DF> "Операция выполняется ...", errno = EINPROGRESS; > > Ты полагаешь, что винворд (oowriter, lowriter, да хотя бы vim или emacs) > себя ведет именно так? Нет, это описание механизма желаемого поведения. По крайней мере, в Linux, для этого приходится запускать отдельный процесс, потому что файловые операции с настоящими файлами - блокирующие. > Или предлагаешь вдумчиво патчить каждую первую > программу, которой вздумалось открыть файл с сети, и open(2) заодно? Нет, это они пусть патчат.
Re: Неблокирующая ФС
On Fri, Sep 21, 2012 at 03:48:31PM +0400, Artem Chuprina wrote: > DH> Сейчас-же оно, при попытке открыть файл или увидеть содержимое > DH> каталога на примонтированной NFS-шаре, при недоступном NFS сервере > DH> глухо виснет. > > soft,intr? A so-called "soft" timeout can cause silent data corruption in certain cases. As such, use the soft option only when client responsiveness is more important than data integrity. Using NFS over TCP or increasing the value of the retrans option may mitigate some of the risks of using the soft option. Using the intr option is preferred to using the soft option because it is significantly less likely to result in data corruption. The intr / nointr mount option is deprecated after kernel 2.6.25. Only SIGKILL can interrupt a pending NFS operation on these kernels, and if specified, this mount option is ignored to provide backwards compatibility with older kernels. > К сожалению, у меня сейчас nfs-common не стоит (мне негде сейчас > применять NFS), и потому более тщательно посмотреть в man 5 nfs, куда > отсылает нас man mount, я сходу не могу. Но у тебя, наверное, стоит. > То, что intr позволяет по крайней мере прервать нормальную юниксовую > файловую операцию нормальным Ctrl-C, я со времен своей молодости :) > помню. "Only SIGKILL can interrupt a pending NFS operation" > Что конкретно дает soft, я уже не помню. If the soft option is specified, then the NFS client fails an NFS request after retrans retransmissions have been sent, causing the NFS client to return an error to the calling application. Т.е. ждать всё равно придётся огого. > Ну и может, оно уже timeout какой научилось... Научилось, с soft. И этот самый timeout на write операциях понятно чем чреват. -- WBR, wRAR signature.asc Description: Digital signature
Re: Неблокирующая ФС
Dmitry Fedorov -> debian-russian@lists.debian.org @ Fri, 21 Sep 2012 17:59:52 +0700: >>> Для начала опиши, пожалуйста, как ты себе представляешь неблокирующую >>> пользовательскую операцию открытия, допустим, вордового файла. >> I/O Error, например. DF> "Операция выполняется ...", errno = EINPROGRESS; Ты полагаешь, что винворд (oowriter, lowriter, да хотя бы vim или emacs) себя ведет именно так? Или предлагаешь вдумчиво патчить каждую первую программу, которой вздумалось открыть файл с сети, и open(2) заодно? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87vcf7bni5@wizzle.ran.pp.ru
Re: Неблокирующая ФС
Damir Hakimov -> debian-russian@lists.debian.org @ Fri, 21 Sep 2012 14:56:51 +0400: >> DH> Какое существет простое, как лом, решение для доступа (RO) к ФС на >> DH> удаленном сервере, чтоб оно (решение), даже думать не могло >> DH> заблокировать пользовательскую операцию в случае если сервер >> DH> недоступен? (Может просто Я NFS не умею готовить?) >> >> Для начала опиши, пожалуйста, как ты себе представляешь неблокирующую >> пользовательскую операцию открытия, допустим, вордового файла. Даже при >> доступности сервера. Но все же с учетом того, что оный доступ не >> мгновенен. DH> I/O Error, например. Повторяю: при доступности сервера. Получать I/O Error при доступности сервера было бы, прямо скажем, странновато... А с точки зрения open(2) разницы между выключением сервера на ночь и раундтрипом в секунду, прямо скажем, никакой. DH> Сейчас-же оно, при попытке открыть файл или увидеть содержимое DH> каталога на примонтированной NFS-шаре, при недоступном NFS сервере DH> глухо виснет. soft,intr? К сожалению, у меня сейчас nfs-common не стоит (мне негде сейчас применять NFS), и потому более тщательно посмотреть в man 5 nfs, куда отсылает нас man mount, я сходу не могу. Но у тебя, наверное, стоит. То, что intr позволяет по крайней мере прервать нормальную юниксовую файловую операцию нормальным Ctrl-C, я со времен своей молодости :) помню. Мы тогда порой монтировали сервера с другого конца планеты... Что конкретно дает soft, я уже не помню. Помню, что для r/w это было чревато, а для r/o, как ты хочешь - в самый раз. Ну и может, оно уже timeout какой научилось... -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87zk4jbnqo@wizzle.ran.pp.ru
Re: Неблокирующая ФС
21 сентября 2012 г., 17:56 пользователь Damir Hakimov написал: > 21 сентября 2012 г., 14:30 пользователь Artem Chuprina написал: >> >> Для начала опиши, пожалуйста, как ты себе представляешь неблокирующую >> пользовательскую операцию открытия, допустим, вордового файла. > I/O Error, например. "Операция выполняется ...", errno = EINPROGRESS;
Re: Неблокирующая ФС
21 сентября 2012 г., 14:30 пользователь Artem Chuprina написал: > Damir Hakimov -> debian-russian@lists.debian.org @ Fri, 21 Sep 2012 11:05:21 > +0400: > > DH> Какое существет простое, как лом, решение для доступа (RO) к ФС на > DH> удаленном сервере, чтоб оно (решение), даже думать не могло > DH> заблокировать пользовательскую операцию в случае если сервер > DH> недоступен? (Может просто Я NFS не умею готовить?) > > Для начала опиши, пожалуйста, как ты себе представляешь неблокирующую > пользовательскую операцию открытия, допустим, вордового файла. Даже при > доступности сервера. Но все же с учетом того, что оный доступ не > мгновенен. I/O Error, например. Сейчас-же оно, при попытке открыть файл или увидеть содержимое каталога на примонтированной NFS-шаре, при недоступном NFS сервере глухо виснет. -- DamirX
Re: Неблокирующая ФС
Damir Hakimov -> debian-russian@lists.debian.org @ Fri, 21 Sep 2012 11:05:21 +0400: DH> Какое существет простое, как лом, решение для доступа (RO) к ФС на DH> удаленном сервере, чтоб оно (решение), даже думать не могло DH> заблокировать пользовательскую операцию в случае если сервер DH> недоступен? (Может просто Я NFS не умею готовить?) Для начала опиши, пожалуйста, как ты себе представляешь неблокирующую пользовательскую операцию открытия, допустим, вордового файла. Даже при доступности сервера. Но все же с учетом того, что оный доступ не мгновенен. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/874nmrd5wk@wizzle.ran.pp.ru