ZFS
ZFS-ը առաջադեմ ֆայլային համակարգ և պահեստավորման կառավարիչ է, որը ստեղծվել է Sun Microsystems ընկերության կողմից։ Այն նախագծված է տվյալների ամբողջականություն, բարձր հուսալիություն և հեշտ կառավարում ապահովելու համար։
ZFS-ը լայնորեն օգտագործվում է FreeBSD-ում, ինչպես նաև այլ համակարգերում։
Պատմություն
ZFS-ը ստեղծվել է 2000-ական թվականների սկզբին և առաջին անգամ ներկայացվել է Solaris օպերացիոն համակարգում։
Հետագայում այն բաց կոդով դարձավ և տեղափոխվեց այլ համակարգեր՝ ներառյալ FreeBSD և Linux (OpenZFS նախագիծ)։
Հիմնական գաղափար
ZFS-ը միավորում է ֆայլային համակարգը և ծավալների կառավարիչը (volume manager) մեկ համակարգում։
Սա նշանակում է, որ չկա անհրաժեշտություն առանձին գործիքների՝ պահեստավորման կառավարման համար։
Հիմնական առանձնահատկություններ
Տվյալների ամբողջականություն
ZFS-ը օգտագործում է checksum-ներ՝ տվյալների վնասումը հայտնաբերելու համար։
Եթե տվյալները վնասված են, և առկա է կրկնօրինակ (mirror կամ RAIDZ), ZFS-ը կարող է ինքնուրույն վերականգնել դրանք։
Copy-on-Write (CoW)
ZFS-ը երբեք չի վերագրում տվյալները անմիջապես։ Փոխարենը, այն գրում է նոր բլոկներ և հետո թարմացնում հղումները։
Սա ապահովում է տվյալների անվտանգություն և խափանումներից պաշտպանություն։
Snapshots
ZFS-ը թույլ է տալիս ստեղծել snapshots՝ ֆայլային համակարգի արագ և էժան վիճակների պահպանում։
Սրանք օգտագործվում են՝
- backup-ների համար
- rollback (վերադարձ նախորդ վիճակին)
- փորձարկումների համար
Storage Pools (zpool)
ZFS-ում պահեստավորումը կազմակերպվում է pool-երի միջոցով (zpool)։
Մի քանի սկավառակ կարող են միավորվել մեկ pool-ի մեջ՝ ստեղծելով միասնական պահեստ։
RAIDZ
ZFS-ը ներառում է RAID-ի իր տարբերակը՝ RAIDZ։
Այն ապահովում է տվյալների պաշտպանություն սկավառակի խափանումից՝ առանց ավանդական RAID-ի որոշ սահմանափակումների։
ZFS-ի կառուցվածք
ZFS-ի հիմնական բաղադրիչները՝
- zpool — ֆիզիկական պահեստավորման խումբ
- dataset — ֆայլային համակարգ կամ տվյալների հավաքածու
- snapshot — dataset-ի պահված վիճակ
- volume (zvol) — բլոկային սարք
Օգտագործում
ZFS-ը հաճախ օգտագործվում է՝
- սերվերներում
- NAS (Network Attached Storage) համակարգերում
- backup լուծումներում
- վիրտուալիզացիայում
Առավելություններ
- տվյալների բարձր ամբողջականություն
- ինքնավերականգնման հնարավորություն
- հեշտ snapshot-ներ և backup
- ճկուն պահեստավորման կառավարում
Թերություններ
- պահանջում է շատ RAM
- բարդ է սկսնակների համար
- որոշ դեպքերում կարող է լինել ծանր