Реализация файловой системы ZFS с открытым исходным кодом
OpenZFS — это реализация файловой системы ZFS и менеджера томов с открытым исходным кодом , изначально разработанная Sun Microsystems для операционной системы Solaris , а теперь поддерживаемая проектом OpenZFS. Подобно оригинальной ZFS, реализация поддерживает такие функции, как сжатие данных , дедупликация данных , клонирование копирования при записи , моментальные снимки , RAID-Z и виртуальные устройства , которые могут создавать файловые системы, охватывающие несколько дисков.
Одной из основных возможностей OpenZFS является самовосстановление. Файловая система может обнаруживать и исправлять ошибки во время использования, без необходимости в специальном средстве проверки файловой системы. Эта функция делает ее пригодной для критически важных приложений, которым требуется высокая доступность.
OpenZFS в основном используется в корпоративных средах и центрах обработки данных , а также в потребительских устройствах, таких как сетевые устройства хранения данных (NAS), где надежность и безопасность данных имеют важное значение. Первоначально разработанная для Solaris, разработка с тех пор была сосредоточена на Linux , в то время как существуют порты для различных дистрибутивов BSD и macOS . В отличие от Oracle ZFS , OpenZFS лицензируется в соответствии с Common Development and Distribution License (CDDL), что позволяет использовать файловую систему как с открытым исходным кодом, так и в коммерческих целях.
Среди основателей OpenZFS был Мэтт Аренс, один из главных архитекторов ZFS. [3] В 2020 году кодовые базы OpenZFS и ZFS на Linux, модуль ядра , позволяющий использовать ZFS на Linux, были объединены и выпущены как OpenZFS 2.0, что позволило другим операционным системам, отличным от Linux, получить различные улучшения, которые со временем были включены в драйвер Linux. [4] [5]
История
Файловая система ZFS изначально была разработана компанией Sun Microsystems для операционной системы Solaris . Исходный код ZFS был выпущен в 2005 году под лицензией Common Development and Distribution License как часть операционной системы OpenSolaris , а позднее был перенесен в другие операционные системы и среды. [6] [7]
Ниже приведен список ключевых событий в развитии ZFS и ее различных реализаций: [6] [8]
- 2001: Разработка ZFS с закрытым исходным кодом началась двумя инженерами Sun.
- 2005: Исходный код ZFS был выпущен как часть проекта OpenSolaris.
- 2006: Начата разработка порта ZFS на FUSE для Linux.
- 2007: Apple начала проект по портированию ZFS на Mac OS X.
- 2008: Порт для FreeBSD был выпущен как часть FreeBSD 7.0.
- 2008: Начата разработка собственного порта ZFS Linux, известного как ZFS on Linux.
- 2009: Проект Apple ZFS закрыт, и проект MacZFS взял на себя разработку драйвера. (С тех пор он также был прекращен; он был актуален до Mac OS X 10.9 ).
- 2010: Разработка OpenSolaris была прекращена после приобретения Sun Microsystems корпорацией Oracle , в результате чего дальнейшая разработка ZFS на Solaris больше не является разработкой с открытым исходным кодом.
- 2010: После прекращения был сформирован проект illumos , который разветвился на OpenSolaris для продолжения разработки с открытым исходным кодом, [9] [10] включая ZFS. Порты ZFS на другие платформы продолжались путем втягивания изменений из illumos .
- 2012: Были введены флаги функций для замены устаревших номеров версий на диске, что позволило упростить разработку формата ZFS на диске для поддержки новых функций.
- 2013: Сосуществуя со стабильной версией MacZFS, его прототипное поколение (известное как OpenZFS на OS X или O3X) использует ZFS на Linux в качестве новой исходной кодовой базы. [11] [12]
- 2013: Первый стабильный релиз ZFS на Linux. [13]
- 2013: Официальное объявление проекта OpenZFS как организации для поддержки OpenZFS. [14] [15] Новые функции и исправления регулярно добавляются в OpenZFS из illumos и переносятся во все порты на другие платформы, и наоборот. [6]
- 2016: Ubuntu 16.04 по умолчанию включает в себя вариант файловой системы ZFS с открытым исходным кодом.
- 2020: ZFS на Linux была объединена с OpenZFS и добавлена поддержка FreeBSD, что объединило кодовую базу для обеих платформ. [16]
Порты
Поскольку в 2005 году FSF (Free Software Foundation) заявил, что между CDDL и GPL существует юридическая несовместимость , реализация файловой системы ZFS от Sun не могла использоваться в качестве основы для разработки модуля в ядре Linux , не могла быть объединена с основным ядром Linux , и дистрибутивы Linux обычно не включали ее в качестве предварительно скомпилированного модуля ядра. [17] [18] [19] В качестве обходного пути в Linux в качестве разделительного слоя использовался FUSE — фреймворк, позволяющий файловым системам работать в пользовательском пространстве , к которому не применялись проблемы лицензирования, хотя и с набором собственных проблем, в том числе с потерей производительности. [7] [20] Однако релиз Ubuntu 16.04 LTS от апреля 2016 года включает ZFS в качестве модуля ядра. [21] [22]
Apple и OS X
В версии релиза Mac OS X 10.5 ZFS была доступна в режиме только для чтения из командной строки, в котором отсутствовала возможность создания z-пулов или записи в них. [23] До выпуска 10.5 Apple выпустила «ZFS Beta Seed v1.1», который позволял доступ для чтения и записи и создание z-пулов; [24] однако, как сообщается, установщик для «ZFS Beta Seed v1.1» работал только в версии 10.5.0 и не был обновлен для версии 10.5.1 и выше. [25] В августе 2007 года Apple открыла проект ZFS на своем веб-сайте Mac OS Forge. На этом сайте Apple предоставила исходный код и двоичные файлы своего порта ZFS, который включает доступ для чтения и записи, [26] но без установщика. [27] В октябре 2009 года Apple прекратила разработку проекта ZFS на Mac OS Forge без объяснения причин. Apple удалила все, кроме части исходного кода с лицензией CDDL, для своей финальной сборки проекта ZFS под кодовым названием «10a286». Полная поддержка ZFS изначально рекламировалась как функция Snow Leopard Server до запуска, [28] но к моменту выпуска операционной системы все ссылки на эту функцию были удалены со страницы функций. [29]
Исходный код Apple "10a286" и версии ранее выпущенных исходников и двоичных файлов были сохранены, а новая разработка была принята проектом MacZFS [30] [31] [32] для продолжения разработки за пределами Apple. По состоянию на июль 2012 года Mac ZFS реализует z-pool версии 8 и ZFS версии 2, выпущенную с выпуском Solaris в октябре 2008 года . Дополнительную историческую информацию и комментарии можно найти на веб-сайте Mac ZFS и в разделе FAQ . [33] Однако проект прекратил разработку в середине 2013 года с сообщением, в котором пользователям предлагалось перейти на O3X. [34]
Реализации
OpenSolaris
- OpenSolaris 2008.05, 2008.11 и 2009.06 используют ZFS в качестве файловой системы по умолчанию.
ОткрытьИндиана
- OpenIndiana использует OpenZFS с флагами функций, как это реализовано в Illumos . ZFS версии 28 использовалась до версии 151a3. [35]
- Обновляя OpenSolaris snv_134 до OpenIndiana и Solaris 11 Express, можно также обновить и отдельно загрузить Solaris 11 Express в том же пуле ZFS. [36]
macOS
- Open ZFS на OSX (сокращенно O3X ) — это реализация ZFS для macOS . [37] O3X находится в стадии активной разработки, тесно связана с ZFS на Linux и реализацией ZFS от illumos, сохраняя при этом совместимость с флагами функций с ZFS на Linux. O3X реализует z-pool версии 5000 и включает Solaris Porting Layer (SPL), изначально написанный для Mac ZFS, который был дополнительно улучшен за счет включения уровня управления памятью на основе распределителей kmem и vmem illumos. O3X полнофункционален, поддерживает сжатие LZ4, дедупликацию, ARC, L2ARC и SLOG. [ требуется ссылка ]
- MacZFS — это бесплатное программное обеспечение, обеспечивающее поддержку ZFS на macOS. Стабильная устаревшая ветвь обеспечивает до версии ZFS pool 8 и версии файловой системы ZFS 2. Ветка разработки, основанная на ZFS на Linux и OpenZFS, обеспечивает обновленную функциональность ZFS, например, до версии ZFS zpool 5000 и флаги функций. Эта реализация больше не поддерживается, и разработчики посоветовали пользователям перейти на O3X. [38] [39]
- Запатентованная реализация ZFS (Zevo) была доступна бесплатно от GreenBytes , Inc., реализуя файловую систему ZFS до версии 5 и пул ZFS версии 28. [40] Zevo предлагала ограниченный набор функций ZFS, ожидая дальнейшего коммерческого развития; она была продана Oracle в 2014 году с неизвестными планами на будущее. [ требуется ссылка ]
БСД
DragonFlyBSD
- Эдвард О'Каллаган начал первоначальный перенос ZFS на DragonFlyBSD . [41]
NetBSD
- Порт NetBSD ZFS был запущен в рамках Google Summer of Code 2007 года , а в августе 2009 года код был объединен с исходным деревом NetBSD. [ 42]
FreeBSD
- Павел Якуб Давидек портировал ZFS на FreeBSD , и он стал частью FreeBSD с версии 7.0. [43] Сюда входит zfsboot, который позволяет загружать FreeBSD напрямую из набора данных ZFS. [44] [45]
- Реализация ZFS во FreeBSD полностью функциональна; единственными отсутствующими функциями являются сервер ядра CIFS и iSCSI , но последний можно добавить с помощью внешних доступных пакетов. [46] Samba можно использовать для предоставления сервера CIFS в пользовательском пространстве.
- FreeBSD 13.0-RELEASE переключает реализацию ZFS с кодовой базы на основе illumos на унифицированную кодовую базу OpenZFS 2. [47] Это изменение позволяет FreeBSD получать улучшения OpenZFS гораздо быстрее. [48]
ПолночьBSD
- MidnightBSD , настольная операционная система, производная от FreeBSD, поддерживает пул хранения ZFS версии 6, начиная с 0.3-RELEASE. Это было получено из кода, включенного в FreeBSD 7.0-RELEASE. Обновление пула хранения 28 находится в процессе выполнения в 0.4-CURRENT и основано на исходниках 9-STABLE вокруг кода FreeBSD 9.1-RELEASE. [ необходима ссылка ]
- TrueOS (ранее известная как PC-BSD, ныне несуществующая [49] ) была дистрибутивом FreeBSD для настольных компьютеров, унаследовавшим поддержку ZFS. [ необходима цитата ]
pfSense
- pfSense , маршрутизатор с открытым исходным кодом на базе BSD , поддерживает ZFS, включая установку и загрузку в пулы ZFS, начиная с версии 2.4.
OPNsense
XigmaNAS
- XigmaNAS (ранее NAS4Free), встроенный дистрибутив сетевого хранилища (NAS) с открытым исходным кодом на основе FreeBSD , имеет ту же поддержку ZFS, что и FreeBSD, пул хранения ZFS версии 5000. Этот проект является продолжением проекта серии FreeNAS 7. [51]
Debian GNU/kFreeBSD
- Будучи основанным на ядре FreeBSD, Debian GNU/kFreeBSD имеет поддержку ZFS из ядра. Однако требуются дополнительные пользовательские инструменты, [52] хотя ZFS может быть корневой или /boot файловой системой [53] в этом случае требуемая настройка GRUB выполняется установщиком Debian с момента выпуска Wheezy . [54]
- По состоянию на 31 января 2013 года доступны версии ZPool 14 для релиза Squeeze и 28 для релиза Wheezy-9 . [55]
Линукс
Хотя файловая система ZFS поддерживает операционные системы на базе Linux , у разработчиков дистрибутивов Linux, желающих обеспечить собственную поддержку ZFS в своих продуктах, возникают трудности из-за юридической несовместимости между лицензией CDDL ZFS и лицензией GPL, используемой ядром Linux. Чтобы включить поддержку ZFS в Linux, необходимо скомпилировать и загрузить в ядро загружаемый модуль ядра, содержащий код ZFS с лицензией CDDL. Согласно Free Software Foundation , формулировка лицензии GPL юридически запрещает распространение полученного продукта в качестве производной работы , [56] [57] хотя эта точка зрения вызвала некоторые споры. [58] [59]
ZFS на FUSE
Один из возможных обходных путей для несовместимости лицензирования был опробован в 2006 году с экспериментальным переносом кода ZFS в систему Linux FUSE . Файловая система работала полностью в пользовательском пространстве , а не была интегрирована в ядро Linux, и поэтому не считалась производной работой ядра. Этот подход был функциональным, но страдал от значительных потерь производительности по сравнению с интеграцией файловой системы в качестве собственного модуля ядра, работающего в пространстве ядра . [60] По состоянию на 2016 год проект ZFS на FUSE, по-видимому, прекратил свое существование, поскольку драйвер ядра ZFS на Linux преобладал над драйвером пользовательского пространства.
Собственная ZFS на Linux
Собственный порт ZFS для Linux, созданный Ливерморской национальной лабораторией имени Лоуренса (LLNL), был выпущен в марте 2013 года [61] [62] после следующих ключевых событий: [63]
- 2008: прототип для определения жизнеспособности
- 2009: начальная поддержка ZVOL и Lustre
- 2010: разработка перенесена на GitHub
- 2011: добавлен уровень POSIX
- 2011: сообщество первопроходцев
- 2012: использование ZFS в производстве
- 2013: стабильный выпуск GA
По состоянию на август 2014 года [обновлять]ZFS на Linux использует версию пула OpenZFS 5000, что указывает на то, что поддерживаемые им функции определяются с помощью флагов функций. Эта версия пула — неизменный номер, который, как ожидается, никогда не будет конфликтовать с номерами версий, предоставленными Oracle. [64]
KQ ИнфоТех
Другой собственный порт для Linux был разработан KQ InfoTech в 2010 году. [65] [66] Этот порт использовал реализацию zvol из Национальной лаборатории Лоуренса в Ливерморе в качестве отправной точки. Релиз с поддержкой zpool v28 был анонсирован в январе 2011 года. [67] В апреле 2011 года KQ Infotech была приобретена sTec, Inc. , и их работа над ZFS прекратилась. [68] Исходный код этого порта можно найти на GitHub . [69]
Работа KQ InfoTech в конечном итоге была интегрирована в собственный порт LLNL ZFS для Linux. [68]
Распространение исходного кода
Хотя несовместимость лицензий может возникнуть при распространении скомпилированных двоичных файлов, содержащих код ZFS, общепризнано, что распространение самого исходного кода не затрагивается этим. В Gentoo Linux настройка корневой файловой системы ZFS хорошо документирована, а требуемые пакеты могут быть установлены из ее репозитория пакетов. [70] Slackware также предоставляет документацию по поддержке ZFS, как в качестве модуля ядра, так и встроенной в ядро . [71] [72]
Интеграция с Ubuntu
Вопрос о совместимости лицензии CDDL с лицензией GPL вновь всплыл в 2015 году, когда дистрибутив Linux Ubuntu объявил о намерении сделать предварительно скомпилированные двоичные модули ядра OpenZFS доступными для конечных пользователей непосредственно из официальных репозиториев пакетов дистрибутива. [73] В 2016 году Ubuntu объявила, что юридическая проверка привела к выводу, что предоставление поддержки ZFS через двоичный модуль ядра не является нарушением положений лицензии GPL. [74] Другие организации, такие как Software Freedom Law Center, последовали заключению Ubuntu, [75] в то время как FSF и SFC повторили свои противоположные взгляды. [76]
Ubuntu 16.04 LTS (« Xenial Xerus »), выпущенный 21 апреля 2016 года, позволяет пользователю устанавливать двоичные пакеты OpenZFS непосредственно из репозиториев программного обеспечения Ubuntu. [21] [77] По состоянию на 2023 год против Canonical[обновлять] не было подано ни одного юридического иска относительно распространения этих пакетов.
Начиная с 2019 года Ubuntu поддерживает экспериментальную установку ZFS в качестве корневой файловой системы, начиная с версии 19.10 («Eoan Ermine»), для поддержки сосуществования почти чистой ОС ZFS с GRUB и другими операционными системами на одном диске. [78] [79]
Масштаб TrueNAS
Версия TrueNAS от iXsystems , основанная на Debian Linux . Как и TrueNAS Core (основанная на FreeBSD), она использует OpenZFS для хранения и добавляет множество дополнительных функций. К ним относятся расширенная поддержка драйверов устройств, виртуальные машины KVM, сквозная передача PCIe и поддержка контейнеров через Kubernetes и Docker. Кроме того, она позволяет кластеризовать Docker и ZFS через gluster . Информацию о текущей версии можно найти на странице состояния программного обеспечения iXsystems. [80]
Майкрософт Виндоус
Попытка портировать ZFS с открытым исходным кодом была предпринята в 2010 году, но после перерыва в более чем год разработка была прекращена в 2012 году. [81] В октябре 2017 года Йорген Лундман анонсировал новый порт OpenZFS на саммите разработчиков OpenZFS. [82] [83]
История версий
Версии пула и флаги функций
Первоначально номера версий пула и файловой системы увеличивались по мере введения новых функций, чтобы обозначить формат файловой системы на диске и доступные функции. Это работало хорошо, когда одна организация контролировала разработку ZFS, и эта схема управления версиями все еще используется с ZFS в Oracle Solaris . [84] [85]
В более распределенной модели разработки наличие единого номера версии далеко от идеала, поскольку все реализации OpenZFS должны будут согласовывать все изменения в формате файловой системы на диске. Решение, выбранное OpenZFS, состояло в том, чтобы ввести флаги функций в качестве новой системы управления версиями , которая помечает изменения формата на диске уникальными именами и поддерживает как полностью независимые изменения формата, так и изменения формата, зависящие друг от друга. Пул можно перемещать и использовать между реализациями OpenZFS, пока все флаги функций, используемые пулом, поддерживаются обеими реализациями. [8] : 20, 26–27 [86] : 2–3 [87]
В OpenZFS версия пула постоянно установлена на 5000, что означает, что пул указывает на новые функции, устанавливая или снимая флаги функций ZFS, а не увеличивая версию пула. [38] Число 5000 было выбрано, поскольку ожидается, что оно никогда не будет конфликтовать с номерами версий, указанными Oracle . Устаревшие номера версий все еще существуют для версий пула 1–28. [88] [89] [90] Будущие изменения формата на диске включаются/отключаются независимо с помощью этих флагов функций.
Устаревшие номера версий все еще существуют для версий пула 1–28 и подразумеваются версией пула 5000; [91] первоначальное предложение состояло в том, чтобы использовать 1000 в качестве версии пула. [86] : 4 Будущие изменения формата на диске включаются и отключаются независимо с помощью флагов функций.
Флаги функций отображаются как свойства пула, следуя следующим правилам схемы именования: [86] : 4
- Формат имени свойства: feature@<org-name>:<feature-name>
- <org-name> — это обратное DNS-имя организации, разработавшей функцию, что обеспечивает уникальность имен свойств.
- Имена свойств можно сократить до feature@<feature-name>, если они остаются однозначными.
Например, [email protected]:async_destroy — допустимое имя свойства, и его можно сократить до feature@async_destroy . [86] : 4
Каждая функция пула может находиться в состоянии «отключено» , «включено » или «активно» . Отключенные функции — это те, которые не будут использоваться, и не будут внесены изменения в формат на диске; в результате такие функции являются обратно совместимыми . Включенные функции — это те, которые будут использоваться, изменения в формат на диске еще не внесены, но программное обеспечение может внести изменения в любое время; такие функции по-прежнему являются обратно совместимыми. Активные функции — это те, которые внесли обратно несовместимые изменения в формат на диске в пул. [86] : 5
Когда любая функция пула включена, устаревшая версия пула автоматически обновляется до 5000, а также включаются все другие обязательные функции. По умолчанию новые пулы создаются со всеми включенными поддерживаемыми функциями. В общем, состояние функции можно изменить с активного обратно на включенное , отменив таким образом выполненные изменения формата на диске и сделав пул снова совместимым со старой реализацией OpenZFS; однако для некоторых функций это может быть невозможно. [86] : 5, 9 [91]
Изменения формата на диске могут быть связаны либо с функциями записи , либо с функциями чтения . Первые — это функции, которые реализация OpenZFS должна поддерживать, чтобы иметь возможность записи в пул, в то время как поддержка таких функций не является обязательной для открытия пула в режиме только для чтения. Последние — это функции, которые реализация OpenZFS должна поддерживать, чтобы иметь возможность читать из пула или просто открывать его, поскольку открытие пула невозможно без фактического чтения из него. [86] : 7
Например, функция async_destroy добавляет новую структуру данных на диске для отслеживания освобожденных наборов данных, но реализация OpenZFS не должна знать об этой структуре данных для доступа к пулу в режиме только для чтения. Кроме того, запись в пул, который имеет некоторые функции в активном состоянии, невозможна реализацией OpenZFS, которая не поддерживает те же функции. [86] : 7–8
Список флагов функций и операционных систем, которые их поддерживают, доступен на веб-сайте документации OpenZFS [92] (здесь старый веб-сайт Open-ZFS.org [93] ).
OpenZFS 2.0
Исторически OpenZFS был реализован как основной код ZFS, и каждая команда операционной системы адаптировала его для соответствия своим проектам. В некоторых случаях это приводило к застою функций и расхождению функций и командных строк, поскольку разные операционные системы разрабатывали разные функции и исправления ошибок, часто для одной платформы, а не для всех платформ. Со временем разработка новых функций перешла от Illumos к Linux . [94] Затем эти новые функции и исправления приходилось переносить в Illumos, прежде чем их можно было повторно представить для FreeBSD . [94] Но это было сложно, поскольку версия Linux также включала множество более мелких изменений, которые было трудно распутать. [94]
В 2018 году было решено, что разработка OpenZFS будет пересмотрена для устранения этих проблем. [94] Вместо того, чтобы пытаться импортировать все изменения Linux на другие платформы по частям, весь код Linux ZFS будет «развернут» целиком, при этом другие платформы будут основаны на более активно разрабатываемой версии Linux. [94] Широкий спектр перенесенных и новых функций, включая многие давно ожидаемые улучшения, также будет развернут или перенесен на другие платформы, а будущие изменения будут обсуждаться на разных платформах перед их реализацией. [94] Планы включали соответствующие уровни портирования для предотвращения внедрения кода Linux, GPL или Linux-KPI в ядра других платформ . [94]
Список функций, находящихся в разработке или портированных для OpenZFS 2.0, обширен и включает в себя:
- Более быстрое внедрение улучшений и новых функций на всех платформах [94]
- Стандартизация командной строки [94]
- Улучшенная переносимость пула (пулы ZFS, созданные в одной системе, могут быть в равной степени использованы другой) [95]
- Более широкий кроссплатформенный паритет функций и независимость платформы [95]
- Накладные (союзные) крепления принимаются по умолчанию [95]
- Исправления ошибок и улучшения [95]
- ZTS и другие функции, работающие на FreeBSD [95]
- Улучшения TRIM и ACL MODE [95] [94]
- ZFS хранит (из FreeBSD) [95]
- Улучшенные собственные списки контроля доступа NFSv4 (FreeBSD) [95]
- Улучшенная производительность AES-GCM для зашифрованных пулов [95]
- Отредактировано отправить/получить [95]
- Log spacemap и другие усовершенствования управления метаслябами - проект по повторной реализации управления свободным пространством и «метаслябами» ZFS для гораздо большей эффективности [95]
- Быстрое удаление клона [95]
- Сжатие данных Zstd как новая опция [95]
- Наследование свойств программы канала [95]
- AltiVec RAID-Z [95]
- Поддержка закладок и копирование [95]
- Поддержка прямого ввода-вывода [95]
- Постоянный L2ARC (L2ARC сохраняется при перезагрузках) [95]
- Последовательная (высокоскоростная) чистка и повторная полировка [94]
- Пауза/возобновление прокрутки [94]
- Перезапуск Resilver [94]
- Удаление устройства (VDEV) [94]
- Инициализация и контрольная точка Zpool [94]
- Программы канала [94]
- Большой узел [94]
- Классы распределения (позволяющие назначать конкретное высокоскоростное хранилище для метаданных и таблиц дедупликации) [94]
- Параллельный монтаж бассейна [94]
- Свойства Per-vdev [94]
- Улучшения дедупликации – dedup-log (высокоскоростная дедупликация), ограничения на размер таблицы дедупликации и предварительная загрузка таблицы дедупликации (загружается полностью за один раз, а не по частям по мере необходимости), которые в 2018 году были указаны как «приятные мелочи», в апреле 2020 года все они были заявлены как «идущие в гору» или в основном завершенные [96]
Смотрите также
Ссылки
- ^ "zfs-2.2.6". 4 сентября 2024 г. Получено 4 сентября 2024 г.
- ^ ab Теги · openzfs/zfs на GitHub
- ^ "OpenZFS – Сообщества, сотрудничающие над кодом и функциями ZFS". freebsdnews.net . 23 сентября 2013 г. Архивировано из оригинала 14 октября 2013 г. Получено 14 марта 2014 г.
- ^ "FreeNAS и TrueNAS объединяются". 5 марта 2020 г. Архивировано из оригинала 4 июня 2020 г. Получено 7 июня 2020 г.
- ^ "OpenZFS 2.0 · openzfs/ZFS". GitHub . Архивировано из оригинала 17 апреля 2020 г. Получено 7 июня 2020 г.
- ^ abc "История OpenZFS". open-zfs.org . Архивировано из оригинала 24 декабря 2013 г. . Получено 24 сентября 2013 г. .
- ^ ab Koutoupis, Petros (1 июня 2016 г.). "ZFS: Finding Its Way to a Linux Near You?". Linux Journal . Архивировано из оригинала 27 июня 2016 г. Получено 4 июля 2016 г.
- ^ ab Ahrens, Matt; Behlendorf, Brian (17 сентября 2013 г.). "LinuxCon 2013: OpenZFS" (PDF) . Linux Foundation . Архивировано (PDF) из оригинала 13 ноября 2013 г. . Получено 13 ноября 2013 г. .
- ^ Кантрилл, Брайан (8 декабря 2011 г.). «Fork Yeah! The Rise and Development of illumos». SlideShare . Архивировано из оригинала 27 сентября 2013 г. . Получено 24 сентября 2013 г. .
- ^ "illusos FAQs". illumos.org . Архивировано из оригинала 24 декабря 2013 г. . Получено 24 сентября 2013 г. .
- ^ "MacZFS: Официальный сайт бесплатной ZFS для Mac OS". code.google.com . Архивировано из оригинала 11 февраля 2014 г. Получено 2 марта 2014 г.
- ^ "OpenZFS на OS X". openzfsonosx.org . 15 ноября 2014 г. Архивировано из оригинала 29 ноября 2014 г. Получено 23 ноября 2014 г.
- ^ Corbet, Jonathan (29 марта 2013 г.). "ZFS on Linux 0.6.1". LWN.net . Архивировано из оригинала 30 июля 2016 г. . Получено 4 июля 2016 г. .
- ^ "The OpenZFS project launches". LWN.net . 17 сентября 2013 г. Архивировано из оригинала 11 октября 2016 г. Получено 1 октября 2013 г.
- ^ "OpenZFS Announcement". open-zfs.org . 17 сентября 2013 г. Архивировано из оригинала 2 апреля 2018 г. Получено 19 сентября 2013 г.
- ^ "Выпуск OpenZFS 2.0.0 · openzfs/zfs". GitHub . Получено 11 марта 2024 г. .
- ^ Moglen, Eben; Choudharyl, Mishi (26 февраля 2016 г.). «Ядро Linux, CDDL и связанные с ним вопросы». softwarefreedom.org . Архивировано из оригинала 1 апреля 2016 г. . Получено 30 марта 2016 г. .
- ^ Kuhn, Bradley M.; Sandler, Karen M. (25 февраля 2016 г.). «Нарушения GPL, связанные с объединением ZFS и Linux». sfconservancy.org . Архивировано из оригинала 3 апреля 2016 г. . Получено 30 марта 2016 г. .
- ^ Bottomley, James (23 февраля 2016 г.). «Несовместимы ли GPLv2 и CDDL?». hansenpartnership.com . Архивировано из оригинала 1 марта 2016 г. . Получено 3 июля 2016 г. .
- ^ Пол, Райан (9 июня 2010 г.). «Внедрение собственного порта Linux ZFS затруднено из-за конфликта лицензий». Ars Technica . Архивировано из оригинала 14 июля 2014 г. Получено 1 июля 2014 г.
- ^ ab Sharwood, Simon (21 апреля 2016 г.). "Ubuntu 16.04 LTS сегодня поставляется с запрещенной ZFS". The Register . Архивировано из оригинала 8 июля 2016 г. . Получено 3 июля 2016 г. .
- ^ Ларабель, Майкл (6 октября 2015 г.). «Ubuntu планирует сделать файловую систему ZFS «стандартным» предложением». Phoronix . Архивировано из оригинала 30 июня 2016 г. . Получено 3 июля 2016 г. .
- ^ "Apple: Leopard предлагает ограниченную ZFS только для чтения". MacNN . 12 июня 2007 г. Архивировано из оригинала 19 июня 2007 г. Получено 23 июня 2007 г.
- ^ "Apple предоставляет ZFS Read/Write Developer Preview 1.1 для Leopard". Ars Technica . 7 октября 2007 г. Архивировано из оригинала 10 октября 2007 г. Получено 7 октября 2007 г.
- ^ Кристо, Че (18 ноября 2007 г.). "ZFS Beta Seed v1.1 не установится на Leopard.1 (10.5.1) " идеи бесплатны". Архивировано из оригинала 24 декабря 2007 г. Получено 30 декабря 2007 г.
- ^ "ZFS". 2 ноября 2009 г. Архивировано из оригинала 2 ноября 2009 г. Получено 19 сентября 2024 г.
- ^ http://alblue.blogspot.com/2008/11/zfs-119-on-mac-os-x.html Архивировано 20 февраля 2012 г. на Wayback Machine |title=Alblue.blogspot.com
- ^ "Snow Leopard (кэш archive.org)". 21 июля 2008 г. Архивировано из оригинала 21 июля 2008 г.
- ^ "Snow Leopard". 9 июня 2009 г. Архивировано из оригинала 21 июля 2008 г. Получено 10 июня 2008 г.
- ^ "zfs-macos | Google Groups". Архивировано из оригинала 8 ноября 2012 г. Получено 4 ноября 2011 г.
- ^ "maczfs – Официальный сайт бесплатной ZFS для Mac OS – Google Project Hosting". Архивировано из оригинала 29 июля 2016 г. Получено 30 июля 2012 г.
- ↑ Саллингс, Дастин (31 мая 2024 г.), dumpin/mac-zfs , получено 19 сентября 2024 г.
- ↑ Страница часто задаваемых вопросов. Архивировано 19 марта 2015 г. на Wayback Machine на code.google.com/p/maczfs.
- ^ "Архив Google Code — долгосрочное хранилище для хостинга проектов Google Code". code.google.com . Получено 19 сентября 2024 г. .
- ^ "oi_151a_prestable5 Release Notes". Архивировано из оригинала 17 мая 2016 г. Получено 23 мая 2016 г.
- ^ "Обновление с OpenSolaris". Архивировано из оригинала 26 сентября 2011 г. Получено 24 сентября 2011 г.
- ^ "OpenZFS на OS X". openzfsonosx.org . 29 сентября 2014 г. Архивировано из оригинала 29 ноября 2014 г. Получено 23 ноября 2014 г.
- ^ ab "Features – OpenZFS – Feature flags". OpenZFS. Архивировано из оригинала 22 сентября 2013 г. Получено 22 сентября 2013 г.
- ^ "MacZFS: Официальный сайт бесплатной ZFS для Mac OS". code.google.com . MacZFS . Архивировано из оригинала 19 марта 2015 г. . Получено 2 марта 2014 г. .
- ^ "ZEVO Wiki Site/ZFS Pool And Filesystem Versions". GreenBytes, Inc. 15 сентября 2012 г. Архивировано из оригинала 10 августа 2014 г. Получено 22 сентября 2013 г.
- ^ "Github zfs-port branch". GitHub . 23 сентября 2014 г. Архивировано из оригинала 9 января 2016 г. Получено 5 октября 2014 г.
- ^ "Проекты NetBSD Google Summer of Code: ZFS". Архивировано из оригинала 11 октября 2007 г. Получено 5 сентября 2007 г.
- ^ Dawidek, Paweł (6 апреля 2007 г.). "ZFS, приверженная базе FreeBSD". Архивировано из оригинала 22 июня 2012 г. Получено 6 апреля 2007 г.
- ^ "Ревизия 192498". 20 мая 2009 г. Получено 22 мая 2009 г.
- ^ "ZFS v13 в 7-STABLE". 21 мая 2009 г. Архивировано из оригинала 27 мая 2009 г. Получено 22 мая 2009 г.
- ^ "iSCSI target for FreeBSD". Архивировано из оригинала 14 июля 2011 г. Получено 6 августа 2011 г.
- ^ "FreeBSD 13.0-RELEASE Release Notes". FreeBSD . Проект FreeBSD . Получено 10 июля 2021 г. .
- ^ Мэйси, Мэтт (25 августа 2020 г.). "commit 9e5787d2284e187abb5b654d924394a65772e004 Merge OpenZFS support in to HEAD". src - Исходное дерево FreeBSD . Получено 10 июля 2021 г.
- ^ "TrueOS discontinuation". trueos.com . 19 августа 2020 г. Архивировано из оригинала 24 января 2021 г. Получено 9 апреля 2021 г.
- ^ "TrueNAS 12.0 выпущен!". 21 октября 2020 г. Получено 9 апреля 2021 г.
- ^ "NAS4Free: Features". Архивировано из оригинала 6 февраля 2015 г. Получено 13 января 2015 г.
- ^ "Debian GNU/kFreeBSD FAQ". Есть ли поддержка ZFS? . Архивировано из оригинала 27 сентября 2013 г. . Получено 24 сентября 2013 г. .
- ^ "Debian GNU/kFreeBSD FAQ". Могу ли я использовать ZFS в качестве корневой или /boot файловой системы? . Архивировано из оригинала 18 января 2019 г. . Получено 24 сентября 2013 г. .
- ^ "Debian GNU/kFreeBSD FAQ". Какие команды grub необходимы для загрузки Debian/kFreeBSD из корня zfs? . Архивировано из оригинала 18 января 2019 г. . Получено 24 сентября 2013 г. .
- ^ Ларабель, Майкл (10 сентября 2010 г.). «Debian GNU/kFreeBSD становится интереснее». Phoronix . Архивировано из оригинала 29 ноября 2016 г. . Получено 24 сентября 2013 г. .
- ^ Moglen, Eben; Choudharyl, Mishi (26 февраля 2016 г.). «Ядро Linux, CDDL и связанные с ним вопросы». softwarefreedom.org . Архивировано из оригинала 1 апреля 2016 г. . Получено 30 марта 2016 г. .
- ^ Kuhn, Bradley M.; Sandler, Karen M. (25 февраля 2016 г.). «Нарушения GPL, связанные с объединением ZFS и Linux». sfconservancy.org . Архивировано из оригинала 3 апреля 2016 г. . Получено 30 марта 2016 г. .
- ^ "Linus on GPLv3 and ZFS". Lwn.net. 12 июня 2007 г. Архивировано из оригинала 23 июля 2011 г. Получено 4 ноября 2011 г.
- ↑ Пол, Райан (9 июня 2010 г.). «Внедрение собственного порта Linux ZFS затруднено из-за конфликта лицензий». Ars Technica. Архивировано из оригинала 14 июля 2014 г. Получено 1 июля 2014 г.
- ^ Rajgarhia, Aditya & Gehani, Ashish (23 ноября 2012 г.). "Performance and Extension of User Space File Systems" (PDF) . Архивировано (PDF) из оригинала 7 сентября 2014 г. . Получено 23 ноября 2012 г. .
- ↑ Белендорф, Брайан (28 мая 2013 г.). "spl/zfs-0.6.1 released". Список рассылки zfs-announce . Архивировано из оригинала 8 июня 2013 г. Получено 9 октября 2013 г.
- ^ "ZFS on Linux". Архивировано из оригинала 22 мая 2019 г. Получено 29 августа 2013 г.
- ^ Аренс, Мэтт; Белендорф, Брайан (17 сентября 2013 г.). "LinuxCon 2013: OpenZFS" (PDF) . linuxfoundation.org . Архивировано (PDF) из оригинала 7 июня 2020 г. . Получено 13 ноября 2013 г. .
- ^ "ZFS on Linux". zfsonlinux.org . Архивировано из оригинала 22 мая 2019 г. Получено 13 августа 2014 г.
- ↑ Darshin (24 августа 2010 г.). "ZFS Port to Linux (all versions)". Архивировано из оригинала 11 марта 2012 г. Получено 31 августа 2010 г.
- ^ «Где я могу получить исходный код ZFS для Linux?». Архивировано из оригинала 8 октября 2011 г. Получено 29 августа 2013 г.
- ^ Phoronix (22 ноября 2010 г.). «Запуск собственного модуля ядра ZFS Linux, плюс тесты производительности». Архивировано из оригинала 11 декабря 2010 г. Получено 7 декабря 2010 г.
- ^ ab "KQ ZFS Linux больше не разрабатывается". 10 июня 2011 г. Архивировано из оригинала 29 ноября 2016 г. Получено 14 сентября 2016 г.
- ^ "zfs-linux / zfs". GitHub . Архивировано из оригинала 16 мая 2011 г. Получено 15 сентября 2011 г.
- ^ "ZFS – Gentoo documentation". gentoo.org . Архивировано из оригинала 3 октября 2013 г. . Получено 9 октября 2013 г. .
- ^ "ZFS root". Slackware ZFS root . SlackWiki.com. Архивировано из оригинала 14 августа 2014 г. Получено 13 августа 2014 г.
- ^ "ZFS root (builtin)". Slackware ZFS root (builtin) . SlackWiki.com. Архивировано из оригинала 14 августа 2014 г. Получено 13 августа 2014 г.
- ^ Майкл Ларабель (6 октября 2015 г.). «Ubuntu планирует сделать файловую систему ZFS «стандартным» предложением». Phoronix . Архивировано из оригинала 30 июня 2016 г. . Получено 30 июня 2016 г. .
- ^ Дастин Киркланд (18 февраля 2016 г.). «Лицензирование ZFS и Linux». Ubuntu Insights . Canonical. Архивировано из оригинала 29 июля 2016 г. . Получено 30 июня 2016 г. .
- ^ Moglen, Eben ; Choudhary, Mishi (26 февраля 2016 г.). «Ядро Linux, CDDL и связанные с ним вопросы». Архивировано из оригинала 14 июля 2016 г. Получено 30 июня 2016 г.
- ^ "Нарушения GPL, связанные с объединением ZFS и Linux". Software Freedom Conservancy . Получено 19 сентября 2024 г.
- ^ Ларабель, Майкл. «Taking ZFS For A Test Drive On Ubuntu 16.04 LTS». phoronix . Phoronix Media. Архивировано из оригинала 19 сентября 2016 г. Получено 25 апреля 2016 г.
- ^ "Поддержка Ubuntu ZFS в 19.10: Введение". 6 августа 2019 г. Архивировано из оригинала 23 октября 2019 г. Получено 23 октября 2019 г.
- ^ Salter, Jim (10 октября 2019 г.). «Подробный обзор нового экспериментального установщика ZFS в Ubuntu». Ars Technica . Архивировано из оригинала 31 декабря 2019 г. Получено 14 января 2020 г.
- ^ "Состояние программного обеспечения". www.truenas.com . 8 августа 2022 г. . Получено 7 января 2024 г. .
- ^ "zfs-win". Поиск Google . Архив Google Code. Архивировано из оригинала 30 декабря 2016 г. Получено 11 декабря 2017 г.
- ^ "Open ZFS File-System Running On Windows". Phoronix . Архивировано из оригинала 11 декабря 2017 г. Получено 11 декабря 2017 г.
- ^ "OpenZFS on Windows". GitHub . Архивировано из оригинала 20 ноября 2017 г. Получено 11 декабря 2017 г.
- ^ "Руководство по администрированию Solaris ZFS, Приложение A. Описания версий ZFS". Oracle Corporation . 2010. Архивировано из оригинала 6 апреля 2011 г. Получено 11 февраля 2011 г.
- ^ "Oracle Solaris ZFS Version Descriptions". Oracle Corporation . Архивировано из оригинала 7 октября 2013 г. Получено 23 сентября 2013 г.
- ^ abcdefgh Сиден, Кристофер (11 января 2012 г.). "Флаги функций ZFS (Illumos Meetup)" (PDF) . delphix.com . Архивировано из оригинала (PDF) 3 апреля 2013 г. . Получено 4 июля 2016 г. .
- ^ "Возможности OpenZFS – Флаги возможностей". open-zfs.org . Архивировано из оригинала 22 сентября 2013 г. . Получено 23 сентября 2013 г. .
- ^ Siden, Christopher (январь 2012 г.). "ZFS Feature Flags" (PDF) . Illumos Meetup. Delphix. стр. 4. Архивировано из оригинала (PDF) 3 апреля 2013 г. . Получено 22 сентября 2013 г. .
- ^ "/usr/src/uts/common/sys/fs/zfs.h (строка 338)". illumos (GitHub). Архивировано из оригинала 11 февраля 2016 г. Получено 16 ноября 2013 г.
- ^ "/usr/src/uts/common/fs/zfs/zfeature.c (строка 89)". illumos (GitHub). Архивировано из оригинала 11 февраля 2016 г. Получено 16 ноября 2013 г.
- ^ ab "Часто задаваемые вопросы по OpenZFS: переносимы ли пулы хранения, созданные OpenZFS, между операционными системами?". open-zfs.org . 26 сентября 2013 г. Архивировано из оригинала 3 января 2016 г. Получено 30 октября 2015 г.
- ^ "Флаги функций — документация OpenZFS". openzfs.github.io . Получено 4 января 2024 г. .
- ^ "Feature Flags – OpenZFS". open-zfs.org . Архивировано из оригинала 29 августа 2017 г. . Получено 28 августа 2017 г. .
- ^ abcdefghijklmnopqrst "Архивная копия" (PDF) . Архивировано (PDF) из оригинала 6 августа 2020 г. . Получено 7 июня 2020 г. .
{{cite web}}
: CS1 maint: архивная копия как заголовок ( ссылка ) - ^ abcdefghijklmnopqr "OpenZFS 2.0 · openzfs/ZFS". GitHub . Архивировано из оригинала 17 апреля 2020 г. Получено 7 июня 2020 г.
- ^ "OpenZFS Leadership Team - Meeting Agenda and Notes". Архивировано из оригинала 7 июня 2020 г. Получено 7 июня 2020 г.
Внешние ссылки
На Викискладе есть медиафайлы по теме OpenZFS .
- Проект OpenZFS: веб-сайт и список дистрибутивов OpenZFS
- FreeBSD: Веб-страница GitHub wiki
- illusos: Веб-страница GitHub
- Linux: веб-страница GitHub
- macOS: Веб-страница GitHub Google
- Windows: веб-страница GitHub
- OpenZFS Office Hours на YouTube , 11 октября 2013 г., Мэтт Аренс
- Удаление устройства OpenZFS Архивировано 12 мая 2015 г. на Wayback Machine , 15 января 2015 г. Алексом Рисом