The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"OpenNews: Вышел релиз сетевой файловой системы POHMELFS"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Вышел релиз сетевой файловой системы POHMELFS" +/
Сообщение от Аноним (-), 04-Май-08, 20:57 
>это подходит только в случае когда данные находятся на том же сервере
>что и meta-data.
>тогда вы перекладываете работу которую вам надо сделать - на плечи vfs.

Именно, и чем больше я ее туда перекину, тем будет лучше.

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

Зависит от флагов - можно сделать как sync, так и async транзакцию.
Со второй мы можем потерять данные, т.к. никогда не узнаем, что она завершилась.

Сейчас транзакция содержит до 14 (размер pvec) страниц. Можно увеличить (опция монтирования), но VFS не очень дружит, я лениво сделал почти как в write_cache_pages().

Можно создать сколько угодно много транзакций и запустить их параллельно (на сервере они и будут обрабатываться параллельно), но мой опыт работы с ядерными сокетами показывает, что больше чем один поток размером в примерно 64к на 1гбит/с не нужно, т.к. сеть не тянет, поэтому есть одна кэшированная (в смысле не создается все время, а создана статически для сокета) транзакция на сокет, с которой идет бОльшая часть работы. Прием по отношению к ней асинхронен.

Собственно, пока мы с вами беседовали, я доделал механизм транзакций, сейчас начну failover, возможно сегодня/завтра будет, что показать...

>клиент делает statfs - при этом другой клиент пишет (изменяет размер).
>какой размер увидит первый клиент? будет ли повторно запрашиваться атрибуты файлов если
>сделать 2 раза ls -l на каталоге с 100к файлов?

Нет, они же кэшируются на клиенте. Если памяти достаточно и иноды не выкинули, в таком случае их придется перечитать. Статистика пока не синхронизируется.

>>Все синхронизации делаются не строже, чем в случае локальной работы нескольких потоков
>>с одним и тем же файлом.
>
>в случае локальной работы - за вас всю синхронизацию делает vfs.
>в случае сетевой работы (при нескольких нодах) - вам это прийдется делать
>за vfs.

Я имел ввиду, что pohmelfs сервер делает их не строже, чем VFS для локальных потоков.
Хотя, например direct-io я просто убил на клиенте... Тоже способ, хотя не самый красивый, при необходимости всегда можно вернуть :)

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
OpenNews: Вышел релиз сетевой файловой системы POHMELFS, opennews, 26-Апр-08, 21:56  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру