LINUX.ORG.RU

Вышла remotefs 1.0

 , ,


5

2

После длительного перерыва в разработке вышла версия 1.0 сетевой файловой системы, нацеленной на домашние NAS'ы. За время прошедшее с предыдущего релиза были сделаны следующие изменения:

  • Добавлена поддержка timeout'ов на разные операции, чтобы исключить «застревание» файловых операций на разорваном соединении.
  • Поддержка новой версии FUSE (>=2.8) позволило несколько упростить внутреннее устройство remotefs без потери производительности.
  • В конфигурации теперь можно указывать не только IP-адреса, но и имена хостов.
  • Исправлено несколько небольших ошибок.

Remotefs предназначена для людей, на чьём железе по каким-либо причинам не работает или работает плохо NFS, Samba, sshfs и т.д.

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

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

Сервер remotefs использует не больше 384 килобайт памяти на соединение, и небольшую долю CPU (в неэкстремальных режимах), что позволяет обслужить достаточное количество одновременных соединений даже на дешёвом роутере с 16 мегабайтами памяти и обеспечить передачу закодированого 720p видео по WiFi.

Полный список изменений

>>> Сайт проекта

Почему нельзя было просто использовать 9p?

loz ★★★★★ ()

remotefs предназначена для людей на чьём железе по каким-то причинам не работает или работает плохо NFS, Samba, sshfs и т.д.

Кто-то сталкивался с «плохой работой» вышеупомянутых?

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

Как клиент-сервер или как протокол? Как клиент-сервер - долго перечислять причины, как протокол - протокол remotefs вырос из FUSE и повторяет стандартное API для доступа к файлам.

aleksey_tulinov ()

Звучит интересно, спасибо за новость.

haku ★★★★★ ()

обработка симлинков где идёт? на стороне сервера или клиента? можно ли менять поведение обработки симлинков?

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

-o transform_symlinks аналогичен опции из sshfs. В целом обработка идёт на клиенте, если я правильно понимаю вашу мысль, т.е. вы всегда получите на клиенте полноценный симлинк, а не файл на который он указывает. С опцией, клиент перетранслирует абсолютный симлинк в относительный и он будет показывать в примонтированную фс.

aleksey_tulinov ()

Это такое ненужно, которое тупит при при использовании мелких файлов больше, чем sshfs?

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

Это такое нужно, которое работает там, где вообще больше ничего не работает

pekmop1024 ★★★★★ ()

remotefs использует не больше 384 килобайт памяти на соединение

Порадовало. Когда-то на этом целая ОС работала.

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

Это когда у Вас ТСО больше, чем стоимость устройства?

ktulhu666 ☆☆☆ ()

remotefs собирается и работает на любой современной операционной системе.

Лютое 4.2

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

Ты сейчас точно говоришь об инструменте для лепления конфетки из говна? :)

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

Это утверждения или в чём вопрос?
Я говорю о том, что использовать роутер для всяких извращений - это уже лютый дебилизм, т.к. на это тратится уйма времени, при этом всё тормозит, разваливается на ходу, всё постоянно устаревшее, дырявое, неподдерживаемое и т.д. У таких решений такое ТСО, что лучше уж сервер отдельный поставить с виртуалками.

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

Да нахрен никому не уперся сервер с виртуалками, кроме богатеньких гиков вроде нас с тобой :)

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

А бедненькие гики предпочитают ковыряться по 40 часов в неделю с роутере за 1500 рублей, пытаясь заставить его работать, как NAS, качалку, jabber-сервер, FTP-сервер и сервер говнобложика? :)

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

Истину глаголишь :) Впрочем, поковыряться надо пару часов и навсегда, если честно.

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

Это если у тебя именно тот роутер и той ревизии, которой у автора манула, если пакеты с тобой времени не обновлялись, никакого бага не всплывёт, и если твои потребности именно такие, как у автора пакета (потому как пакеты всегда кастрированы по самые уши).

ktulhu666 ☆☆☆ ()

@anonymous Total cost of ownership. Такой экономический термин, который обычно выражается в цифрах.

@grouzen Если вы загрузите в память hello world, то вы не получите меньше 200кб в RES, цифра 384 учитывает это, делает скидку на SHR и то, если вы запускаете remotefs не на Linux или FreeBSD, то вам понадобится 128кб буфер для того чтобы гнать данные по сети со сколько-нибудь приемлемой скоростью.

@ktulhu666 Спасибо за отзыв. Я вам лично рекомендую remotefs потому что одной из целей было минимизация времени которое вам понадобится затратить на оборудование, установку, конфигурацию и, возможно, портирование. Если вы видите как это время можно ещё сократить - я вас приглашаю в рассылку remotefs-devel@lists.sourceforge.net.

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

И ещё всё это будет крутиться на 2.4 ядре, а все приложения уже будут иметь по паре публичных эксплойтов. И все будут от рута запущены. :) И в официальной репе их будут обновлять раз в 2 года, при этом обязательно нужно будет сменить основную прошивку (и, конечно, бекап её конфигов не подойдет, т.к. формат уже успел смениться).

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

В треде речь про опенврт. Ты вообще знаешь, что это такое?

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

Я приглашаю Вас открыть для себя NFS (для nix) и Samba (для win/apple). Первый вариант настраивается крайне быстро, может работать через UDP или TCP, имеет огромную производительность, работает сразу не уровне ведра (как клиент, так и сервер), имеет во многих (например, связанных с виртуализацией или отдачей контента) приложения модули для прямого соединения. А ещё рекомендую выкинуть роутер (если он не в серверной стойке стоит, конечно) в ближайшее окно и купить себе нормальный домашний сервер (в зависимости от бюджера: от атома до 8U Oracle Server).

ktulhu666 ☆☆☆ ()

Remotefs предназначена для людей, на чьём железе по каким-либо причинам не работает или работает плохо NFS, Samba, sshfs и т.д.

Можно примеры? Плохо себе представляю юзкейс, где бы я не мог заюзать уже существующие ФС.

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

В треде речь про опенврт. Ты вообще знаешь, что это такое?

Конечно. Очень хорошо описал проблемы выше. Я сам какое-то время пользовался говнороутером и подобными прошивками. Теперь смотрю на это, как на детские глупые шалости. С моей точки зрения openwrt нужна именно для того, для чего делалась: для замены стандартных недопрошивок с троями и дырками и предоставлению пользователю более-менее вменяемого интерфейса для конфигурирования. Т.е. использовать роутер для роутинга, туннелей, DHCP и WiFi.

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

ktulhu666 ☆☆☆ ()

Сервер remotefs использует не больше 384 килобайт памяти на соединение, и небольшую долю CPU
многопоточный доступ к файлам пожертвован в пользу последовательного доступа к одному файлу

Какая-то крайне узкая ниша.

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

Ну типичный пример: роутер с 8Мб флеш, кастомным кастрированным ядром (которое хрен пересоберешь и переустановишь без бутылки психотропных, генты, JTAG и прочтения половины форума по openwrt), с 8-16Мб оперативной памяти (после загрузки дай б-г, чтобы хоть один метр был свободным, это не учитывая то, что ещё SSH нужно поставить) и процом в 300МГц (при том, что это далеко не 300МГц x86-ого процессора).

ktulhu666 ☆☆☆ ()
Ответ на: комментарий от aidaho

Называйте вещи своими именами: не «ниша», а «днище».

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

Не катит пример. У меня роутер с 4 Мб флеш и 16 Мб ОЗУ. На нём крутится своя кастомная сборка OpenWRT, где всё бережно упаковано в SquashFS, таким образом туда уместился полноценный OpenSSH (помимо всего прочего).

А уж на 8 Мб флеша было бы раздолье...

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

Ну а по производительности, если через SSH гнать с USB-харда фильм? :)

ktulhu666 ☆☆☆ ()
Ответ на: комментарий от maverik

Кто-то сталкивался с «плохой работой» вышеупомянутых?

Имею sshfs «туннелированную» директорию с VPS на локальный хост. Через sshfs операции на файлах до 10 раз медленнее, чем напрямую через scp.

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

NFS, наверное, по памяти где-то может не влезть (я давно не пользовался, гадаю).
SSH сейчас везде, но он с дохлыми cpu совсем не дружит.

aidaho ★★★★★ ()

@Chaser_Andrey

Можно примеры? Плохо себе представляю юзкейс, где бы я не мог заюзать уже существующие ФС.

Я не знаю ваших обстоятельств. Если у вас NFS работает как у меня: отдаёт часть файла, ждёт 20 секунд, отдаёт другую часть файла, то вы можете попробовать remotefs. rfsd вообще делался для того, чтобы изначально не создавать сложностей: никаких зависимостей, никаких 3 разных процессов запущенных на сервере только чтобы успешно соединиться, вы его поставили и он работает на чём угодно. Плюс обычные полезные побочные эффекты которые возникают когда вы следуете стандартам: поддержка симлинков, RWX права на файлы, POSIX ACL, если он вам нужен, и т.д.

@aidaho

Какая-то крайне узкая ниша.

Зато rfs работает хорошо в этой нише, а для других целей есть другие файловые системы. И я не согласен, что работа на любом железе - это крайне узко.

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

ну я сталкивался - NFS на PartedMagic подмонтированный диск не экспортировался - говорил, что корня подмонтированного нет и работать не буду. Пришлось туда вкорячить sshfs,lanfile,9P...

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

Я всё пробовал :) Вы если будете в Киеве - напишите мне на емейл, я вам подарю корпус для MiniITX с ISO-кремплением и крепёжной пластиной, миниатюрный ИБП с КПД 98% и какой-нибудь атом. Мне не нужно :)

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

работа на любом железе

С vsftpd сравнивали? Он конечно в плане памяти потолще раза в 4, но всё ещё помещается в озвученные 16Мб.

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

С vsftpd не сравнивали. На вики есть старенькая статья со сравнением rfs/nfs/cifs/glusterfs, когда мы ещё смотрели можно ли что-то ещё выжать из железа, или оно уже работает около предела. Сейчас производительность отслеживается сравнением новой версии с предыдущей только чтобы предотвратить регрессию.

aleksey_tulinov ()

И да, автор, я бы советовал свалить с sourceforge. У них всё отстойное - архивы мейллистов, доступ к тарболам...

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

remotefs предназначена для людей на чьём железе по каким-то причинам не работает или работает плохо NFS, Samba, sshfs и т.д.

Кто-то сталкивался с «плохой работой» вышеупомянутых?

Чем кривые руки не причина? Хотя испортить тот же NFS нужно ещё уметь...

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

Нет...

... не так. Если:

Если у вас NFS работает как у меня: отдаёт часть файла, ждёт 20 секунд, отдаёт другую часть файла, то вы можете попробовать remotefs.

Если так будет настроена NFS, либо поддержка оной в ядре (как вариант — ядро в preemptive mode, да ещё и low-latency desktop, а не server) то проще пристрелить админа. И настоить самостоятельно (руками).

Из опыта могу так же рекомендовать OpenAFS. Весьма недурственно...

anonymous ()
Ответ на: Нет... от anonymous

Да, preemptive, low-latency, пристрелить админа. Прекрасно вас понимаю. Попробуйте remotefs - там всего этого нет by design.

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

Это когда у Вас ТСО больше, чем стоимость устройства?

TCO использования устройства всегда больше стоимости этого устройства. ;)))

Математика млин.

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

Я тупой. Что такое ТСО?

Total cost of ownership. Общая стоимость владения. Это сумма всех явных и не явных затрат, которые необходимо выполнить для применения чего-либо (хранилища данных).

VoDA ★★ ()

А если видео с субтитрами или дополнительной звуковой дорожкой? Это же надо читать более одного файла одновременно.

rezedent12 ☆☆☆ ()

По описанию интересная штука. Надо будет попробовать, может флешечный способ перетаскивания файлов таки отомрёт

Winnerer ()

В конфигурации теперь можно указывать не только IP-адреса, но и имена хостов.

киллер фича

bezgubov ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.