OpenZFS 2.4.0-ի հրապարակումը, ինչը ZFS-ն է Linux-ի և FreeBSD-ի համար

11 ամիս զարգացմանց հետո հրապարակվել է OpenZFS 2.4.0 նախագիծը, որը զարգանում է ZFS ֆայլային համակարգի իրականացման համար Linux և FreeBSD համակարգերում: Նախագիծը հայտնի է որպես 'ZFS on Linux' և նախկինում սահմանափակվում էր Linux միջուկի մոդուլի մշակմամբ, սակայն FreeBSD կոդի հետ միաձուլումից հետո ընդունվել է OpenZFS հիմնական իրականացումը և վերանվանվել։

OpenZFS-ի աշխատանքը ստուգվել է Linux-ի 4.18-ից մինչև 6.18 միջուկների և FreeBSD-ի բոլոր ճյուղերի հետ՝ սկսած 13.3-ից: Կոդը տարածվում է ազատ CDDL լիցենզիայով: OpenZFS-ն արդեն օգտագործվում է FreeBSD-ում և ներառվում է Debian, Ubuntu, Gentoo, NixOS և ALT Linux-ზე հիմնված բաժիններում: Նոր տարբերակի փաթեթները կպատրաստվեն հիմնական Linux բաժինների համար՝ ներառյալ Debian, Ubuntu, Fedora, RHEL/CentOS:

OpenZFS-ն ապահովում է ZFS բաղադրիչների իրականացման, որոնք կապված են թե ֆայլային համակարգի աշխատանքի, թե նաև ծավալային կառավարիչի գործառույթների հետ։ Ապահովված են բաղադրիչները՝ SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) և ZPL (ZFS POSIX Layer)։ Նախագիծը նաև թույլ է տալիս օգտագործել ZFS որպես բազայի ֆայլային համակարգի Lustre համար։ OpenZFS-ի մշակման հիմքում գտնվում է ZFS-ի սկզբնական կոդը, որը ներմուծվել է OpenSolaris նախագծից և ընդլայնվել է Illumos համայնքի բարելավումներով և անմիջական ուղղումներով։ Նախագիծը զարգանում է Livermore ազգային լաբորատորիայի աշխատակիցների մասնակցությամբ ԱՄՆ էներգետիկայի նախարարության պատվերով։

Կոդը բաժանվում է ազատ CDDL լիցենզիայով, որը չի համապատասխանում GPLv2-ին, ինչը չի թույլատրում OpenZFS-ի ինտեգրումը Linux միջուկի հիմնական ճյուղի կազմում, քանի որ GPLv2 և CDDL լիցենզիաներով կոդի խառնուրդը անթույլատրելի է։ Լիցենզիայի անհամատեղելիությունը շրջանցելու համար որոշվել է Linux-ի արտադրանքը ամբողջովին տարածել CDDL լիցենզիայի ներքո որպես առանձին բեռնվող մոդուլ, որը տրամադրվում է միջուկից։ OpenZFS-ի կոդային հիմքի կայունությունը գնահատվում է ինչպես մյուս Linux ֆայլային համակարգերի հետ համեմատելի։

Main changes:

  • Ամբողջական օգտագործողների, խմբերի և նախագծերի համար տարբերակված квոտերի նշանակման հնարավորությունը իրականացվել է: Նախորդ տարբերակներում квոտերը կարող էին սահմանվել միայն յուրաքանչյուր उपयोगողի համար առանձին: Նոր տարբերակում միասնական արժեքի նշանակման հնարավորություն է առաջացել, որը կիրագործվի, եթե կոնկրետ օգտագործողի համար квոտան չի սահմանվել:
  • Ավելացված է O_DIRECT (Direct I/O) մոդուսի հետ վերադարձը՝ օգտագործելով հեշտ վարի некешируемого ввода/вывода (Uncached I/O) մեխանիզմը՝ էջի հիշողության սահմաններին չհետևվող հարցումների համար, որոնք չեն_supported_ Direct I/O-ում:
  • Առաջարկվել է նոր միավորող արագության սահմանափակման ալգորիթմներ գրառումների և բլոկների տեղադրման համար, որը կրճատում է vdev (Virtual Device) ֆրագմենտացիան՝ միավորելով մի քանի գրառման գործողություններ և օգտագործելով դրանց համար ավելի մեծ երկարատև ազատ տարածքներ՝ փոխանակ միառժամանակյան գրառման գործողություններում արդյունքների տեղադրումը մանր բաց տարածքներում:
  • Ժամանակի կոդավորումը բարձրացվել է AES-GCM ալգորիթմի իրականացումում AVX2 հրահանգների օգտագործման շնորհիվ: Ծավալված թեստերում արագացումը հասնում է 80%-ի:
  • Միաժամանակ ZIL բլոկների (ZFS Intent Log) տեղադրումը թույլատրվել է ոչ միայն սովորական vdev համակարգերում կամ առանձնահատուկ SLOG սարքերում, այլև հատուկ vdev-երում: Եթե սովորական vdev-ի հետ կապված է մեխանիկական սկավառակի, իսկ հատուկ vdev-ը SSD սարքի հետ կապված է, փոփոխությունը թույլ է տալիս բացառել իրավիճակները, երբ տվյալները գրացվում են SSD-ում, իսկ տվյալների հետ կապված ZIL բլոկները՝ մեխանիկական սկավառակի վրա՝ որի արդյունքում առաջանում են հավելյալ ձգձգումներ:
  • special_small_blocks հատկության նշանակման թույլատրումը վերաբերում է ZVOL հատվածներին, այլ միայն ֆայլային համակարգերին, ինչը թույլ է տալիս հակառակորդավորապես տեղադրել մանր բլոկները առանձին հատուկ vdev-ում, օրինակ՝ SSD սարքում:
  • Ավելացվել է 'zfs rewrite -P' նոր ռեժիմը, որը հնարավորության դեպքում պահում է տրամադրված ժամանակը, ինչը թույլ է տալիս տարբերակել բլոկները, որոնք պարզապես տեղափոխվել են պուլից, իսկ իսկական օգտվողի կողմից իսկապես փոփոխված բլոկներից:
  • «zpool trim», «zpool scrub» և «zpool initialize» հրամանների համար իրականացվել է «-a» (—all) տարբերակը, որը թույլ է տալիս կատարելու այդ հրամանները միանգամից բոլոր ներմուծված պուլների համար:
  • Այնուամենայնիվ, «zpool scrub -S -E» հրաման է ավելացվել, որը կատարում է տվյալների ստուգման հսկողություն նրանց համար, որոնք ենթարկվում են մատնանշված ժամանակահատվածներին:
  • Կառուցվել են նոր օպտիմալացումներ դեդուպլիկացիայի գործընթացի համար:

Ընտանիք: opennet.ru

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster