OpenVZ Forum


Home » International » Russian » openvz-el5 и unionfs
openvz-el5 и unionfs [message #11931] Thu, 12 April 2007 07:28 Go to next message
seyko2 is currently offline  seyko2
Messages: 188
Registered: February 2007
Location: Moscow
Senior Member

А как обстоит дело с unionfs для openvz-el5? Без patch-ей от RedHat (в openvz-028test015 например) проблема вроде была только с количеством аргументов в вызове permission-функции (точно не помню). А в openvz-el5 проблема уже в отсутствующих членах структур.

Похоже, что в openvz-el5 все хорошо, но мне туда не надо. Ибо вряд ли RedHat будет заморачиваться с доработкой unionfs для Enterprise

[Updated on: Thu, 12 April 2007 07:29]

Report message to a moderator

Re: openvz-el5 и unionfs [message #12002 is a reply to message #11931] Fri, 13 April 2007 18:05 Go to previous messageGo to next message
seyko2 is currently offline  seyko2
Messages: 188
Registered: February 2007
Location: Moscow
Senior Member

Посмотрел внутрь 018to027.patch (сделал по запросу из GIT-репозитария). То есть patch для преобразования версии 028test018 в 028stab027. Процесс стабилизации, как выяснилось, состоял в откате модификации для функции permissions. То есть в стабильной опять нормальное количество аргументов и unionfs уже патчить не надо (для варианта 028stab027+). Как обстоит дело с unionfs в openvz-el5 -- этот вопрос еще не изучен.
Re: openvz-el5 и unionfs [message #12011 is a reply to message #11931] Sat, 14 April 2007 04:11 Go to previous messageGo to next message
seyko2 is currently offline  seyko2
Messages: 188
Registered: February 2007
Location: Moscow
Senior Member

Проработка состояния UNIONFS выявила следующее...

Существуют unionfs 1.x, unionfs 2.x и aufs. unionfs 1.x -- по утверждениям авторов KMOPPIX и SLAX страдают нестабильностью и создают слишком много и необоснованно whiteouts (такие спецфайлы-маски для индикации удаленных файлов) unionfs 2.x -- это обрезанный до минимума 1.x (и измененной местами семантикой) с целью вклбчения в ядро 2.6.20-2.6.21. Утверждается, что тестировался и отлажен значительно лучше 1.x aufs -- это ветка 1.x, которую начал дорабатывать японец, делал это долго и упорно, учитывая просьбы разработчиков LiveCD. Поэтому новый SLAX (6.0) планирует использовать aufs, а KNOPPIX 5.1.0+ -- уже использует aufs. Фича, которой похоже нет в unionfs -- возможность объединения до 32000 каталогов (правда за счет падения производительности файловых операций)

В общем наверно правильнее начать с unionfs 2.x (прилепить ее к openvz-el) и уж по результатам судить о дальнейших путях.

Сама идея unionfs сулит много, RedHat выдвинул концепцию StateLess workstation (или что-то вроде этого). На SourceForge существуеи MapFS проект от прооизводителя сетевых дисков Levanta (NAS/SAN), который напоминает unionfs (только там надо специально описывать, что видит клиент). Ибо такой способ позволяет эфективно разделять сетевые ресурсы между рабочими станциями.

PS: Если MapFS работает нормально, то может составить альтернативу для unionfs при работе openvz-окружений. MapFS -- это "mount -o bind" из многих каталогов (а не из одного) в один, причем оригинальные каталоги не меняются. Технология не использует white-out-файлы (меняется описание экспорта и rw-часть). RW-часть только одна. Имеет fsck-программу.

Лично мне MapFS по духу ближе и понятнее UNIONS. Если кто помнит ARVID (бэкап-система на домашнем видике), то там использовалась концепция именно MapFS: имеем на диске метаданные (имена файлов и каталогов, их атрибуты), а сами данные -- на видике и не всегда доступны. Но можно осуществлять поиск файлов, выполнять реорганизацию структуры каталогов (перемешать, переименовывать) не трогая мафон. А для UNIONFS, чтоб изменить структуру результирующего объединения, надо менять или сами составляющие (ветви), или в rw-каталлоге сочинять кучу white-out. Однако для UNIONFS похоже невозможно реорганизовать структуру без копирования в rw-каталог

PPS: различие в технологиях UnionFS и MapFS мне видится как различие между скоростью/размером при компиляции программ. UnionFS очень быстро подключает в объединение каталоги без необходимости какой-либо предварительной подготовки. MapFS при подключении каталога должна просканировать его и внести описание всей его структуры в view (файл метаданных). Или это должно быть проделано заранее. Зато при работе UnionFS имеет кучу проблем (те самые whiteout-файлы, которые плодятся быстрей кроликов) и попытки соптимизировать задачу перемещения файлов по каталогу без создания его копии в rw-части.

MapFS "медленно запрягает, зато быстрей едет"...

MapFS можно рассматривать как каталог с симлинками на различные read-only файлы и механизм copy-out в rw-часть при изменении файла с автоматической корректировкой сим-линка. Если учитывать, что symlink успешно используются в таких дистрах как GOBO-linux (для имитирования стандартной структуры каталогов в то время как каждый пакет на самом деле хранится в своем подкаталоге), то MapFS -- хороший кандидат на РЕАЛЬНО работающую реализацию unionfs (главное простую в реализации)

Но пока непонятно, зачем нужна copy-out часть, когда можно просто на автомате заменить symlink на сам файл? Оптимизация для размера copy-out? Тогда нужно хранить и bit-карту

[Updated on: Sat, 14 April 2007 06:09]

Report message to a moderator

Re: openvz-el5 и unionfs [message #12012 is a reply to message #11931] Sat, 14 April 2007 09:16 Go to previous messageGo to next message
seyko2 is currently offline  seyko2
Messages: 188
Registered: February 2007
Location: Moscow
Senior Member

Сделал diff между RHEL5 kernel 2.6.18-8.el5 и openvz 028stab027.1 (вроде одной версии должны быть). Наблюдаю массивный откат в RHEL версии всяких переименований, которые в openvz в наличии. Например в openvz нет inode.i_private (он переименован в inode.u.generic_ip).

А я то удивляюсь: почему MapFS не хочет для openvz компилится...

Вывод: 028stab для реальной жизни не пригоден. Возможна куча проблем с драйверами-модулями (так что все -- на openvz в варианте rhel5)

PS: хотя в gentoo-sources-2.6.28-r7 inode.i_private тоже отсуствует

[Updated on: Sat, 14 April 2007 14:46]

Report message to a moderator

Re: openvz-el5 и unionfs [message #12030 is a reply to message #12002] Mon, 16 April 2007 06:33 Go to previous messageGo to next message
Vasily Tarasov is currently offline  Vasily Tarasov
Messages: 1345
Registered: January 2006
Senior Member
Добрый день,

мы в данный момент работаем над созданием OpenVZ Live-CD основанного на KNOPPIX, который использует aufs. Откат permission: одно из изменений связанных с этой инициативой.

Василий.
Re: openvz-el5 и unionfs [message #12117 is a reply to message #12012] Tue, 17 April 2007 21:54 Go to previous messageGo to next message
dev is currently offline  dev
Messages: 1693
Registered: September 2005
Location: Moscow
Senior Member

насколько я понимаю, все эти переименования к openvz не имеют никакого отношения... это RHEL5 патчи, который делают backport из новых mainstream в 2.6.18.
openvz такие тонкости не меняет. был добавлен аргумент в permission(), да и то, гемморой превзошел всю пользу Confused , поэтому патч был откатан назад.


http://static.openvz.org/userbars/openvz-developer.png
Re: openvz-el5 и unionfs [message #12138 is a reply to message #12030] Wed, 18 April 2007 07:56 Go to previous message
seyko2 is currently offline  seyko2
Messages: 188
Registered: February 2007
Location: Moscow
Senior Member

Про aufs и unionfs...
В unionfs как-то неправильно организовали разработку. Для 2.6.18 бери версию 1.4, для 2.6.16 бери версию... CVS репозитарий только для unionfs я не нашел (он вроде как есть, но сильно засекречен). Все исправления ошибок идут в новую версию, старые версии не правятся. Портировать unionfs 2.0 в 2.6.18 -- проблемная задача (мне не удалось)

aufs имеет cvs хранилище, версия подходит под все ядра, есть инструкция для включения aufs в состав Linux-исходников...

Вывод: для версий ядра меньше 2.6.21 (туда предположительно войдет unionfs 2.0) unionfs -- странный кандидат.

PS: попробовал MapFS. Если исключить трудности загрузки модуля (использует не экспортируемые фунции ядра, адреса которых надо найти в System.map и подать модулю в качестве аргументов), то все работает. Однако для использования в качестве замены unionfs надо написать:
1) скрипт для загрузки ядерного модуля mapfs (который сам ищет нужные адреса функций)
2) скрипт для добавления/удаления каталога в/из MapFS. При добавлении каталога нужно его просканировать и добавить описание его структуры в MapFS, а при удалении каталога -- сканировать MapFS и удалять все файлы, которые находятся в удаляемом каталоге.

В общем -- это для второй попытки. Для начала хочется иметь более стандартный вариант. А далее -- по обстоятельствам. Основная проблема, которой страдал unionfs 1.x -- трудности реорганизовать структуру каталогов (перемещение каталога). Этим страдал и CVS (если читать коменты в spec-файле от RHEL5). Возможно, в aufs проблема решена (hard-линки между ветвями)
Previous Topic: Вопрос начинающего: настройка сети
Next Topic: *SOLVED* Start & stop
Goto Forum:
  


Current Time: Thu May 02 00:07:32 GMT 2024

Total time taken to generate the page: 0.01840 seconds