Какво представлява ZFS? Защо хората са луди за това?

Днес ще разгледаме ZFS, усъвършенствана файлова система. Ще обсъдим откъде е дошло, какво е то и защо е толкова популярно сред техничари и предприятия.

Въпреки, че съм от САЩ, предпочитам да го произнасям като ZedFS вместо ZeeFS, защото звучи по-хладно. Вие сте свободни да го произнасяте колкото искате.

Забележка: Ще видите, че ZFS се повтаря многократно в статията. Когато говоря за функция и инсталация, аз говоря за OpenZFS. ZFS (разработен от Oracle) и OpenZFS са следвали различни пътища, откакто Oracle изключи OpenSolaris. (Повече за това по-късно.)

История на ZFS

Файловата система Z (ZFS) е създадена от Matthew Ahrens и Jeff Bonwick през 2001 г. ZFS е проектирана да бъде следващото поколение файлова система за OpenSolaris на Sun Microsystems. През 2008 г. ZFS бе пренесен към FreeBSD. Същата година беше стартиран проект за пристанище на ZFS към Linux. Въпреки това, тъй като ZFS е лицензиран под лиценза за обща разработка и разпространение, който е несъвместим с GNU General Public License, той не може да бъде включен в ядрото на Linux. За да заобиколите този проблем, повечето дистрибуции на Linux предлагат методи за инсталиране на ZFS.

Скоро след като Oracle закупи Sun Microsystems, OpenSolaris стана близък източник. Всяко по-нататъшно развитие на ZFS също стана затворен източник. Много от разработчиците на ZFS, където са нещастни за този ред на събитията. Две трети от основните ZFS devlopers, включително Ahrens и Bonwick, напуснаха Oracle поради това решение. Те се присъединиха към други компании и създадоха проекта OpenZFS през септември 2013 година. Проектът оглави разработката на ZFS с отворен код.

Да се ​​върнем към въпроса за лиценза, споменат по-горе. Тъй като проектът OpenZFS е отделен от Oracle, някои вероятно се чудят защо не променят лиценза до нещо, което е съвместимо с GPL, така че може да бъде включено в ядрото на Linux. Според уебсайта на OpenZFS промяната на лиценза ще включва контакт с всеки, който е допринесъл с код за текущата реализация на OpenZFS (включително първоначалния, общ ZFS код до OpenSolaris) и ще получи тяхното разрешение за промяна на лиценза. Тъй като тази работа е почти невъзможна (тъй като някои участници могат да бъдат мъртви или трудно открити), те са решили да запазят лиценза, който имат.

Какво представлява ZFS? Какви са неговите характеристики?

Както казах преди, ZFS е усъвършенствана файлова система. Като такъв, той има някои интересни функции. Като:

  • Събрано съхранение
  • Copy-на-пиша
  • Моменти
  • Проверка на целостта на данните и автоматичен ремонт
  • RAID-Z
  • Максимален размер на файла от 16 екзабайта
  • Максимално съхранение от 256 квадрилиона зетбабайта

Нека разрушим няколко от тези функции.

Събрано съхранение

За разлика от повечето файлови системи, ZFS комбинира характеристиките на файловата система и мениджъра на силата на звука. Това означава, че за разлика от други файлови системи, ZFS може да създаде файлова система, която обхваща серия от устройства или пул. Не само това, но можете да добавите хранилище към пул, като добавите друго устройство. ZFS ще обработва разделяне и форматиране.

Събрано съхранение в ZFS

Copy-на-пиша

Copy-on-write е друга интересна (и хладна) функция. В повечето файлова система, когато данните са презаписани, тя се губи завинаги. На ZFS новата информация се записва в различен блок. След като записването приключи, метаданните на файловите системи се актуализират, за да сочат към новата информация. Това гарантира, че ако системата се срине (или се случи нещо друго), докато се извършва записът, старите данни ще бъдат запазени. Това също така означава, че системата не трябва да изпълнява fsck след срив на системата.

Моменти

Копира-на-пиша води в друга ZFS функция: снимки. ZFS използва снимки за проследяване на промените във файловата система. “Снимката съдържа оригиналната версия на файловата система, а живата файлова система съдържа всички промени, направени след като е направена снимката. Не се използва допълнително място. Тъй като новите данни се записват в живата файлова система, се разпределят нови блокове за съхраняване на тези данни. ”Файлът се изтрива, също така се премахва и моментната снимка. Така че, снимките са предназначени главно за проследяване на промените в файловете, но не и за добавянето и създаването на файлове.

Снимките могат да бъдат монтирани като само за четене за възстановяване на предишна версия на файл. Също така е възможно да се върне назад системата на живо към предишна снимка. Всички промени, направени след моментната снимка, ще бъдат загубени.

Проверка на целостта на данните и автоматичен ремонт

Когато нови данни се записват в ZFS, той създава контролна сума за тези данни. Когато данните се четат, контролната сума се проверява. Ако контролната сума не съвпада, ZFS знае, че е открита грешка. След това ZFS автоматично ще се опита да коригира грешката.

RAID-Z

ZFS може да работи с RAID без да изисква допълнителен софтуер или хардуер. Не е изненадващо, че ZFS има собствена реализация на RAID: RAID-Z. RAID-Z всъщност е вариант на RAID-5. Въпреки това, той е предназначен да преодолее грешката при писане на дупки RAID-5, "при която данните и информацията за паритета стават несъвместими след неочакван рестарт". За да използвате основното ниво на RAID-Z (RAID-Z1), трябва да имате поне два диска за съхранение и един за паритет. RAID-Z2 изисква поне две устройства за съхранение и два диска за паритет. RAID-Z3 изисква поне две устройства за съхранение и три диска за паритет. Когато дисковете се добавят към RAID-Z пуловете, те трябва да бъдат добавени в кратни на две.

Огромен потенциал за съхранение

Когато ZFS е създаден, той е проектиран да бъде последната дума във файловите системи. Във време, когато повечето файлови системи, където има 64-битов, създателите на ZFS са решили да скачат право на 128-битово към бъдещо доказателство. Това означава, че ZFS “предлага 16 милиарда милиарда пъти капацитета на 32- или 64-битови системи”. Всъщност Джеф Бонвик (един от създателите) каза, че захранването на „пълно запълване на 128-битов пул за съхранение, буквално ще изисква повече енергия, отколкото кипенето на океаните“.

Как да инсталирате ZFS?

Ако искате да използвате ZFS извън кутията, това ще изисква инсталиране на FreeBSD или операционна система, използваща ядрото на illumos. illumos е разклонение на ядрото на OpenSolaris.

Всъщност, поддръжката на ZFS е една от основните причини, поради която някои опитни потребители на Linux избират BSD.

Ако искате да опитате ZFS на Linux, можете да го използвате само като файлова система за съхранение. Доколкото знам, никаква дистрибуция на Linux не ви дава възможност да инсталирате ZFS на вашия корен извън полето. Ако се интересувате от опитите с ZFS на Linux, проектът ZFS за Linux има редица ръководства за това как да направите това.

Протест

Тази статия изпя ползите от ZFS. Сега нека ви кажа бърз проблем със ZFS. Използването на RAID-Z може да бъде скъпо заради броя на устройствата, които трябва да закупите, за да добавите място за съхранение.

Използвали ли сте някога ZFS? Какъв беше вашият опит? Кажете ни в коментарите по-долу.

Ако откриете, че тази статия е интересна, моля, отделете минута, за да я споделите в социалните медии, Hacker News или Reddit.

Препоръчано

Пълно ръководство за трикратно зареждане на Windows, Kubuntu и Debian
2019
GNOME 3.26 Издаден! Проверете новите функции
2019
3D отпечатване с отворен код: проучване на научни и медицински решения
2019