The OpenNET Project / Index page

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

28.10.2014 10:42  Код OverlayFS принят в состав ядра Linux 3.18

В тестовом выпуске ядра Linux 3.18-rc2 появилась поддержка файловой системы OverlayFS, разработанной компанией SUSE в качестве более прогрессивной замены UnionFS и AUFS. В процессе цикла подготовки первого кандидата в релизы, включение OverlayFS в состав ядра было отложено, но в последний момент разработчикам удалось устранить финальные замечания и код был принят во второй кандидат в релизы.

OverlayFS позволяет создать виртуальную многослойную файловую систему, объединяющую несколько частей других файловых систем. OverlayFS входит в число наиболее ожидаемых в ядре возможностей, так как многослойная ФС востребована в Live-дистрибутивах и системах контейнерной виртуализации, и в частности, необходима для организации работы контейнеров отдельных десктоп-приложений. При помощи OverlayFS можно организовать файловую систему, которая будет сформирована поверх доступной только на чтение основы, созданной из существующей директории в уже примонтированной типовой ФС.

ФС создаётся из нижнего и верхнего слоёв, каждый из которых прикрепляется к отдельным директориям. В качестве нижнего слоя, используемого только для чтения, могут применяться директории любых поддерживаемых в Linux систем, включая NFS и другие экземпляры OverlayFS. Верхний слой, который может быть доступен на запись, будет перекрывать состав нижнего слоя, т.е. если файлы дублируются, в итоговой ФС будет виден только перекрывающийся контент верхнего слоя. При этом все записываемые и изменяемые данные будут сохраняться только в верхнем слое, даже если изначально они размещались в нижнем слое ФС, что позволяет использовать одну основу для создания серии одинаковых окружений (контейнеры приложений), гарантировать неизменность базовых данных (гостевые сеансы) или организовать полноценную работу поверх накопителя, не поддерживающего запись (CD/DVD).

Основным недостатком ранее существующей файловой системы UnionFS и созданного на её основе ответвления AUFS является излишне усложнённая кодовая база, составляющая примерно 60 тысяч строк кода, не использующая штатную подсистему VFS. Код AUFS и UnionFS очень трудоёмок для сопровождения и не отвечает требованиям к оформлению кода для ядра Linux, что не позволяло включить его в основной состав ядра. Кроме того, производительность и надёжность данных систем оставляет желать лучшего. В рамках проекта OverlayFS предпринята попытка создания компактного, надёжного и высокопроизводительного аналога UnionFS, построенного поверх штатной подсистемы VFS.

