If-Koubou

Въведение в Z файловата система (ZFS) за Linux

Въведение в Z файловата система (ZFS) за Linux (Как да)

ZFS обикновено се използва от операторите на данни, любителите на NAS и други, които предпочитат да се доверят на излишна система за съхранение, а не на облака. Това е страхотна файлова система, която да използва за управление на множество дискове с данни и съперници на някои от най-големите RAID настройки.

Снимка: Кени Луи.

Какво е ZFS и защо трябва да го използвам?

Файловата система Z е свободен и отворен код за логически обем, създаден от Sun Microsystems за използване в тяхната операционна система Solaris. Някои от най-привлекателните му характеристики включват:

Безкрайно мащабируемост

Е, не е така технически но това е 128-битова файлова система, която е в състояние да управлява zettabytes (един милиард терабайта) данни. Без значение колко твърдо дисково пространство имате, ZFS ще бъде подходящ за управление.

Максимална цялост

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

Споделяне на драйвери

Създателите на ZFS искат да помислите, че е подобно на начина, по който компютърът ви използва RAM. Когато имате нужда от повече памет в компютъра си, поставете друга пръчка и сте готови. Подобно на ZFS, когато имате нужда от повече място на твърдия диск, поставите друг твърд диск и сте готови. Няма нужда да отделяте време за разделяне, форматиране, инициализиране или правене на каквото и да било друго на дисковете си - когато имате нужда от по-голям "басейн" за съхранение, просто добавете дискове.

RAID

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

Инсталиране на ZFS

Тъй като ние обхващаме само основните неща в това ръководство, няма да инсталирате ZFS като коренна файлова система. Този раздел предполага, че използвате ext4 или друга файлова система и искате да използвате ZFS за някои вторични твърди дискове. Ето командите за инсталиране на ZFS на някои от най-популярните Linux дистрибуции.

Соларис и FreeBSD вече трябва да са с инсталиран и готов за употреба ZFS.

Ubuntu:

$ sudo add-apt-repository ppa: zfs-нативна / стабилна
$ sudo apt-get актуализация
$ sudo apt-get инсталирате ubuntu-zfs

Debian:

$ su -
# wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb
# dpkg -i zfsonlinux_2 ~ wheezy_all.deb
# apt-get update
# apt-get инсталирате debian-zfs

RHEL / CentOS:

$ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm
$ sudo yum инсталирате zfs

Ако имате някаква друга дистрибуция, проверете zfsonlinux.org и кликнете върху разпространението си в списъка "Packages" за инструкции как да инсталирате ZFS.

Тъй като продължаваме с това ръководство, ще използваме Ubuntu, защото това изглежда е най-добрият избор за Linux драйвери. Вие все пак трябва да можете да следвате това независимо от това, тъй като командите на ZFS няма да се променят в различните дистрибуции.

Инсталацията отнема доста време, но след като приключи, тичай $ sudo zfs списък за да сте сигурни, че е инсталиран правилно. Трябва да получите изход така:

Използваме нова инсталация на сървър на Ubuntu в момента, само с един твърд диск.

Конфигуриране на ZFS

Сега, да речем, че в компютъра ни поставихме още шест твърди диска.

$ sudo fdisk -l | grep грешка ще ни покажем шестте твърди дискове, които току-що инсталирахме. Понастоящем те са неизползваеми, тъй като не съдържат никаква таблица на дяловете.

Както споменахме по-рано, едно от хубавите неща за ZFS е, че не е нужно да се занимаваме с дялове (въпреки че можете, ако искате). Нека да започнем като вземем три от нашите твърди дискове и ги сложим в хранилище, като изпълните следната команда:

$ sudo zpool създайте -f geek1 / dev / sdb / dev / sdc / dev / sdd

разool create е командата, използвана за създаване на нов пакет за съхранение, -f подменя грешките, които възникват (например ако дискът вече има информация за тях), geek1 е името на басейна за съхранение и / dev / sdb / dev / sdc / dev / sdd са твърдите дискове, които поставяме в басейна.

След като създадете своя басейн, трябва да можете да го видите с ге команда или Списък на sudo zfs:

Както виждате, / geek1 вече е монтиран и е готов за употреба.

Ако искате да видите кои три диска сте избрали за басейна си, можете да стартирате sudo zpool статус:

Това, което сме направили досега, е да създадем 9 TB динамичен ивиден плик (ефективно, RAID 0). В случай, че не сте запознати с това, представете си, че създадохме 3 KB файл в / geek1. 1 KB автоматично ще премине към SDB, 1 KB до SDC и 1 KB до SDD. След това, когато отидем да прочетем файла с 3 KB, всеки твърд диск ще ни предостави 1 KB, комбинирайки скоростта на трите устройства. Това прави писането и четенето на данни бързо, но също така означава, че имаме една точка на провал. Ако само един твърд диск се провали, ще загубим нашия 3 KB файл.

Ако приемем, че защитата на вашите данни е по-важна от бързото достъпване, нека да разгледаме други популярни настройки. Първо, ще изтрием създадения от нас разool, за да можем да използваме тези дискове в по-излишна настройка:

$ sudo zpool унищожи geek1

Бам, нашият разool е изчезнал. Този път, нека използваме нашите три диска, за да създадем RAID-Z басейн. RAID-Z е основна подобрена версия на RAID 5, тъй като избягва "дупката за писане", като използва копиране по писане. RAID-Z изисква минимум три твърди диска и е нещо като компромис между RAID 0 и RAID 1. В RAID-Z пул, вие все пак ще получите скоростта на блокиране на нивото на блокиране, но ще има и разпределен паритет. Ако един от дисковете в басейна умре, просто заменете този диск и ZFS автоматично ще възстанови данните въз основа на информация за паритет от останалите дискове. За да изгубите цялата информация в хранилището си, два диска ще трябва да умрат. За да направите нещата още по-излишни, можете да използвате RAID 6 (RAID-Z2 в случая на ZFS) и да имате двоен паритет.

За да постигнем това, можем да използваме същото разool create команда, както е посочено по-горе raidz след името на басейна:

$ sudo zpool създайте -f geek1 raidz / dev / sdb / dev / sdc / dev / sdd

Както виждаш, df -h показва, че нашият резерв от 9 TB е намален до 6 TB, тъй като 3 ТБ се използват за поддържане на паритетна информация. С статус команда, виждаме, че нашият басейн е предимно същият като преди, но използва RAID-Z сега.

За да покажем колко лесно е да добавим още дискове към нашия пакет за съхранение, нека добавим другите три диска (още 9 TB) към нашия пакет за съхранение на данни geek1 като друга RAID-Z конфигурация:

$ sudo zpool добави -f geek1 raidz / dev / sde / dev / sdf / dev / sdg

В крайна сметка става дума за:

Сага продължава ...

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