Възползвайте се от файловата система ZFS на Solaris

Архив на издания / 2007 / Брой #3 (52) / Възползвайте се от ZFS на Solaris

Алексей Коробкин

Възползвайте се от файловата система ZFS на Solaris

Изданието Solaris 10 OS версия 10 Summer 6/06 добави поддръжка за новата файлова система ZFS. Това е интересна иновация и е не по-малко значима от зоните или системата за самодиагностика DTrace. Защо беше необходимо да се измисли нова файлова система вместо обичайната ufs и защо е интересна?

Когато сървърният администратор свърже ново хранилище, той действа по следния начин: използвайки диспечера на диска, вграден в хранилището, той формира един или повече хардуерни RAID масиви, разделя получените дискови томове на fdisk дялове и след това ги разделя за файлови системи, използвайки newfs, mkfs и други. Ако администратор, следвайки съвременните тенденции [2], реши да изгради софтуерен, а не хардуерен RAID масив, тогава той трябва да използва и диспечера на диска на операционната система. С други думи, процесът не изглежда твърде прост: трябва да извършите три действия, които изискват повишено внимание и внимателно планиране, като стартирате три програми за това, качеството на една от които често зависи само от доставчика на хранилище.

Инженерите на Sun се опитаха да улеснят тази работа. Създадената от тях ZFS съчетава и трите нива на управление на съхранението. Новото в подхода е, че горният слой - файловата система - знае върху кой масив работи. Какво е предимството тук? Например, знаейки размера на файловете, които записва там, ZFS може да създава ивици с променлива дължина върху масиви RAID-0 и RAID-5, като по този начин осигурява висока скорост и повишенаотказоустойчивост. ZFS изчислява контролни суми за файлове, а не за блокове от данни, като се отървава от възможната грешка на конвенционалните RAID масиви, когато блок с правилната сума е записан на грешното място.

Нови ZFS дискове, свързани към сървъра, могат да се използват веднага. По аналогия с RAM, ако добавим памет към сървъра, няма нужда да правим нищо - операционната система автоматично я разпознава и използва. На практика няма ограничения за обема: ZFS е 128-битова файлова система и пълното й име звучи като Zettabyte File System. Той може да съхранява 128 квадрилиона зетабайта данни.

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

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

# zpool създаде зоопарк c1t1d0

Пулът на zoopark ще заема целия диск c1t1d0 и командата zpool автоматично ще създаде готова нова файлова система вътре в него и ще я монтира към /zoopark. Ето състоянието на системата: