LINUX.ORG.RU
ФорумAdmin

Dovecot ящики на NFS

 , , , ,


0

1

Приветствую.
1. VPS Ubuntu, aaPanel, почтовый сервер Postfix+Dovecot..,
2. Сетевое хранилище Freenas, NFS.
Сервер 1 в Интернете на другой территории, 2-й в локальной сети офиса.
В планах сделать ящики, например «Архив», с каталогом хранения на Freenas. Основная цель экономия места на впс.
Бэкап каталога почты пользователей делается с помощью rsync, синхронизация на Freenas.

Два вопроса:
1.В случае сбоев сети Freenas, размонтирования сетевого диска и др., будут ли почтовые клиенты получать сообщение об ошибке?

2. Правильный конф?
```
namespace archive {
type = private
disabled = no
hidden = no
list = yes
inbox = no
prefix = Архив/
separator = /
location = maildir:/mnt/network_drive/%d/%u
mailbox Входящие {
auto = subscribe
}
mailbox Отправленные {
auto = subscribe
}
}
```



Последнее исправление: randreevich (всего исправлений: 3)
Ответ на: комментарий от usermod

Без перезагрузки всего сервера ничего работать не будет.

Это если NFSv3.

С NFSv4 оно, конечно, встанет раком при обращении к упавшей шаре, но отвиснет как только NFS-сервер вернётся в строй. Хотя на убунтах это может не работать, мне на дебиане NFS-клиента подключить к NFS-серверу на FreeBSD вообще не удалось (но, честно говоря, я не так уж и старался).

mord0d ★★★★★
()

размонтирования сетевого диска

Если прям размонтирования, то у тебя будет просто пустая директория, которая являлась маунтпоинтом для NFS-шары, если Dovecot имеет права на запись в эту диру (которые могут отличаться от прав на шару!), то он создаст структуру, и отдаст клиенту что там пусто.

Если же шара отвалится, то тут два сценария:

  • NFSv3: приложение, которое попытается обратиться к повисшей шаре, тоже зависнет, причём настолько намертво, что kill -9 $PID не поможет. Насколько я помню, NFSv3 не умеет сообщать о том, что оно вернулось в строй, потому перезагрузка машины неизбежна.

  • NFSv4: приложение, которое попытается обратиться к повисшей шаре, тоже зависнет, тоже намертво, его тоже не убить через kill -9 $PID, НО, NFSv4 умеет сообщать (если и на клиенте и на сервере работают соответствующие RPC-сервисы) что оно вернулось (и вроде даже что оно пошло в ребут, если он штатный), и как только соединение будет восстановлено, приложение отвиснет.

FIXME: В Linux поведение NFS может отличаться.


будут ли почтовые клиенты получать сообщение об ошибке?

Да, они отвалятся по таймауту. (%


И почему нет тега nfs? (=

mord0d ★★★★★
()
Последнее исправление: mord0d (всего исправлений: 2)
Ответ на: комментарий от anc

Почему именно nfs?

Не знаю других поддерживаемых протоколов. Ну и на Freenas другого нет. iSCSI вроде не будет работать, не поддерживается.
Рассматриваю любые варианты.

randreevich
() автор топика
Последнее исправление: randreevich (всего исправлений: 1)
Ответ на: комментарий от randreevich

Почему именно nfs?

Ну и на Freenas другого нет. iSCSI вроде не будет работать, не поддерживается.

Похоже что вы обманываете. Во всяком случае в анонсе FreeNAS 0.686b1 датированном 01.11.2007 есть строки «Upgrade Samba to 3.0.26a.» и «Upgrade iSCSI Target to version 20070925.».

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от router

зависнет, причём настолько намертво, что kill -9 $PID не поможет

А что, параметр «soft» для nfs уже отменили?

На v3 все ещё не очень было, но на лоре говорили, что в v4 починили окончательно.

anc ★★★★★
()
Ответ на: комментарий от router

На NFSv3 это позволяет отмонтировать зависшую шару до того, как к ней кто-то обратился (тоже не всегда), если уже кто-то завис, то umount тоже зависнет.

На NFSv4 проблему решили (причём soft вроде даже не нужен теперь), но необходимы(!) RPC-сервисы.

mord0d ★★★★★
()
Ответ на: комментарий от router

umount тоже зависнет

umount -l -f

-l - «lazy»

Нет такой опции во FreeBSD. (=
Есть -f — force, но на зависшие NFS он не влияет.

-N

Do a forced dismount of an NFS mount point without checking the mount path. This option can only be used with the path to the mount point node and the path must be specified exactly as it was at mount time. This option is useful when a process is hung waiting for an unresponsive NFS server while holding a vnode lock on the mounted-on vnode, such that umount with the -f flag can’t complete. Using this option can result in a loss of file updates that have not been flushed to the NFS server.

mord0d ★★★★★
()
Ответ на: комментарий от mumpster

У солярки реализация NFS отличается от фряхи. А в линуксе отличается и от солярки и от фряхи. Вот и получается что кто-то лучше дружит, кто-то хуже.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

С NFSv4 оно, конечно, встанет раком при обращении к упавшей шаре, но отвиснет как только NFS-сервер вернётся в строй. Хотя на убунтах это может не работать, мне на дебиане NFS-клиента подключить к NFS-серверу на FreeBSD вообще не удалось (но, честно говоря, я не так уж и старался).

Имею опыт работы с nfc. В плюсе быстрая работа, поддержка локов. С джамбо-фреймами скорость близка к максимуму соединения. Работает через туннели. Но и недостатков хватает. nfsv4 внезапно ругается на размер кадра и теряет данные. Зашибись. Принудительно выставляю v3, вроде работает. Но тут на днях опять ерунда. Две ноды в стойке, на одной шара работает, а на другой просто висит и все. Пока не зашел руками и не отмонтировал, висела как писюн на морозе. Отмонтировал, она автоматом соединилась и вперед, все работает. Не совсем это все то, на что я рассчитывал… И это все в идеальной системе 10G оптика сервер-свич-клиент.

usermod
()
Ответ на: комментарий от usermod

Имею опыт работы с nfc.

nfc

Дальше можно было бы не читать. (=

В плюсе быстрая работа, поддержка локов.

Локи это уже NFSv4. В v3 их не было, и много чего не было.

А назвать NFS быстрым…
Его скорость зависит от очень многих факторов.

Но и недостатков хватает.

Идеального решения нет. И вряд ли будет.

Не совсем это все то, на что я рассчитывал…

В IT надо быть мазохистом. (%

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Ну праздники все таки…

А назвать NFS быстрым…

Ну давай, расскажи, что может быть быстрее nfs и схожее с простой файловой шарой. Желательно не размазанное по кластеру, классическое клиент-сервер. smb, например.

usermod
()
Ответ на: комментарий от usermod

что может быть быстрее nfs и схожее с простой файловой шарой. Желательно не размазанное по кластеру, классическое клиент-сервер. smb, например.

Но я не утверждал что быстрое обязательно должно быть архитектурно схоже с NFS/SMB. (=

Да, есть решения быстрее, надёжнее/отказоустойчивее. Есть решения распределённые, с и без аутентификации (кстати, кто у нас сейчас кроме NFS ещё поддерживает krb5?), шифрованное/нешифрованное и так далее. НО! Каждое из них нацелено на определённые задачи, и не факт что их удобно/целесообразно/просто/легко натянуть на глобус под свои хотелки, если они отличаются. Как я уже писал, идеального решения под все юзкейсы не существует.

А ещё я писал (возможно даже на ЛОРе, но не нашёл) что NFS замены нет. Даже SMB это не замена, а лишь альтернатива со своими достоинствами и недостатками.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Да, есть решения быстрее, надёжнее/отказоустойчивее.

Не существует. Кластерные решения решают очень конкретные узкие задачи. В общем случае (замена NFS, то есть rw, без шардинга) они и ненадежны и тормозны шо мама не горюй. А если добавить ro и шардинг, так и NFS можно выстроить в батарею и получить еще более высокие скорости и надежность.

NFS быстр вовсе не потому, что идеален, а потому что это минимальная обмазка вокруг udp. Проще и тоньше просто некуда.

А ещё я писал (возможно даже на ЛОРе, но не нашёл) что NFS замены нет.

NFS уже давно атавизм. Ее легко заменяет smb, sshfs, davfs и еще куча сетевых файловых систем. Побыстрее/помедленнее или наличие/отсутствие поддержки в конкретной системе не может причиной отказа признать такую фс альтернативой.

Я хоть и использую nfs, но не встречал ни разу ситуацию, в которой nfs или ничто. Разве что в vmware и proxmox, но и там альтернативы есть, просто nfs самая простая и беспроблемная из них.

usermod
()
Ответ на: комментарий от usermod

минимальная обмазка вокруг udp

Эээээ… NFSv4 умеет в TCP.

Ее легко заменяет smb, sshfs, davfs и еще куча сетевых файловых систем.

smb

Намертво прибито к Active Directory LDAP. Но с другой стороны можно прикрутить любые альтернативные методы аутентификации.

sshfs

Так как это модуль к FUSE, то оно наследует все её преимущества и недостатки. FUSE само по себе медленное, ещё ssh задержек за шифрование накидывает.

davfs

WebDAV в принципе затачивался для доступа через глобальную сеть, потому если аутентификация не нужна, то придётся немножко поплясать. Зато HTTP! Только не всегда это преимущество. (=

не встречал ни разу ситуацию, в которой nfs или ничто

PXE. root-path может отдаваться либо TFTP (разумеется по UDP), либо NFS (v3, ибо безальтернативный UDP). Windows PE использует TFTP, потому что там полтора файла скачать, для развесистой структуры типа как в Linux или FreeBSD я бы на TFTP надеяться не стал. (=

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

smb, sshfs, davfs

Ну фактически искаропки её поддерживают далеко не все.

Тут про все перечисленные фс можно так написать.

Windows, например, NFSv4 не поддерживает совсем.

Не проверял, но поверю копипасте:

Поддержка последней версии NFS 4.1 – одно из основных новшеств Windows Server 2012.

Сам подключался с винды к nfs на nas, хз какая там была версия.

einhander ★★★★★
()
Последнее исправление: einhander (всего исправлений: 2)
Ответ на: комментарий от einhander

Почему?

Два момента:

  1. Устаревшая сетевая работа через кучу портов rpcbind. Современный сервис, это один порт.

  2. Склонность к зависам при проблемах с сетью. lazy umount не решение.

У каждой свои недостатки, поэтому заменой nfs не являются.

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

usermod
()
Ответ на: комментарий от einhander

Поддержка последней версии NFS 4.1 – одно из основных новшеств Windows Server 2012.

Значит моя информация немного устарела. (=

Сам подключался с винды к nfs на nas, хз какая там была версия.

Сторонними средствами, или встроенными? Изначально речь шла именно про встроенное. Учитывая что в венде некоторые вещи включаются в отдельном окошке через "обновление", будем считать что это встроенные средства, хотя бы потому, что оно там всё от Microsoft.

mord0d ★★★★★
()
Ответ на: комментарий от usermod

Просто сетевая файловая система с локальным доступом на клиенте, как будто это обычный винчестер

На практике, только NFS это может. Все альтернативы умудрялись сбоить дойдя до тестовой эксплуатации, smb подошла ближе всех, но некоторые приложения отказались с ней работать, в часности ансис не мог выполнить расчёт кейса, если он лежал на smb. С nfs такой проблемы нет.

einhander ★★★★★
()
Ответ на: комментарий от mord0d

FIXME: В Linux поведение NFS может отличаться.

Вот именно. Использую NFSv3:

  1. оно умеет сообщать, что сетевой каталог снова доступен
  2. локи есть (через отдельные сервисы, правда), из man nfs

lock / nolock Selects whether to use the NLM sideband protocol to lock files on the server.

  1. отмонтирование через umount -l

Я как раз использую NFS вместе с dovecot, правда в локальной сети. Для интернета скорее подойдет imapc.

MirandaUser2
()

Основная цель экономия места на впс.

У dovecot же есть встроеннный тип mailbox для такого сценария: https://doc.dovecot.org/main/core/config/mailbox/formats/imapc.html

The imapc storage accesses a remote IMAP server as if it were a regular (local) Dovecot mailbox format. Dovecot can treat it as a dummy storage or optionally a more capable storage.

MirandaUser2
()