Механизм работы OverlayFS в корне отличается от UnionFS: после открытия файла, все операции с ним напрямую транслируются непосредственно в базовые файловые системы, из которых составлен раздел OverlayFS. Подобный подход позволяет существенно упростить реализацию многослойной ФС и добиться производительности на уровне основной ФС. В OverlayFS поддерживается отдельное дерево элементов директорий (dentry), дублирующее подобные структуры низлежащих ФС, что позволяет обеспечить быстрое кэширование запросов без внесения изменений в VFS, но приводит к дополнительным затратам памяти за счёт дублирования в памяти параметров inode (предусмотрена возможность оптимизации для совместного использования inode, не привязанных к директориям).

  1. Главная ссылка к новости (http://www.heise.de/open/meldu...)
  2. OpenNews: Разработчики GNOME подготовили пожелания по улучшению ядра Linux
  3. OpenNews: Для Fedora Linux создан репозиторий для тестирования новинок в ядре Linux
  4. OpenNews: Red Hat и Docker развивают систему изолированных контейнеров для десктоп-приложений
Лицензия: CC-BY
Тип: Программы
Ключевые слова: overlayfs, linux, kernel
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Lautre, 11:47, 28/10/2014 [ответить] [смотреть все]
  • +10 +/
    Класс!
     
     
  • 2.29, crypt, 21:38, 28/10/2014 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    +6? а в каких случаях вы используете это?
     
     
  • 3.31, uhbif19_, 21:51, 28/10/2014 [^] [ответить] [смотреть все]
  • +/
    AuFS используется Docker.
     
  • 3.36, Lautre, 09:16, 29/10/2014 [^] [ответить] [смотреть все]
  • –1 +/
    Livecd кальки работают на aufs утилиты calculate-assemble 3 ... весь текст скрыт [показать]
     
  • 1.2, Xaionaro, 11:48, 28/10/2014 [ответить] [смотреть все]  
  • +2 +/
    Рад слышать. Неудобно было использовать внешний patchset для поддержки AUFS.
     
  • 1.3, Аноним, 12:07, 28/10/2014 [ответить] [смотреть все]  
  • –1 +/
    Docker заживет новой жизнью.
     
     
  • 2.5, Аноним, 12:20, 28/10/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    в венде и шапке её всё равно не будет, в отличие от докера
     
     
  • 3.6, Michael Shigorin, 12:33, 28/10/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Как полагаете, сколько лет этому патчсету и много ли подобных в шапочных 2 6 32... весь текст скрыт [показать]
     
     
  • 4.8, Аноним, 12:35, 28/10/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    а aufs как не было в 2.6.32 так и нет, nih-синдром это не шутки
     
     
  • 5.9, Аноним, 12:41, 28/10/2014 [^] [ответить] [смотреть все]  
  • +/
    написали же aufs и unionfs по кодовой базе УГ если оверлай будет безглючным, ста... весь текст скрыт [показать]
     
     
  • 6.20, Mirraz, 15:44, 28/10/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Написали, что aufs - плохо, а ты и поверил. Нет, это чисто NIH.
     
     
  • 7.22, Led, 17:39, 28/10/2014 [^] [ответить] [смотреть все]  
  • +4 +/
    Ну, ты же внимательно смотрел код aufs, поэтому точно знаешь, что это чисто NIH... весь текст скрыт [показать]
     
  • 1.7, Michael Shigorin, 12:34, 28/10/2014 [ответить] [смотреть все]  
  • +1 +/
    Отлично, будем посмотреть (ц)
     
     
  • 2.10, Гость, 12:53, 28/10/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Михаил, меня одна из прошлых реализаций интересовала как возможность миграции да... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.12, Аноним, 14:08, 28/10/2014 [^] [ответить] [смотреть все]  
  • +/
    LVM?
     
     
  • 4.16, Гость, 14:42, 28/10/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Я рассматривал такой вариант, через него и осуществил затею Но хочется прозрачн... весь текст скрыт [показать]
     
     
  • 5.17, Аноним, 15:07, 28/10/2014 [^] [ответить] [смотреть все]  
  • +3 +/
    "Хочу есть, но не ртом."
     
  • 5.19, Andrey Mitrofanov, 15:11, 28/10/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Ну, рассказывай, чем тебе pvmove не сверху стеклом накрыл ... весь текст скрыт [показать]
     
     
  • 6.26, Sinot, 19:21, 28/10/2014 [^] [ответить] [смотреть все]  
  • +/
    Я так понял, что у OverlayFS есть возможность переноса данных между дисками с ра... весь текст скрыт [показать]
     
     
  • 7.28, Аноним, 21:37, 28/10/2014 [^] [ответить] [смотреть все]  
  • +/
    хреново документацию читал pvmove перемещает экстенты между pv на ходу
     
     
  • 8.30, Sinot, 21:51, 28/10/2014 [^] [ответить] [смотреть все]  
  • +/
    То есть если у меня есть lv с ext4 и lv с fat32, я с помощью pv смогу перенести ... весь текст скрыт [показать]
     
     
  • 9.32, Аноним, 22:03, 28/10/2014 [^] [ответить] [смотреть все]  
  • +/
    тебе не нужен второй lv, первый lv просто переезжает с одного pv на другой.
     
     
  • 10.35, Sinot, 08:42, 29/10/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Мы друг друга не поняли У меня есть диск с одной ФС, я хочу переехать на другой... весь текст скрыт [показать]
     
     
  • 11.40, Гость, 12:00, 30/10/2014 [^] [ответить] [смотреть все]  
  • +/
    Именно Я ровно того же хочу Есть гора серверов с зоопарками файловых систем, к... весь текст скрыт [показать]
     
  • 11.42, Andrey Mitrofanov, 09:56, 31/10/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Ммм, ну да, use case Правда если прикинуть частоту перехода на новую FS прибли... весь текст скрыт [показать]
     
  • 11.43, Andrey Mitrofanov, 10:05, 31/10/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Да, остановить Сервис и сделать rsync тяжелее, конечно, чем Или даже _невозмо... весь текст скрыт [показать]
     
  • 3.24, Michael Shigorin, 18:42, 28/10/2014 [^] [ответить] [смотреть все]  
  • +/
    Если локально, то может иметь смысл MD RAID1 обратите внимание на --write-mostl... весь текст скрыт [показать]
     
  • 1.11, izyk, 12:58, 28/10/2014 [ответить] [смотреть все]  
  • –1 +/
    > построенного поверх штатной подсистемы VFS.

    Ну не совсем.
          vfs: export check_sticky()
          vfs: add whiteout support
          vfs: add RENAME_WHITEOUT
          ext4: support RENAME_WHITEOUT
          shmem: support RENAME_WHITEOUT
    Ох уж эти ВАЙТАУТЫ, тот еще костыль.
    Не зря, Линус так долго сопротивлялся.
    Но, продовили, все же.
    Знаком, немного, с этим по NetBSD.
    "DragonFly" гордится что ушел от этого, а в Linux,
    только вкорячили.
    Печалька. IMHO.

     
     
  • 2.13, Xaionaro, 14:08, 28/10/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А не лень будет написать конкретнее Что это за WHITEOUT-ы и чем они плохи А то... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.15, Andrey Mitrofanov, 14:30, 28/10/2014 [^] [ответить] [смотреть все]  
  • +/
    https kernel googlesource com pub scm linux kernel git mszeredi vfs over... весь текст скрыт [показать]
     
     
  • 4.18, izyk, 15:10, 28/10/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Точно В каталоге появляется запись с именем файла и типом whiteout , по сути, ... весь текст скрыт [показать]
     
  • 4.21, Xaionaro, 16:40, 28/10/2014 [^] [ответить] [смотреть все]  
  • +/
    Ок, спасибо Я гуглил без слова overlayfs , так как думал, что это более общая ... весь текст скрыт [показать]
     
     
  • 5.25, izyk, 19:06, 28/10/2014 [^] [ответить] [смотреть все]  
  • +/
    Да, более общая unionfs whiteout aufs whiteout ... весь текст скрыт [показать]
     
  • 3.23, Konstantin, 17:49, 28/10/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    давно еще писал, что такое вайтаут http unixfaq ru index pl req qs id 414 пло... весь текст скрыт [показать]
     
  • 2.14, Минона, 14:20, 28/10/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    да он много от кого чего ушел пришел бы еще куда-нибудь ... весь текст скрыт [показать] [показать ветку]
     
  • 2.37, seyko2, 10:09, 29/10/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Каким образом DragonFly ушёл от whiteout? В Linux планировали реализовать witeout через специальный char device. Возможно так и сделали. Однако OvelayFS не достаточно для нормального livecd типа Slax. OverlayFS позволяет объединить только два каталога -- read-write и read-only. А желательно как минимум много read-only.
     
  • 1.27, Gannet, 19:47, 28/10/2014 [ответить] [смотреть все]  
  • –1 +/
    Чудесно. Только вот RC2 не грузится. Упс.
     
  • 1.34, pavlinux, 01:43, 29/10/2014 [ответить] [смотреть все]  
  • +/
    Ура, мои сигналы в ноосферу достигли их мозгов спустя 20 лет!
     
     
  • 2.41, andy, 06:13, 31/10/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    > Ура, мои сигналы в ноосферу достигли их мозгов спустя 20 лет!

    В следующий раз в багтрекер стучись или в рассылку пиши.

     
     
  • 3.45, Аноним, 02:04, 04/11/2014 [^] [ответить] [смотреть все]  
  • +/
    Не всегда и не все так просто порой проще отправить в Ноосферу гораздо проще чем... весь текст скрыт [показать]
     
  • 1.44, Аноним, 02:02, 04/11/2014 [ответить] [смотреть все]  
  • +/
    А что с удалением А что с повторным монтированием А в файл можно А что насчет... весь текст скрыт [показать]
     
  • 1.46, iZEN, 11:50, 14/08/2017 [ответить] [смотреть все]  
  • +/
    Так это ж nullfs из FreeBSD, которой сто лет в обед: "The nullfs layer first appeared in 4.4BSD."
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor