Hoʻokuʻu ʻia o ZFS ma Linux 0.8.0, kahi hoʻokō o ZFS no ka kernel Linux

Ma hope o ʻelua makahiki o ka hoʻomohala ʻana hōʻike ʻia hoʻokuʻu ZFS ma Linux 0.8.0, kahi hoʻokō o ka ʻōnaehana faila ZFS, i hoʻolālā ʻia ma ke ʻano he module no ka Linux kernel. Ua hoʻāʻo ʻia ka module me nā kernels Linux mai 2.6.32 a i 5.1. E hiki koke mai ana nā pūʻolo hoʻokomo mākaukau e hoomakaukauia no nā māhele Linux nui me Debian, Ubuntu, Fedora, RHEL/CentOS. Ua hoʻokomo mua ʻia ka module ZFS ma Linux i ka hoʻohele Debian, Ubuntu, Gentoo, Sabayon Linux a me ALT Linux.

Ma ke ʻano he ZFS ma Linux, ua hoʻomākaukau ʻia ka hoʻokō ʻana i nā ʻāpana ZFS e pili ana i ka hana ʻelua o ka ʻōnaehana faila a me ka hana o ka mana volume. Ma keʻano kūikawā, ua hoʻokōʻia nā mea i lalo: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) a me ZPL (ZFS POSIX Layer). Hoʻohui, hāʻawi ka papahana i ka hiki ke hoʻohana iā ZFS ma ke ʻano he backend no ka ʻōnaehana file cluster Lustre. Hoʻokumu ʻia ka hana o ka papahana ma ke code ZFS kumu, i lawe ʻia mai ka papahana OpenSolaris a hoʻonui ʻia me ka hoʻomaikaʻi ʻana a me ka hoʻoponopono ʻana mai ke kaiāulu Illumos. Ke kūkulu ʻia nei ka papahana me ke komo ʻana o nā limahana o ka Livermore National Laboratory ma lalo o kahi ʻaelike me ka US Department of Energy.

Hoʻokaʻawale ʻia ke code ma lalo o kahi laikini CDDL manuahi, ʻaʻole i kūpono me GPLv2, ʻaʻole e ʻae iā ZFS ma Linux e hoʻohui ʻia i loko o ka lālā nui o ka kernel Linux, no ka mea, ʻaʻole ʻae ʻia ka hui ʻana i nā code ma lalo o nā laikini GPLv2 a me CDDL. No ka pale ʻana i kēia ʻae ʻole ʻana o ka laikini, ua hoʻoholo ʻia e puʻunaue i ka huahana holoʻokoʻa ma lalo o ka laikini CDDL ma ke ʻano he module hiki ke hoʻoiho ʻokoʻa, i hoʻolako ʻia mai ka kernel. Hoʻohālikelike ʻia ka paʻa o ka ZFS ma Linux codebase e like me nā ʻōnaehana faila ʻē aʻe no Linux.

Nā hoʻololi nui:

  • Hoʻohui i ke kākoʻo i kūkulu ʻia no ka hoʻopili ʻana i nā ʻikepili i mālama ʻia ma ka ʻōnaehana faila a me nā pae ʻāpana. ʻO ka algorithm encryption paʻamau ʻo aes-256-ccm. No ka hoʻouka ʻana i nā kī hoʻopunipuni, ʻōlelo ʻia ke kauoha "zfs load-key";
  • Ua hoʻokō ʻia ka hiki ke hoʻouna i ka ʻikepili i hoʻopili ʻia i ka wā e hoʻokō ai i nā kauoha "zfs send" a me "zfs receive". Ke kuhikuhi nei i ke koho "-w", ua hoʻoili ʻia ka ʻikepili i hoʻopili ʻia i loko o ka loko wai i kahi wai ʻē aʻe e like me ia, me ka ʻole o ka decryption waena. I ka wā o ia kope ʻana, mālama ʻia ka ʻikepili e ke kī o ka ʻaoʻao hoʻouna, kahi e hiki ai ke hoʻohana ʻia kēia ʻano no ka hoʻihoʻi ʻana i nā ʻōnaehana hilinaʻi ʻole (inā hoʻopaʻapaʻa ʻia ka mea loaʻa, me ke kī ʻaʻole hiki i ka mea hoʻouka ke komo i ka ʻikepili);
  • Kākoʻo hoʻohui ʻia no ka wehe ʻana i nā kaʻa mua mai kahi waihona waihona, pili ʻia i kēlā me kēia a i ʻole he ʻāpana o ke aniani. Lawe ʻia ka wehe ʻana me ke kauoha "zpool remove". I loko o ke kaʻina holoi ʻana, kope ʻia ka ʻikepili mai ka pahu i wehe ʻia i nā pahu kumu mua i koe i loko o ka wai;
  • Hoʻohui ʻia ke kauoha "zpool checkpoint" e hoʻopakele i ke kūlana o ka wai i kēia manawa me ka hiki ke hoʻohuli hou i nā loli hou i ka wahi i mālama ʻia i ka manawa (hana ʻia kahi kiʻi o ka loko holoʻokoʻa). Hiki ke hoʻohana ʻia ka hiʻohiʻona i hōʻike ʻia i ke kaʻina hana o ka hana hoʻokele paʻakikī paʻakikī e alakaʻi maʻamau i nā loli hiki ʻole ke hoʻololi ʻia (e laʻana, hoʻāla i nā hae no ka hana ZFS hou a i ʻole ka holoi ʻana i ka ʻikepili);
  • Hoʻohui ʻia ke kauoha "zpool trim" e hoʻomaopopo i nā drive i hoʻohana ʻia i loko o kahi loko wai e pili ana i nā ʻāpana i hoʻohana ʻole ʻia. ʻO ka hoʻohana ʻana i ka hana TRIM e hiki ai ke hoʻonui i ka pono o nā drive SSD a pale i ka hōʻino ʻana o kā lākou hana. I mea e hiki ai i ke kaʻina hana hope no ke kau ʻana i nā kauoha TRIM, ua noi ʻia kahi waiwai hou "autotrim";
  • Hoʻohui ʻia ke kauoha "zpool initialize" e hoʻomaka i nā wahi disk āpau ʻaʻole i hoʻokaʻawale ʻia, e hōʻoia ana ua mākaukau koke ia no ka hoʻohana ʻana me ka ʻole o ka hopena i ka hana ma ke komo mua (no ka laʻana, i ka wā e mālama ai i kahi waihona virtualized e like me VMware VMDK);
  • Hoʻohui ʻia ke kākoʻo no ka helu helu papahana a me nā puʻupuʻu, e hoʻokō ana i nā koina pae hoʻohana a me nā hui. ʻO ka mea nui, ʻo nā papahana he wahi kaʻawale o nā mea e pili ana me kahi ʻike ʻokoʻa (ID papahana). Hoʻoholo ʻia ka hoʻopaʻa ʻana ma o ka hana 'chattr -p' a i ʻole ma o ka hoʻoilina hoʻoilina. No ka hoʻokele ʻana i nā papahana, hāʻawi ʻia nā kauoha "zfs project" a me "zfs projectspace", e ʻae iā ʻoe e hoʻokele i ka hana ʻana o nā papahana a hoʻonohonoho i nā palena ākea disk no lākou;
  • Hoʻohui i ka hiki ke hana i nā palapala Lua e hoʻokaʻawale i nā hana like ʻole me ZFS. Hoʻokuʻu ʻia nā palapala ma nā wahi kaʻawale kūikawā me ka hoʻohana ʻana i ke kauoha "zpool program";
  • Hoʻokō ʻia ka hale waihona puke hou pyzfs, e hāʻawi ana i kahi API paʻa no ka lawelawe ʻana iā ZFS mai nā noi Python. ʻO ka waihona kahi mea hoʻopili ma luna o libzfs_core a hāʻawi i kahi hoʻonohonoho like o nā hana, akā hoʻohana i nā ʻano kokoke i Python;
  • ʻO nā pono arcstat, arcsummary a me dbufstat i kēia manawa ua kūpono me Python 3. Ua hoʻololi hou ʻia nā pono arcstat.py, arc_summary.py a me dbufstat.py i nā mana me ka ʻole o ka hoʻonui ".py";
  • Hoʻohui kākoʻo no ka Linux Direct IO (O_DIRECT) kernel interface, kahi e hiki ai iā ʻoe ke komo i ka ʻikepili me ka ʻole o ka pale ʻana a kāpae i ka cache;
  • Hōʻike ʻia nā loiloi hana:
    • Ua hoʻolōʻihi ʻia ka hana o nā kauoha "scrub" a me "resilver" ma ka hoʻokaʻawale ʻana i ʻelua mau ʻāpana (ua hoʻokaʻawale ʻia kahi ʻāpana ʻokoʻa no ka nānā ʻana i nā metadata a me ka hoʻoholo ʻana i kahi o nā poloka data ma ka disk, e hiki ai ke hōʻoia hou me ka hoʻohana ʻana i ka heluhelu ʻikepili sequential) ;
    • Kākoʻo hoʻohui ʻia no nā papa Allocation,
      ka ʻae ʻana i nā drive SSD liʻiliʻi e hoʻokomo ʻia i loko o kahi loko wai a hoʻohana ʻia e mālama i kekahi mau ʻano poloka i hoʻohana pinepine ʻia, e like me metadata, DDT data a me nā poloka liʻiliʻi me nā faila;

    • Hoʻonui i ka hana o nā kauoha no ka hoʻokele, e like me
      "papa inoa zfs" a "loaʻa nā zfs", ma muli o ka mālama ʻana i nā metadata e pono ai no kā lākou hana;

    • Kākoʻo hoʻohui ʻia no ka hoʻohālikelike ʻana i nā hana hoʻokaʻawale poloka ma ka hoʻomaka ʻana i nā kaʻina hana "allocator" kaʻawale no kēlā me kēia pūʻulu metaslab. Ma nā ʻōnaehana maʻamau, aia ka piʻi ʻana o ka hana o 5-10%, akā ma nā mea nui (8 GB SSD, 128 core NUMA, 24 GB RAM), hiki i ka piʻi ʻana o nā hana hoʻokaʻawale poloka ke hiki i 256%;
    • Hoʻohui i ka hiki ke hoʻopaneʻe i ka hoʻokō ʻana i ke kauoha "resilver" (kūkulu hou i ka hāʻawi ʻana i ka ʻikepili e noʻonoʻo ana i nā loli i ka hoʻonohonoho ʻana o nā drive) - inā i ka hoʻomaka ʻana i kahi hana hou ʻaʻole i pau ka mea ma mua, a laila e hoʻomaka ka mea hana hou e hoʻokō wale. ma hope o ka pau ʻana o ka mea mua;
    • Ua hana ʻia ka hoʻonui ʻia ʻana i ka log ZIL (ZFS Intent Log) e ʻae i ka hana ʻana a me ka hana ʻana o nā poloka i ka wā e mālama ʻia ana nā poloka e ka waihona;
    • Ua hoʻemi ʻia ka manawa no ka hoʻopaʻa inoa ʻana i nā ʻāpana (zvol) i ka ʻōnaehana. Ke loaʻa i kahi wai ka nui o nā ʻāpana, aia lākou i kēia manawa ma hope koke o ka hoʻokō ʻana i ka "zpool import";
    • Hoʻohui ʻia ke kākoʻo no ka wikiwiki ʻana o ka lako o nā helu SHA256 hash a me nā hana hoʻopunipuni AES-GSM me ka hoʻohana ʻana i nā chips e kākoʻo ana iā Intel QAT (Quick Assist Technology). Hoʻohui ʻia ke kākoʻo no nā mea hana wikiwiki no ka Intel C62x chipset a me Atom C3000 CPU.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka