Снимка: Кени Луи.
Какво е 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-native/stable $ sudo apt-get update $ sudo apt-get install ubuntu-zfs
Debian:
$ su - # wget https://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 https://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm $ sudo yum install zfs
Ако имате някаква друга дистрибуция, проверете zfsonlinux.org и кликнете върху разпространението си в списъка "Packages" за инструкции как да инсталирате ZFS.
Тъй като продължаваме с това ръководство, ще използваме Ubuntu, защото това изглежда е най-добрият избор за Linux драйвери. Вие все пак трябва да можете да следвате това независимо от това, тъй като командите на ZFS няма да се променят в различните дистрибуции.
Инсталацията отнема доста време, но след като приключи, тичай
$ sudo zfs list
за да сте сигурни, че е инсталиран правилно. Трябва да получите изход така:
Конфигуриране на ZFS
Сега, да речем, че в компютъра ни поставихме още шест твърди диска.
$ sudo fdisk -l | grep Error
ще ни покажем шестте твърди дискове, които току-що инсталирахме. Понастоящем те са неизползваеми, тъй като не съдържат никаква таблица на дяловете.
$ sudo zpool create -f geek1 /dev/sdb /dev/sdc /dev/sdd
zpool create
е командата, използвана за създаване на нов пакет за съхранение,
-f
подменя грешките, които възникват (например ако дискът вече има информация за тях),
geek1
е името на басейна за съхранение и
/dev/sdb /dev/sdc /dev/sdd
са твърдите дискове, които поставяме в басейна.
След като създадете своя басейн, трябва да можете да го видите с
df
команда или
sudo zfs list
:
Ако искате да видите кои три диска сте избрали за басейна си, можете да стартирате
sudo zpool status
:
Ако приемем, че защитата на вашите данни е по-важна от бързото достъпване, нека да разгледаме други популярни настройки. Първо, ще изтрием създадения от нас разool, за да можем да използваме тези дискове в по-излишна настройка:
$ sudo zpool destroy geek1
Бам, нашият разool е изчезнал. Този път, нека използваме нашите три диска, за да създадем 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 create -f geek1 raidz /dev/sdb /dev/sdc /dev/sdd
df -h
показва, че нашият резерв от 9 TB е намален до 6 TB, тъй като 3 ТБ се използват за поддържане на паритетна информация. С
zpool status
команда, виждаме, че нашият басейн е предимно същият като преди, но използва RAID-Z сега.
За да покажем колко лесно е да добавим още дискове към нашия пакет за съхранение, нека добавим другите три диска (още 9 TB) към нашия пакет за съхранение на данни geek1 като друга RAID-Z конфигурация:
$ sudo zpool add -f geek1 raidz /dev/sde /dev/sdf /dev/sdg
В крайна сметка става дума за:
Сага продължава …
Ние едва сме оправили повърхността на ZFS и нейните възможности, но използвайки това, което научихте в тази статия, вече трябва да можете да създавате резервни пакети данни за вашите данни. Обърнете се към нас за бъдещи статии за ZFS, вижте страниците на човека и търсете за безкрайните ръководства за ниша и видеоклиповете в YouTube, покриващи функциите на ZFS.