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

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

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

    Снимка от Кени Луи.

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

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

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

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

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

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

    Обединяване на дискове

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

    RAID

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

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

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

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

    Ubuntu:

    $ sudo add-apt-repository ppa: zfs-native / stable
    $ sudo apt-get update
    $ sudo apt-get install 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 install debian-zfs

    RHEL / CentOS:

    $ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm
    $ sudo yum install zfs

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

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

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

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

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

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

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

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

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

    zpool create е командата, използвана за създаване на нов пул за съхранение, отменя всички възникнали грешки (например ако дискът / ите вече имат информация за тях), 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 файл.

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

    $ sudo zpool унищожи geek1

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

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

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

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

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

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

    Получаваме:

    Сагата продължава…

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