ఒక సంవత్సరం కంటే ఎక్కువ అభివృద్ధి తర్వాత, Linux మరియు FreeBSD కోసం ZFS ఫైల్ సిస్టమ్ అమలును అభివృద్ధి చేస్తూ OpenZFS 2.3.0 ప్రాజెక్ట్ విడుదల ప్రచురించబడింది. ప్రాజెక్ట్ "ZFS ఆన్ Linux"గా ప్రసిద్ధి చెందింది మరియు గతంలో Linux కెర్నల్ కోసం మాడ్యూల్ను అభివృద్ధి చేయడానికి పరిమితం చేయబడింది, అయితే FreeBSD నుండి కోడ్తో విలీనం చేసిన తర్వాత ఇది OpenZFS యొక్క ప్రధాన అమలుగా గుర్తించబడింది మరియు పేరు మార్చబడింది.
OpenZFS 4.18 నుండి 6.12 వరకు Linux కెర్నల్లతో మరియు 13.3 నుండి ప్రారంభమయ్యే అన్ని FreeBSD శాఖలతో పరీక్షించబడింది. కోడ్ ఉచిత CDDL లైసెన్స్ క్రింద పంపిణీ చేయబడుతుంది. OpenZFS ఇప్పటికే FreeBSDలో ఉపయోగించబడింది మరియు Debian, Ubuntu, Gentoo, NixOS మరియు ALT Linux పంపిణీలలో చేర్చబడింది. Debian, Ubuntu, Fedora, RHEL/CentOS వంటి ప్రధాన Linux పంపిణీల కోసం కొత్త వెర్షన్తో కూడిన ప్యాకేజీలు త్వరలో సిద్ధం చేయబడతాయి.
OpenZFS ఫైల్ సిస్టమ్ మరియు వాల్యూమ్ మేనేజర్ రెండింటికి సంబంధించిన ZFS భాగాల అమలును అందిస్తుంది. అమలు చేయబడిన భాగాలు: SPA (స్టోరేజ్ పూల్ అలోకేటర్), DMU (డేటా మేనేజ్మెంట్ యూనిట్), ZVOL (ZFS ఎమ్యులేటెడ్ వాల్యూమ్) మరియు ZPL (ZFS POSIX లేయర్). ప్రాజెక్ట్ ZFSని లస్టర్ క్లస్టర్డ్ ఫైల్ సిస్టమ్కు బ్యాకెండ్గా ఉపయోగించడానికి కూడా అనుమతిస్తుంది. OpenZFS యొక్క పని అసలు ZFS కోడ్పై ఆధారపడి ఉంటుంది, ఇది OpenSolaris ప్రాజెక్ట్ నుండి దిగుమతి చేయబడింది మరియు Illumos సంఘం నుండి మెరుగుదలలు మరియు పరిష్కారాలతో విస్తరించబడింది. US డిపార్ట్మెంట్ ఆఫ్ ఎనర్జీతో ఒప్పందం ప్రకారం లివర్మోర్ నేషనల్ లాబొరేటరీ ఉద్యోగుల భాగస్వామ్యంతో ప్రాజెక్ట్ అభివృద్ధి చేయబడుతోంది.
కోడ్ ఉచిత CDDL లైసెన్స్ క్రింద పంపిణీ చేయబడుతుంది, ఇది GPLv2కి అనుకూలంగా లేదు, ఇది Linux కెర్నల్ యొక్క ప్రధాన శాఖలో OpenZFS యొక్క ఏకీకరణను అనుమతించదు, GPLv2 మరియు CDDL లైసెన్స్ల క్రింద కోడ్ కలపడం ఆమోదయోగ్యం కాదు. లైసెన్సింగ్ అననుకూలతను తప్పించుకోవడానికి, CDDL లైసెన్స్ క్రింద Linux కోసం మొత్తం ఉత్పత్తిని విడిగా లోడ్ చేయబడిన మాడ్యూల్గా పంపిణీ చేయాలని నిర్ణయించబడింది, ఇది కెర్నల్ నుండి విడిగా సరఫరా చేయబడుతుంది. OpenZFS కోడ్బేస్ యొక్క స్థిరత్వం Linux కోసం ఇతర FSతో పోల్చదగినదిగా అంచనా వేయబడుతుంది.
ప్రధాన మార్పులు:
- పనిని ఆపకుండా మరియు కొత్త డ్రైవ్ సమూహాన్ని సృష్టించాల్సిన అవసరం లేకుండా నిల్వ పరిమాణాన్ని పెంచడానికి ఇప్పటికే ఉన్న RAIDZ శ్రేణికి ఫ్లైలో కొత్త డిస్క్లను జోడించే సామర్థ్యం అమలు చేయబడింది. కొత్త డిస్కులను పరిగణనలోకి తీసుకుని అనవసరమైన డేటా పునఃపంపిణీ స్వయంచాలకంగా నిర్వహించబడుతుంది. ఇప్పటికే ఉన్న సమూహానికి డిస్క్ను జోడించడానికి, మీరు “zpool అటాచ్ POOL raidzP-N NEW_DEVICE” ఆదేశాన్ని ఉపయోగించవచ్చు మరియు నేపథ్య శ్రేణి విస్తరణ ప్రక్రియను పూర్తి చేయడాన్ని పర్యవేక్షించడానికి, మీరు “zpool స్థితి”ని ఉపయోగించవచ్చు.
- డేటా బ్లాక్ల తగ్గింపుకు సంబంధించిన కార్యకలాపాల అమలు గణనీయంగా వేగవంతం చేయబడింది. ఆప్టిమైజేషన్లు, ఇతర విషయాలతోపాటు, తగ్గింపు పట్టికల ఆకృతిని ప్రభావితం చేశాయి, కాబట్టి ఇప్పటికే ఉన్న పూల్లలో ప్రతిపాదిత ఆప్టిమైజేషన్లను ప్రారంభించడానికి, మీరు తప్పనిసరిగా “fast_dedup” ఎంపికను ప్రారంభించాలి, ఆ తర్వాత కొత్త తగ్గింపు పట్టికలు సృష్టించబడతాయి, ఇవి సమాంతరంగా ఉపయోగించబడతాయి. పాత పట్టికలు.
- డైరెక్ట్ IO మోడ్ జోడించబడింది, ఇది ARC కాష్ (అడాప్టివ్ రీప్లేస్మెంట్ కాష్)ని దాటవేస్తూ రీడ్ మరియు రైట్ ఆపరేషన్లను నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తుంది. NVMe పరికరాలను ఉపయోగించడం వంటి అదనపు మెమరీ కాపీ ఆపరేషన్ల కారణంగా కాషింగ్ పనితీరును ప్రతికూలంగా ప్రభావితం చేసే సందర్భాల్లో ఈ మోడ్ పనితీరును మెరుగుపరుస్తుంది.
- చాలా ఆదేశాలు (zfs జాబితా|గెట్|మౌంట్|వెర్షన్, zpool స్థితి|జాబితా|గెట్|వెర్షన్) JSON ఆకృతిలో అవుట్పుట్ కోసం “-j” ఎంపికను జోడించాయి.
- ఫైల్ మరియు డైరెక్టరీ పేర్ల యొక్క అనుమతించబడిన పరిమాణం 255 నుండి 1023 అక్షరాలకు పెంచబడింది (కొత్త పరిమాణం 255 4-బైట్ అక్షరాలకు అనుగుణంగా ఎంపిక చేయబడింది).
- కోడ్బేస్లోని వివిధ భాగాలలో పనితీరు ఆప్టిమైజేషన్లు చేయబడ్డాయి.
- కెర్నల్ మాడ్యూల్కు ఎంపికలు జోడించబడ్డాయి:
- dmu_ddt_copies
- raidz_expand_max_copy_bytes
- raidz_expand_max_reflow_bytes
- raidz_io_aggregate_rows
- spa_cpus_per_allocator
- spa_num_alocators
- zap_shrink_enabled
- zfetch_max_idistance
- zfs_active_allocator
- zfs_arc_shrinker_seeks
- zfs_dedup_log_flush_entries_min
- .zfs_dedup_log_flush_flow_rate_txgs
- zfs_dedup_log_flush_min_time_ms
- zfs_dedup_log_flush_passes_max
- zfs_dedup_log_mem_max
- zfs_dedup_log_mem_max_percent
- zfs_dedup_log_txg_max
- zfs_dio_enabled
- zfs_dio_write_verify_events_per_second
- zfs_resilver_defer_percent
- zfs_scrub_after_expand
- zfs_snapshot_no_setuid
- zfs_vdev_direct_write_verify
- zio_taskq_write_tpq
మూలం: opennet.ru
