ZFS (Zettabyte File System) — файлова система, створена в корпорації Sun Microsystems для операційної системи Solaris. Ця файлова система підтримує великі об'єми даних, об'єднує концепції файлової системи і менеджера логічних дисків (томів), інноваційну структуру даних на дисках, легкі файлові системи (англ. lightweight filesystems), а також просте управління об'ємами зберігання даних. ZFS є проєктом з відкритим кодом і ліцензується під CDDL (Common Development and Distribution License). Основна перевага ZFS — відсутність фрагментації даних, що дозволяє динамічно виділяти або звільняти дисковий простір логічній файловій системі, причому цей простір може бути як в рамках фізичного накопичувача, так і розосередженим по декількох мережевих дисках. Крім того, ZFS має змінний розмір блоку, що добре впливає на продуктивність, паралельність виконання операцій читання-запису, а також 64-розрядний механізм контрольних сум, що зводить до мінімуму ймовірність руйнування даних.
ZFS | |
Коротка назва | Z File System і ZFS |
---|---|
Час/дата початку | листопад 2005 |
Максимальний розмір або ємність | 16 ексабайт |
Розробник | Sun Microsystems, Oracle Corporation і d |
Конструктор | d |
Операційна система | Solaris, macOS, d, Berkeley Software Distribution, d, Linux, Windows і FreeBSD[1][2] |
Версія | 0.7.13 (zfs) 0.7.13 (spl) |
Ліцензія | d |
Статус авторських прав | d |
Максимальне значення | 256 000 000 000 000 файл[3] |
Офіційний сайт(англ.) |
Історія
ZFS була спроєктована і створена групою розробників Sun Microsystems, лідером якої є Джеф Бонвік (Jeff Bonwick). Файлова система була анонсована 14 вересня 2004 р. Вихідний код для фінального реліза був інтегрований в головну гілку розробки Solaris 31 жовтня 2005 р. і реалізований як частина 27-ї збірки Opensolaris 16 листопада 2005 р. Sun заявила, що ZFS була інтегрована в оновлення 6/06 для Solaris 10 в червні 2006, після одного року з моменту відкриття Інтернет-спільноти Opensolaris.
Початкова назва була File System», але зараз воно перетворилося на .
Потенціал
ZFS — це 128-бітна файлова система, що дозволяє їй зберігати в 18 мільярдів (18.4 * 109) разів більше даних, ніж нинішні 64-бітні системи. ZFS спроєктована так, щоб її обмеження були настільки великі, що вони ніколи не зустрінуться на практиці. Як заявив керівник проєкту Бонвік, «заповнення 128-бітних файлових систем перевищить квантові можливості зберігання даних на Землі. Ви не зможете заповнити і зберігати 128-бітовий об'єм, не закип'ятивши при цьому океан».
Деякі теоретичні межі в ZFS:
- 248 — Кількість знімків () в будь-якій файловій системі (2 * 1014)
- 248 — Кількість файлів в будь-якій індивідуальній файловій системі (2 * 1014)
- 16 ексабайт (264 byte) — Максимальний розмір файлової системи
- 16 ексабайт (264 byte) — Максимальний розмір одного файлу
- 16 ексабайт (264 byte) — Максимальний розмір будь-якого атрибуту
- 3 * 1023 петабайт — Максимальний розмір будь-якого пулу зберігання (zpool)
- 256 — Кількість атрибутів файлу (фактично обмежується 2 48 на кількість файлів у файловій системі ZFS)
- 256 — Кількість файлів в директорії (реально обмежено 2 48 на кількість файлів у файловій системі ZFS)
- 264 — Кількість пристроїв в будь-якому zpool
- 264 — Кількість zpool'ів в системі
- 264 — Число файлових систем в zpool
Приклад того, наскільки великі ці цифри: якби 1000 файлів створювалися кожну секунду, то було б потрібно близько 9000 років для досягнення межі кількості файлів.
У відповідь на питання про заповнення ZFS без кип'ячення океанів, Бонвік пише:
Хоча ми всі хотіли б, щоб Закон Мура виконувався нескінченно довго, квантова механіка накладає деякі фундаментальні обмеження на швидкість обчислень і інформаційну місткість будь-якого фізичного пристрою. Зокрема, було показано, що 1 кілограм матерії, обмежений 1 літром простору, може виконувати не більш ніж 1051 операції в секунду над не більше ніж 1031 біт інформації. Цілком заповнений 128-бітовий об'єм міститиме 2128 блоків = 2137 байт = 2140 біт; тому мінімальна маса, необхідна для зберігання цієї кількості біт буде (2140 біт) / (1031 біт/кг) = 136 млрд кг.
Пули зберігання
На відміну від традиційних файлових систем, які розташовуються на одному пристрої і, отже, при використанні більш ніж на одному пристрої для них потрібний менеджер томів, ZFS будується поверх віртуальних пулів зберігання даних, званих zpool. Пул побудований з віртуальних пристроїв (vdevs), кожний з яких є або фізичним пристроєм, або дзеркалом (raid 1) одного або декількох пристроїв, або (raid Z) — групою з двох або більше пристроїв. Ємність всіх 'vdevs' потім доступна для всіх файлових систем в zpool.
Для обмеження простору, доступного конкретній файловій системі, може бути встановлена . Крім того, можливе використання — це гарантує, що завжди залишатиметься деякий доступний об'єм для конкретної файлової системи.
Модель транзакцій копія-по-запису
ZFS використовує модель об'єктних транзакцій копіювання при записуванні. Всі вказівники на блоки усередині файлової системи містять 256-бітову контрольну суму в цільовому блоці, який перевіряється, коли блок прочитаний. Блоки даних, що містять активні (у цей момент) дані ніколи не перезаписуються разом; навпаки, виділяється новий блок, змінені дані записуються в нього, а потім метадані будь-яких блоків, які на нього посилаються, таким чином все перерозподіляється і записується. Щоб зменшити накладні витрати в цьому процесі групується декілька оновлень в групу транзакції, також, якщо потрібно, ведеться лог використання при синхронному запису.
Знімки і клони
Модель копія-по-запису в ZFS володіє ще однією потужною перевагою: коли ZFS записує нові дані — замість звільнення блоків, що містять старі дані, — вона може зберігати їх, створюючи знімки файлової системи. Знімки в ZFS створюються дуже швидко, оскільки всі дані у складі знімка вже збережені; вони також ефективно розміщені в просторі, оскільки будь-які незмінені дані розділяються (є загальними) між файловою системою і її знімком.
Також можуть бути створені перезаписувані знімки («клони»), внаслідок чого будуть дві незалежні файлові системи, які розділяють комплекс блоків. Як тільки зміни вносяться в який-небудь клон файлової системи, блоки нових даних створюються у всіх останніх клонах, щоб відобразити ці зміни.
Динамічне розділення
Динамічне всіх пристроїв на максимальній пропускній спроможності означає, що додаткові пристрої включаються в zpool, ширші канали автоматично розширюється для включення використання всіх дисків в пулі, це врівноважує навантаження на запис.
Різні розміри блоку
ZFS використовує змінний розмір блоків до 128 кілобайт. В наш час[] адміністраторові дозволяється налаштовувати максимальний розмір використовуваних блоків, але деякі роботи не будуть виконуватися (або будуть виконуватися із помилками) якщо використовувалися дуже великі блоки. Автоматичні налаштування робочих характеристик відповідають привілеям.
Якщо включене стискування, використовуються змінні розміри блоку. Якщо блок був стиснутий, він може влитися в блок меншого розміру, тобто використовується менший простір на диску і підвищується пропускна спроможність (Input/output) (хоча ціною розширеного використання процесора і оперативної пам'яті для операцій компресії і декомпресії).
Наскрізний контроль цілісності даних
Під наскрізним контролем цілісності розуміється запис на диск контрольної суми для кожного блоку даних, причому контрольна сума і дані спеціально розносяться максимально далеко один від одного для зниження ймовірності їх спільного псування. Якщо в пулі є декілька пристроїв, то для даних, розміщених на одному з них, контрольна сума буде записана на іншому. Контрольні суми обчислюються не лише для даних, але і для метаданих, і виходить, що в пулі завжди є контрольна сума для кожного блоку інформації.
При прочитуванні будь-якого блоку підраховується його контрольна сума і результат порівнюється з контрольною сумою, що зберігається на диску. В разі розбіжності помилка відразу виявляється. Зрозуміло, якщо в пулі заздалегідь не було заплановано жодного резервування (ні RAID-Z, ні іншого), то помилку вже не виправиш, та зате зіпсовані дані не будуть видані за достеменні.
Сенс наскрізного контролю цілісності даних в тому, щоб запобігти прихованому непомітному псуванню даних в результаті збою устаткування або вбудованого програмного забезпечення диска або контролера. Попри те, що ймовірність такої події здається низькою, деякі дослідження показують, що вона сповна значима для організацій будь-якого масштабу.
Створення легковагової файлової системи
У ZFS маніпулювати файловою системою в пулі легше, ніж у традиційних файлових системах; час і зусилля, потрібні для створення чи зміни файлової системи ZFS, більше нагадують об'єми робіт пов'язані з новим каталогом, ніж з маніпулюванням розділами в інших технологіях.
Додаткові можливості
- Конкретний пріоритет вводу/виводу з терміном планування.[]
- Оптимальний в глобальному масштабі I/o сортування і агрегації (aggregation).
- Декілька незалежних потоків з попередженням автоматичного виявлення довжини і кроку.
- Паралельна, постійна часу операцій з каталогами.
- Інтелектуальне очищення і корекція.
- Завантаження і спільне використання дисків в пулі.
- Ті ж блоки: Метадані відтворюються усередині пулу, два або три рази (згідно із значеннями метаданих). Якщо пул складається з декількох пристроїв, ZFS намагатиметься відтворювати дані на різних пристроях. Навіть у пулі без надмірності можна втратити дані, але навіть якщо Ви виявите пошкоджені сектори, то навіть при такому сценарії метадані повинні створити достатню безпеку.
- Дизайн ZFS (копія-по-запису + uberblocks) дає більшу безпеку при використанні дисків з можливістю запису в кеш, тобто якщо вони реагують і покоряються[] на кеш-флеш команди видані ZFS. Ця особливість забезпечує безпеку і значне підвищення продуктивності в порівнянні з іншими ФС.
- Враховуючи попередній пункт, коли всі диски знаходяться в ZFS кулі, ZFS автоматично включає функцію запису в кеш для них. Це не застосовно, якщо не лише ZFS одночасно управляє дискретними розділами диска, наприклад якщо ви використовуєте ФС без функції безпечного запису в кеш, наприклад ufs (і безліч інших).
Управління кешем
ZFS також вводить (ARC), новий метод управління кешем замість традиційних для Solaris віртуальних сторінок кешу в пам'яті.
Адаптивний порядок байт
Пули і налагоджена на них ZFS можуть бути перенесені між різними платформами навіть якщо ті мають інший порядок байт. Формат блоків ZFS дозволяє автоматично визначати і міняти порядок байт на льоту при читанні метаданих.
При цьому різний порядок байт на різних системах ніяк не відбивається на роботі забезпечення, файли для нього так і залишаються простими послідовностями байтів. Таким чином програмне забезпечення відповідальне за формат даних самих файлів.
Обмеження
- ZFS не підтримує розподіл квот для кожного користувача або групи. Замість цього, можна створювати ФС для користувачів, кожна з яких матиме своє обмеження розміру. Низький рівень накладних витрат ZFS робить це практичним навіть для багатьох користувачів (але це може значно уповільнити запуск системи). В дійсності, немає жодного практичного рішення проблеми квоти в системах, де файлові системи розділені серед декількох користувачів (як наприклад проєкти групи), де дані не можуть бути відокремлені для кожного користувача, хоча це можна здійснити поверх стека ZFS.
- Розширення ємності зазвичай досягається додаванням груп дисків як віртуальний пристрій (смуга, RAID-Z, RAID-Z2, або дзеркало). Знов записані дані динамічно починатимуть використовувати всі доступні пристрої. Також можливо розширити масив ітераційно замінюючи диски меншої ємності на диски більшої ємності та чекаючи на ZFS, щоб полагодити себе — час полагодження залежатиме від кількості збереженої інформації, не розмір дисків. Якщо протягом цього процесу зробити знімок, це викличе перезапуск полагодження.
- Зараз не можливо скоротити число пристроїв в накопичувачі або зменшити ємність накопичувача. Проте, в цьому напрямку . Така можливість ще не була доступною в Solaris 10 05/08.
- Не можливо додати диска до пристроїв RAID-Z або RAID-Z2 . Ця особливість здається дуже важкою для здійснення. Проте є можливість створити новий RAIDZ пристрій і додати його до пулу.
- Не можливо додавати до пулу пристрої різних типів. Наприклад, якщо ви маєте смуговий ZFS накопичувач, що складається з дисків на SAN, ви не можете додати локальні диски як дзеркальний пристрій.
- Переконфігурація накопичувача вимагає копіювання даних, знищування пулу, і відтворення накопичувача з новою конфігурацією.
- ZFS не є кластером, розподіленою файловою системою або і не може забезпечити одночасний доступ для багатьох клієнтів таким же чином як до локальної файлової системи. Розподілена файлова система Lustre корпорації Sun може використати ZFS як для зберігання даних, так і метаданих, у починаючи з версії 1.8, який планується бути випущеною в другому кварталі 2008 р..
Платформи
ZFS є частиною ОС Solaris компанії Sun і доступна для обох платформ — SPARC і x86. Оскільки код ZFS є відкритим програмним забезпеченням (ліцензія CDDL), порти для інших операційних систем і платформ можуть вироблятися без участі Sun.
OpenSolaris
OpenSolaris 2008.05 використовує ZFS як файлову систему за умовчанням.
FreeBSD
Pawel Jakub Dawidek адаптував ZFS для FreeBSD у вигляді модуля для ядра системи. ZFS включена у версію FreeBSD 7.0 (вийшла 27 лютого 2008) Інформація про налаштування доступна в FreeBSD Wiki [ 8 червня 2008 у Wayback Machine.].
Linux
Для Linux було розроблено , реалізацію файлової системи ZFS, оформлену у вигляді модуля для ядра Linux. проєкт засновано на оригінальному коді ZFS, імпортованому з проєкту OpenSolaris і розширено поліпшеннями і виправленнями від спільноти . Реалізована в ZFSonLinux версія пулу і файлової системи сумісна з ZFS зі складу Illumos і FreeBSD. проєкт розвивається за участю співробітників Ліверморської національної лабораторії за контрактом з Міністерством енергетики США.
У рамках ZFSonLinux підготовлена стабільна і повнофункціональна реалізація підтримки компонентів ZFS, пов'язаних як з роботою файлової системи, так і з функціонуванням менеджера томів. Зокрема, реалізовані компоненти: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) і ZPL (ZFS POSIX Layer). Додатково проєктом забезпечена можливість використання ZFS як бекенду для кластерної файлової системи Lustre.
Код розповсюджується під вільною ліцензією CDDL, яка несумісна з GPLv2, що не дозволяє домогтися інтеграції ZFSonLinux до складу основної гілки ядра Linux, бо змішування коду під ліцензіями GPLv2 і CDDL неприпустимо. Для обходу цієї ліцензійної несумісності було вирішено поширювати продукт цілком під ліцензією CDDL у вигляді окремо завантажувального модуля, який поставляється окремо від ядра.
У 2013-му році було анонсовано альтернативний проєкт, [en] як повністю відкритий проєкт за участі розробників Illumos, FreeBSD, Linux, OS X та різних компаній, які використовують ZFS. OpenZFS також розповсюджується під ліцензією CDDL.
Лінус Торвальдс не рекомендував користуватися модулем zfs через несумісність ліцензій CDDL і GPLv2. Ситуація така, що через ліцензійну політику компанії Oracle шанси, що ZFS колись зможе увійти до основного складу ядра дуже малі. Лінус вважає прагнення використовувати ZFS лише даниною моді, а не технічними перевагами. Тести продуктивності, які вивчав Лінус, не свідчили на користь ZFS, а відсутність повноцінного супроводу не гарантує стабільність в довгостроковій перспективі.
Mac OS X
Apple Computer переносить ZFS на свою систему Mac OS X, відбувається активне обговорення в списках розсилки ZFS і попередні снапшоти для наступної версії Apple Mac OS X. Попри те, що Mac OS X 10.5 (Developer Seed 9A321) підтримує ZFS, відсутня можливість використовувати ZFS на кореневих розділах (root partition), що вказане вище. Також спроба форматування локальних дисків під Mac OS під згадану файлову систему будуть безуспішні. Це баг.
Примітки
- http://bxr.su/f/sys/cddl/contrib/opensolaris/common/zfs/
- http://bxr.su/f/sys/cddl/boot/zfs/
- https://docs.oracle.com/cd/E19253-01/819-5461/zfsover-2/
- . Архів оригіналу за 28 квітня 2006. Процитовано 7 липня 2008.
- ZFS: The Last Word in Filesystems, Jeff Bonwick's Blog. Архів оригіналу за 13 жовтня 2012. Процитовано 7 липня 2008.
- . Архів оригіналу за 28 вересня 2008. Процитовано 7 липня 2008.
- . Архів оригіналу за 23 лютого 2017. Процитовано 11 серпня 2014.
- Data integrity; доповідь CERN. Архів оригіналу за 13 жовтня 2012. Процитовано 7 липня 2008.
- Smokin' Mirrors; Блог Jeff'a Bonwick'a. Архів оригіналу за 13 жовтня 2012. Процитовано 7 липня 2008.
- Розподіл блоків ZFS; Блог Jeff'а Bonwick'а. Архів оригіналу за 13 жовтня 2012. Процитовано 7 липня 2008.
- Ті ж блоки — Дивна репелент стрічка; Flippin' off bits Weblog. Архів оригіналу за 13 жовтня 2012. Процитовано 7 липня 2008.
- . Архів оригіналу за 22 січня 2009. Процитовано 8 липня 2008.
- Pawel Dawidek. ZFS committed to the FreeBSD base. Архів оригіналу за 13 жовтня 2012. Процитовано 7 липня 2008.
- Линус Торвальдс пояснил, в чём проблемы реализации ZFS для ядра Linux [ 10 січня 2020 у Wayback Machine.] // opennet.ru 10.01.2020
- Портування ZFS в OSX; zfs-дискусії. Архів оригіналу за 13 жовтня 2012. Процитовано 7 липня 2008.
- Mac OS X 10.5 9A326 Seeded; InsanelyMac Forums. Архів оригіналу за 13 жовтня 2012. Процитовано 7 липня 2008.
Посилання
- (англ.)
- (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
ZFS Zettabyte File System fajlova sistema stvorena v korporaciyi Sun Microsystems dlya operacijnoyi sistemi Solaris Cya fajlova sistema pidtrimuye veliki ob yemi danih ob yednuye koncepciyi fajlovoyi sistemi i menedzhera logichnih diskiv tomiv innovacijnu strukturu danih na diskah legki fajlovi sistemi angl lightweight filesystems a takozh proste upravlinnya ob yemami zberigannya danih ZFS ye proyektom z vidkritim kodom i licenzuyetsya pid CDDL Common Development and Distribution License Osnovna perevaga ZFS vidsutnist fragmentaciyi danih sho dozvolyaye dinamichno vidilyati abo zvilnyati diskovij prostir logichnij fajlovij sistemi prichomu cej prostir mozhe buti yak v ramkah fizichnogo nakopichuvacha tak i rozoseredzhenim po dekilkoh merezhevih diskah Krim togo ZFS maye zminnij rozmir bloku sho dobre vplivaye na produktivnist paralelnist vikonannya operacij chitannya zapisu a takozh 64 rozryadnij mehanizm kontrolnih sum sho zvodit do minimumu jmovirnist rujnuvannya danih ZFS Korotka nazvaZ File System i ZFS Chas data pochatkulistopad 2005 Maksimalnij rozmir abo yemnist16 eksabajt RozrobnikSun Microsystems Oracle Corporation i d Konstruktord Operacijna sistemaSolaris macOS d Berkeley Software Distribution d Linux Windows i FreeBSD 1 2 Versiya0 7 13 zfs 0 7 13 spl Licenziyad Status avtorskih pravd Maksimalne znachennya256 000 000 000 000 fajl 3 Oficijnij sajt angl IstoriyaZFS bula sproyektovana i stvorena grupoyu rozrobnikiv Sun Microsystems liderom yakoyi ye Dzhef Bonvik Jeff Bonwick Fajlova sistema bula anonsovana 14 veresnya 2004 r Vihidnij kod dlya finalnogo reliza buv integrovanij v golovnu gilku rozrobki Solaris 31 zhovtnya 2005 r i realizovanij yak chastina 27 yi zbirki Opensolaris 16 listopada 2005 r Sun zayavila sho ZFS bula integrovana v onovlennya 6 06 dlya Solaris 10 v chervni 2006 pislya odnogo roku z momentu vidkrittya Internet spilnoti Opensolaris Pochatkova nazva bula File System ale zaraz vono peretvorilosya na PotencialZFS ce 128 bitna fajlova sistema sho dozvolyaye yij zberigati v 18 milyardiv 18 4 109 raziv bilshe danih nizh ninishni 64 bitni sistemi ZFS sproyektovana tak shob yiyi obmezhennya buli nastilki veliki sho voni nikoli ne zustrinutsya na praktici Yak zayaviv kerivnik proyektu Bonvik zapovnennya 128 bitnih fajlovih sistem perevishit kvantovi mozhlivosti zberigannya danih na Zemli Vi ne zmozhete zapovniti i zberigati 128 bitovij ob yem ne zakip yativshi pri comu okean Deyaki teoretichni mezhi v ZFS 248 Kilkist znimkiv v bud yakij fajlovij sistemi 2 1014 248 Kilkist fajliv v bud yakij individualnij fajlovij sistemi 2 1014 16 eksabajt 264 byte Maksimalnij rozmir fajlovoyi sistemi 16 eksabajt 264 byte Maksimalnij rozmir odnogo fajlu 16 eksabajt 264 byte Maksimalnij rozmir bud yakogo atributu 3 1023 petabajt Maksimalnij rozmir bud yakogo pulu zberigannya zpool 256 Kilkist atributiv fajlu faktichno obmezhuyetsya 2 48 na kilkist fajliv u fajlovij sistemi ZFS 256 Kilkist fajliv v direktoriyi realno obmezheno 2 48 na kilkist fajliv u fajlovij sistemi ZFS 264 Kilkist pristroyiv v bud yakomu zpool 264 Kilkist zpool iv v sistemi 264 Chislo fajlovih sistem v zpool Priklad togo naskilki veliki ci cifri yakbi 1000 fajliv stvoryuvalisya kozhnu sekundu to bulo b potribno blizko 9000 rokiv dlya dosyagnennya mezhi kilkosti fajliv U vidpovid na pitannya pro zapovnennya ZFS bez kip yachennya okeaniv Bonvik pishe Hocha mi vsi hotili b shob Zakon Mura vikonuvavsya neskinchenno dovgo kvantova mehanika nakladaye deyaki fundamentalni obmezhennya na shvidkist obchislen i informacijnu mistkist bud yakogo fizichnogo pristroyu Zokrema bulo pokazano sho 1 kilogram materiyi obmezhenij 1 litrom prostoru mozhe vikonuvati ne bilsh nizh 1051 operaciyi v sekundu nad ne bilshe nizh 1031 bit informaciyi Cilkom zapovnenij 128 bitovij ob yem mistitime 2128 blokiv 2137 bajt 2140 bit tomu minimalna masa neobhidna dlya zberigannya ciyeyi kilkosti bit bude 2140 bit 1031 bit kg 136 mlrd kg Puli zberigannyaNa vidminu vid tradicijnih fajlovih sistem yaki roztashovuyutsya na odnomu pristroyi i otzhe pri vikoristanni bilsh nizh na odnomu pristroyi dlya nih potribnij menedzher tomiv ZFS buduyetsya poverh virtualnih puliv zberigannya danih zvanih zpool Pul pobudovanij z virtualnih pristroyiv vdevs kozhnij z yakih ye abo fizichnim pristroyem abo dzerkalom raid 1 odnogo abo dekilkoh pristroyiv abo raid Z grupoyu z dvoh abo bilshe pristroyiv Yemnist vsih vdevs potim dostupna dlya vsih fajlovih sistem v zpool Dlya obmezhennya prostoru dostupnogo konkretnij fajlovij sistemi mozhe buti vstanovlena Krim togo mozhlive vikoristannya ce garantuye sho zavzhdi zalishatimetsya deyakij dostupnij ob yem dlya konkretnoyi fajlovoyi sistemi Model tranzakcij kopiya po zapisuZFS vikoristovuye model ob yektnih tranzakcij kopiyuvannya pri zapisuvanni Vsi vkazivniki na bloki useredini fajlovoyi sistemi mistyat 256 bitovu kontrolnu sumu v cilovomu bloci yakij pereviryayetsya koli blok prochitanij Bloki danih sho mistyat aktivni u cej moment dani nikoli ne perezapisuyutsya razom navpaki vidilyayetsya novij blok zmineni dani zapisuyutsya v nogo a potim metadani bud yakih blokiv yaki na nogo posilayutsya takim chinom vse pererozpodilyayetsya i zapisuyetsya Shob zmenshiti nakladni vitrati v comu procesi grupuyetsya dekilka onovlen v grupu tranzakciyi takozh yaksho potribno vedetsya log vikoristannya pri sinhronnomu zapisu Znimki i kloniModel kopiya po zapisu v ZFS volodiye she odniyeyu potuzhnoyu perevagoyu koli ZFS zapisuye novi dani zamist zvilnennya blokiv sho mistyat stari dani vona mozhe zberigati yih stvoryuyuchi znimki fajlovoyi sistemi Znimki v ZFS stvoryuyutsya duzhe shvidko oskilki vsi dani u skladi znimka vzhe zberezheni voni takozh efektivno rozmisheni v prostori oskilki bud yaki nezmineni dani rozdilyayutsya ye zagalnimi mizh fajlovoyu sistemoyu i yiyi znimkom Takozh mozhut buti stvoreni perezapisuvani znimki kloni vnaslidok chogo budut dvi nezalezhni fajlovi sistemi yaki rozdilyayut kompleks blokiv Yak tilki zmini vnosyatsya v yakij nebud klon fajlovoyi sistemi bloki novih danih stvoryuyutsya u vsih ostannih klonah shob vidobraziti ci zmini Dinamichne rozdilennyaDinamichne vsih pristroyiv na maksimalnij propusknij spromozhnosti oznachaye sho dodatkovi pristroyi vklyuchayutsya v zpool shirshi kanali avtomatichno rozshiryuyetsya dlya vklyuchennya vikoristannya vsih diskiv v puli ce vrivnovazhuye navantazhennya na zapis Rizni rozmiri blokuZFS vikoristovuye zminnij rozmir blokiv do 128 kilobajt V nash chas koli administratorovi dozvolyayetsya nalashtovuvati maksimalnij rozmir vikoristovuvanih blokiv ale deyaki roboti ne budut vikonuvatisya abo budut vikonuvatisya iz pomilkami yaksho vikoristovuvalisya duzhe veliki bloki Avtomatichni nalashtuvannya robochih harakteristik vidpovidayut privileyam Yaksho vklyuchene stiskuvannya vikoristovuyutsya zminni rozmiri bloku Yaksho blok buv stisnutij vin mozhe vlitisya v blok menshogo rozmiru tobto vikoristovuyetsya menshij prostir na disku i pidvishuyetsya propuskna spromozhnist Input output hocha cinoyu rozshirenogo vikoristannya procesora i operativnoyi pam yati dlya operacij kompresiyi i dekompresiyi Naskriznij kontrol cilisnosti danihPid naskriznim kontrolem cilisnosti rozumiyetsya zapis na disk kontrolnoyi sumi dlya kozhnogo bloku danih prichomu kontrolna suma i dani specialno roznosyatsya maksimalno daleko odin vid odnogo dlya znizhennya jmovirnosti yih spilnogo psuvannya Yaksho v puli ye dekilka pristroyiv to dlya danih rozmishenih na odnomu z nih kontrolna suma bude zapisana na inshomu Kontrolni sumi obchislyuyutsya ne lishe dlya danih ale i dlya metadanih i vihodit sho v puli zavzhdi ye kontrolna suma dlya kozhnogo bloku informaciyi Pri prochituvanni bud yakogo bloku pidrahovuyetsya jogo kontrolna suma i rezultat porivnyuyetsya z kontrolnoyu sumoyu sho zberigayetsya na disku V razi rozbizhnosti pomilka vidrazu viyavlyayetsya Zrozumilo yaksho v puli zazdalegid ne bulo zaplanovano zhodnogo rezervuvannya ni RAID Z ni inshogo to pomilku vzhe ne vipravish ta zate zipsovani dani ne budut vidani za dostemenni Sens naskriznogo kontrolyu cilisnosti danih v tomu shob zapobigti prihovanomu nepomitnomu psuvannyu danih v rezultati zboyu ustatkuvannya abo vbudovanogo programnogo zabezpechennya diska abo kontrolera Popri te sho jmovirnist takoyi podiyi zdayetsya nizkoyu deyaki doslidzhennya pokazuyut sho vona spovna znachima dlya organizacij bud yakogo masshtabu Stvorennya legkovagovoyi fajlovoyi sistemiU ZFS manipulyuvati fajlovoyu sistemoyu v puli legshe nizh u tradicijnih fajlovih sistemah chas i zusillya potribni dlya stvorennya chi zmini fajlovoyi sistemi ZFS bilshe nagaduyut ob yemi robit pov yazani z novim katalogom nizh z manipulyuvannyam rozdilami v inshih tehnologiyah Dodatkovi mozhlivostiKonkretnij prioritet vvodu vivodu z terminom planuvannya utochniti Optimalnij v globalnomu masshtabi I o sortuvannya i agregaciyi aggregation Dekilka nezalezhnih potokiv z poperedzhennyam avtomatichnogo viyavlennya dovzhini i kroku Paralelna postijna chasu operacij z katalogami Intelektualne ochishennya i korekciya Zavantazhennya i spilne vikoristannya diskiv v puli Ti zh bloki Metadani vidtvoryuyutsya useredini pulu dva abo tri razi zgidno iz znachennyami metadanih Yaksho pul skladayetsya z dekilkoh pristroyiv ZFS namagatimetsya vidtvoryuvati dani na riznih pristroyah Navit u puli bez nadmirnosti mozhna vtratiti dani ale navit yaksho Vi viyavite poshkodzheni sektori to navit pri takomu scenariyi metadani povinni stvoriti dostatnyu bezpeku Dizajn ZFS kopiya po zapisu uberblocks daye bilshu bezpeku pri vikoristanni diskiv z mozhlivistyu zapisu v kesh tobto yaksho voni reaguyut i pokoryayutsya sho na kesh flesh komandi vidani ZFS Cya osoblivist zabezpechuye bezpeku i znachne pidvishennya produktivnosti v porivnyanni z inshimi FS Vrahovuyuchi poperednij punkt koli vsi diski znahodyatsya v ZFS kuli ZFS avtomatichno vklyuchaye funkciyu zapisu v kesh dlya nih Ce ne zastosovno yaksho ne lishe ZFS odnochasno upravlyaye diskretnimi rozdilami diska napriklad yaksho vi vikoristovuyete FS bez funkciyi bezpechnogo zapisu v kesh napriklad ufs i bezlich inshih Upravlinnya keshemZFS takozh vvodit ARC novij metod upravlinnya keshem zamist tradicijnih dlya Solaris virtualnih storinok keshu v pam yati Adaptivnij poryadok bajt Puli i nalagodzhena na nih ZFS mozhut buti pereneseni mizh riznimi platformami navit yaksho ti mayut inshij poryadok bajt Format blokiv ZFS dozvolyaye avtomatichno viznachati i minyati poryadok bajt na lotu pri chitanni metadanih Pri comu riznij poryadok bajt na riznih sistemah niyak ne vidbivayetsya na roboti zabezpechennya fajli dlya nogo tak i zalishayutsya prostimi poslidovnostyami bajtiv Takim chinom programne zabezpechennya vidpovidalne za format danih samih fajliv ObmezhennyaZFS ne pidtrimuye rozpodil kvot dlya kozhnogo koristuvacha abo grupi Zamist cogo mozhna stvoryuvati FS dlya koristuvachiv kozhna z yakih matime svoye obmezhennya rozmiru Nizkij riven nakladnih vitrat ZFS robit ce praktichnim navit dlya bagatoh koristuvachiv ale ce mozhe znachno upovilniti zapusk sistemi V dijsnosti nemaye zhodnogo praktichnogo rishennya problemi kvoti v sistemah de fajlovi sistemi rozdileni sered dekilkoh koristuvachiv yak napriklad proyekti grupi de dani ne mozhut buti vidokremleni dlya kozhnogo koristuvacha hocha ce mozhna zdijsniti poverh steka ZFS Rozshirennya yemnosti zazvichaj dosyagayetsya dodavannyam grup diskiv yak virtualnij pristrij smuga RAID Z RAID Z2 abo dzerkalo Znov zapisani dani dinamichno pochinatimut vikoristovuvati vsi dostupni pristroyi Takozh mozhlivo rozshiriti masiv iteracijno zaminyuyuchi diski menshoyi yemnosti na diski bilshoyi yemnosti ta chekayuchi na ZFS shob polagoditi sebe chas polagodzhennya zalezhatime vid kilkosti zberezhenoyi informaciyi ne rozmir diskiv Yaksho protyagom cogo procesu zrobiti znimok ce vikliche perezapusk polagodzhennya Zaraz ne mozhlivo skorotiti chislo pristroyiv v nakopichuvachi abo zmenshiti yemnist nakopichuvacha Prote v comu napryamku Taka mozhlivist she ne bula dostupnoyu v Solaris 10 05 08 Ne mozhlivo dodati diska do pristroyiv RAID Z abo RAID Z2 Cya osoblivist zdayetsya duzhe vazhkoyu dlya zdijsnennya Prote ye mozhlivist stvoriti novij RAIDZ pristrij i dodati jogo do pulu Ne mozhlivo dodavati do pulu pristroyi riznih tipiv Napriklad yaksho vi mayete smugovij ZFS nakopichuvach sho skladayetsya z diskiv na SAN vi ne mozhete dodati lokalni diski yak dzerkalnij pristrij Perekonfiguraciya nakopichuvacha vimagaye kopiyuvannya danih znishuvannya pulu i vidtvorennya nakopichuvacha z novoyu konfiguraciyeyu ZFS ne ye klasterom rozpodilenoyu fajlovoyu sistemoyu abo i ne mozhe zabezpechiti odnochasnij dostup dlya bagatoh kliyentiv takim zhe chinom yak do lokalnoyi fajlovoyi sistemi Rozpodilena fajlova sistema Lustre korporaciyi Sun mozhe vikoristati ZFS yak dlya zberigannya danih tak i metadanih u pochinayuchi z versiyi 1 8 yakij planuyetsya buti vipushenoyu v drugomu kvartali 2008 r PlatformiZFS ye chastinoyu OS Solaris kompaniyi Sun i dostupna dlya oboh platform SPARC i x86 Oskilki kod ZFS ye vidkritim programnim zabezpechennyam licenziya CDDL porti dlya inshih operacijnih sistem i platform mozhut viroblyatisya bez uchasti Sun OpenSolaris OpenSolaris 2008 05 vikoristovuye ZFS yak fajlovu sistemu za umovchannyam FreeBSD Pawel Jakub Dawidek adaptuvav ZFS dlya FreeBSD u viglyadi modulya dlya yadra sistemi ZFS vklyuchena u versiyu FreeBSD 7 0 vijshla 27 lyutogo 2008 Informaciya pro nalashtuvannya dostupna v FreeBSD Wiki 8 chervnya 2008 u Wayback Machine Linux Dlya Linux bulo rozrobleno realizaciyu fajlovoyi sistemi ZFS oformlenu u viglyadi modulya dlya yadra Linux proyekt zasnovano na originalnomu kodi ZFS importovanomu z proyektu OpenSolaris i rozshireno polipshennyami i vipravlennyami vid spilnoti Realizovana v ZFSonLinux versiya pulu i fajlovoyi sistemi sumisna z ZFS zi skladu Illumos i FreeBSD proyekt rozvivayetsya za uchastyu spivrobitnikiv Livermorskoyi nacionalnoyi laboratoriyi za kontraktom z Ministerstvom energetiki SShA U ramkah ZFSonLinux pidgotovlena stabilna i povnofunkcionalna realizaciya pidtrimki komponentiv ZFS pov yazanih yak z robotoyu fajlovoyi sistemi tak i z funkcionuvannyam menedzhera tomiv Zokrema realizovani komponenti SPA Storage Pool Allocator DMU Data Management Unit ZVOL ZFS Emulated Volume i ZPL ZFS POSIX Layer Dodatkovo proyektom zabezpechena mozhlivist vikoristannya ZFS yak bekendu dlya klasternoyi fajlovoyi sistemi Lustre Kod rozpovsyudzhuyetsya pid vilnoyu licenziyeyu CDDL yaka nesumisna z GPLv2 sho ne dozvolyaye domogtisya integraciyi ZFSonLinux do skladu osnovnoyi gilki yadra Linux bo zmishuvannya kodu pid licenziyami GPLv2 i CDDL nepripustimo Dlya obhodu ciyeyi licenzijnoyi nesumisnosti bulo virisheno poshiryuvati produkt cilkom pid licenziyeyu CDDL u viglyadi okremo zavantazhuvalnogo modulya yakij postavlyayetsya okremo vid yadra U 2013 mu roci bulo anonsovano alternativnij proyekt en yak povnistyu vidkritij proyekt za uchasti rozrobnikiv Illumos FreeBSD Linux OS X ta riznih kompanij yaki vikoristovuyut ZFS OpenZFS takozh rozpovsyudzhuyetsya pid licenziyeyu CDDL Linus Torvalds ne rekomenduvav koristuvatisya modulem zfs cherez nesumisnist licenzij CDDL i GPLv2 Situaciya taka sho cherez licenzijnu politiku kompaniyi Oracle shansi sho ZFS kolis zmozhe uvijti do osnovnogo skladu yadra duzhe mali Linus vvazhaye pragnennya vikoristovuvati ZFS lishe daninoyu modi a ne tehnichnimi perevagami Testi produktivnosti yaki vivchav Linus ne svidchili na korist ZFS a vidsutnist povnocinnogo suprovodu ne garantuye stabilnist v dovgostrokovij perspektivi Mac OS X Apple Computer perenosit ZFS na svoyu sistemu Mac OS X vidbuvayetsya aktivne obgovorennya v spiskah rozsilki ZFS i poperedni snapshoti dlya nastupnoyi versiyi Apple Mac OS X Popri te sho Mac OS X 10 5 Developer Seed 9A321 pidtrimuye ZFS vidsutnya mozhlivist vikoristovuvati ZFS na korenevih rozdilah root partition sho vkazane vishe Takozh sproba formatuvannya lokalnih diskiv pid Mac OS pid zgadanu fajlovu sistemu budut bezuspishni Ce bag Primitkihttp bxr su f sys cddl contrib opensolaris common zfs http bxr su f sys cddl boot zfs https docs oracle com cd E19253 01 819 5461 zfsover 2 Arhiv originalu za 28 kvitnya 2006 Procitovano 7 lipnya 2008 ZFS The Last Word in Filesystems Jeff Bonwick s Blog Arhiv originalu za 13 zhovtnya 2012 Procitovano 7 lipnya 2008 Arhiv originalu za 28 veresnya 2008 Procitovano 7 lipnya 2008 Arhiv originalu za 23 lyutogo 2017 Procitovano 11 serpnya 2014 Data integrity dopovid CERN Arhiv originalu za 13 zhovtnya 2012 Procitovano 7 lipnya 2008 Smokin Mirrors Blog Jeff a Bonwick a Arhiv originalu za 13 zhovtnya 2012 Procitovano 7 lipnya 2008 Rozpodil blokiv ZFS Blog Jeff a Bonwick a Arhiv originalu za 13 zhovtnya 2012 Procitovano 7 lipnya 2008 Ti zh bloki Divna repelent strichka Flippin off bits Weblog Arhiv originalu za 13 zhovtnya 2012 Procitovano 7 lipnya 2008 Arhiv originalu za 22 sichnya 2009 Procitovano 8 lipnya 2008 Pawel Dawidek ZFS committed to the FreeBSD base Arhiv originalu za 13 zhovtnya 2012 Procitovano 7 lipnya 2008 Linus Torvalds poyasnil v chyom problemy realizacii ZFS dlya yadra Linux 10 sichnya 2020 u Wayback Machine opennet ru 10 01 2020 Portuvannya ZFS v OSX zfs diskusiyi Arhiv originalu za 13 zhovtnya 2012 Procitovano 7 lipnya 2008 Mac OS X 10 5 9A326 Seeded InsanelyMac Forums Arhiv originalu za 13 zhovtnya 2012 Procitovano 7 lipnya 2008 Posilannya angl angl