Ответить на комментарий

 

Информация

Принципы cafs:

  • Независимость от сервера (т.е. не требуется server-side конфигурации)
  • Возможность работы поверх любой фс
  • (пока) read-only

Примеры использования

1: мобильные клиенты

Ситуация: существует некий мобильный клиент (ноутбук), который часто оказывается в разных сетях и пользуется их сетевыми файлохранилищами. В такой ситуации часто может потребоваться получить файл из какой-то сети, находясь в другой. Однако из-за политик безопасности такое возможно редко.
CAFS частично решает эту проблему путем кеширования. А именно, находясь в режиме online и работая поверх какой-либо сетевой фс, cafs кеширует открываемые файлы и директории. Когда клиент оказывается в другой сети и исходная файловая система становится недоступной, cafs переходит в режим offline и позволяет читать кешированые файлы.

2: клиенты с медленным и/или нестабильным подключением

Если клиент работает с удаленными файлами по медленному или нестабильному подключению (Wi-Fi, Dial-Up, GPRS), cafs может помочь своим кешированием. Когда подключение падает, cafs автоматически переходит в режим offline, а через некоторое время снова пытается подключиться.
Для медленных клиентов может пригодиться возможность использования кеша в онлайн-режиме (т.е. фс некоторое время пользуется кешироваными данными даже в онлайн режиме).

3: горизонтальное масштабирование

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

Реализация

CAFS реализована в качестве виртуальной ФС fuse и написана на языке Python 2.4.

Требования

  • python 2.4
  • fuse 2.7 или 2.5
  • pyFuse
  • paramiko для работы по sftp

Реализованые возможности:

  • поддержка sftp
  • автоматический переход онлайн/оффлайн
  • очистка кеша

Известные проблемы:

  • невысокая производительности (причина: слишком простой кеш)
  • очистка кеша реализована пока не полностью
  • вызов statfs не реализован

Ответить

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
КАПЧА