एक्सएफएस: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Journaling file system}} {{distinguish|Xiafs}} {{other uses}} {{Infobox filesystem | name = XFS | full_name = XFS | develop...")
 
No edit summary
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Short description|Journaling file system}}
{{distinguish|Xiafs}}
{{other uses}}
{{Infobox filesystem
{{Infobox filesystem
| name                  = XFS
| name                  = एक्सएफएस
| full_name              = XFS
| full_name              = एक्सएफएस
| developer              = {{Unbulleted list | [[Silicon Graphics]] | [[Red Hat]]}}
| developer              = {{Unbulleted list | [[सिलिकॉन आलेखी]] | [[रेड हैट]]}}
| introduction_os        = [[IRIX]] 5.3
| introduction_os        = [[IRIX]] 5.3
| introduction_date      = {{Start date and age|1994}}
| introduction_date      = {{Start date and age|1994}}
| partition_id          = {{unbulleted list
| partition_id          = {{unbulleted list
| '''[[Master boot record|MBR]]''': 0x83: Linux filesystem
| '''[[Master boot record|एमबीआर]]''': 0x83: लिनक्स
| '''[[GUID Partition Table|GPT]]''': 0FC63DAF-8483-4772-8E79-3D69D8477DE4: Linux filesystem<ref>{{Cite web|url=https://wiki.archlinux.org/index.php/GPT_fdisk|title = GPT fdisk - ArchWiki}}</ref>
संचिका प्रणाली
| '''[[GUID Partition Table|जीपीटी]]''': 0एफसी63डीएएफ-8483-4772-8इ79-3डी69डी8477डीइ4: लिनक्स संचिका प्रणाली <ref>{{Cite web|url=https://wiki.archlinux.org/index.php/GPT_fdisk|title = GPT fdisk - ArchWiki}}</ref>
}}
}}
| directory_struct      = [[B+ tree]]s
| directory_struct      = [[बी+ ट्री]]
| file_struct            = B+ trees
| file_struct            = बी+ ट्री
| bad_blocks_struct      =  
| bad_blocks_struct      =  
| max_filename_size      = 255&nbsp;[[byte]]s
| max_filename_size      = 255&nbsp;[[बाइट]]
| max_volume_size        = 8&nbsp;[[exbibyte]]s&nbsp;− 1 byte
| max_volume_size        = 8&nbsp;[[एक्सबी बाइट]]&nbsp;− 1 बाइट
| max_file_size          = 8&nbsp;[[exbibyte]]s&nbsp;− 1 byte
| max_file_size          = 8&nbsp;[[[एक्सबीबाइट]]&nbsp;− 1 बाइट
| max_files_no          = 2<sup>64</sup><ref>{{cite web
| max_files_no          = 2<sup>64</sup><ref>{{cite web
  | url  = https://www.quora.com/What-is-the-maximum-number-of-inodes-in-Linux-filesystems-I-found-suggestion-that-for-Ext4-it-is-4-billion-files-32-bit-number-Is-it-true-for-XFS-and-or-BtrFS
  | url  = https://www.quora.com/What-is-the-maximum-number-of-inodes-in-Linux-filesystems-I-found-suggestion-that-for-Ext4-it-is-4-billion-files-32-bit-number-Is-it-true-for-XFS-and-or-BtrFS
  | title = What is the maximum number of inodes in Linux filesystems?
  | title = What is the maximum number of inodes in Linux filesystems?
  | date  = 2014-06-17}}</ref>
  | date  = 2014-06-17}}</ref>
| filename_character_set = All except NULL and "/"
| filename_character_set = एनयूएलएल और "/" को छोड़कर सभी
| dates_recorded        = atime, mtime, ctime,<ref name="xfsfs">{{cite web
| dates_recorded        = एसमय, एमसमय, सीसमय,<ref name="xfsfs">{{cite web
  | title        = XFS Filesystem Structure 2nd Edition, Revision 1
  | title        = XFS Filesystem Structure 2nd Edition, Revision 1
  | url          = http://oss.sgi.com/projects/xfs/papers/xfs_filesystem_structure.pdf#page=25
  | url          = http://oss.sgi.com/projects/xfs/papers/xfs_filesystem_structure.pdf#page=25
Line 30: Line 27:
  | format      = PDF
  | format      = PDF
  | archive-url  = https://web.archive.org/web/20171031110501/http://oss.sgi.com/projects/xfs/papers/xfs_filesystem_structure.pdf#page=25
  | archive-url  = https://web.archive.org/web/20171031110501/http://oss.sgi.com/projects/xfs/papers/xfs_filesystem_structure.pdf#page=25
  | archive-date = 2017-10-31}}</ref> version 5: crtime<ref>{{cite web
  | archive-date = 2017-10-31}}</ref> संस्करण 5: सीआरसमय<ref>{{cite web
  | url    = https://git.kernel.org/pub/scm/fs/xfs/xfs-documentation.git/tree/design/XFS_Filesystem_Structure/ondisk_inode.asciidoc
  | url    = https://git.kernel.org/pub/scm/fs/xfs/xfs-documentation.git/tree/design/XFS_Filesystem_Structure/ondisk_inode.asciidoc
  | title  = ondisk_inode.asciidoc\XFS_Filesystem_Structure\design - xfs/xfs-documentation.git - XFS AsciiDoc Documentation tree
  | title  = ondisk_inode.asciidoc\XFS_Filesystem_Structure\design - xfs/xfs-documentation.git - XFS AsciiDoc Documentation tree
  | website = git.kernel.org}}</ref>
  | website = git.kernel.org}}</ref>
|date_range              = December 13, 1901 – July 2, 2486<ref name="bigtime">{{cite web
|date_range              = दिसम्बर 13, 1901 – जुलाई 2, 2486<ref name="bigtime">{{cite web
  | url    = https://lwn.net/Articles/829314/
  | url    = https://lwn.net/Articles/829314/
  | title  = xfs: widen timestamps to deal with y2038
  | title  = xfs: widen timestamps to deal with y2038
  | author = Darrick J. Wong
  | author = Darrick J. Wong
  | date  = 2020-08-10}}</ref>
  | date  = 2020-08-10}}</ref>
| date_resolution        = 1&nbsp;ns
| date_resolution        = 1&nbsp;एनएस
| forks_streams          =  
| forks_streams          =  
| attributes              = Yes
| attributes              = हाँ
| file_system_permissions = Yes
| file_system_permissions = हाँ
| compression            = No
| compression            = नहीं
| single_instance_storage = Experimental, Linux only<ref>{{cite web
| single_instance_storage = प्रायोगिक, केवल लिनक्स<ref>{{cite web
  | url        = https://github.com/markfasheh/duperemove
  | url        = https://github.com/markfasheh/duperemove
  | title        = Duperemove
  | title        = Duperemove
Line 53: Line 50:
  | url-status        = live
  | url-status        = live
  }}</ref>
  }}</ref>
| encryption              = No (provided at the block device level)
| encryption              = नहीं (खंड उपकरण स्तर पर प्रदान किया गया)
| OS                      = {{Unbulleted list|[[IRIX]]|[[Linux]]}}
| OS                      = {{Unbulleted list|[[आईआरआईएक्स]]|[[लिनक्स]]}}
| variants                =  
| variants                =  
}}
}}


XFS एक उच्च-प्रदर्शन [[64-बिट कंप्यूटिंग]] | 64-बिट [[जर्नलिंग फाइल सिस्टम]] है जिसे 1993 में सिलिकॉन ग्राफिक्स, इंक। सिलिकॉन ग्राफिक्स, इंक (एसजीआई) द्वारा बनाया गया था।<ref>{{cite web |url=http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch01s02.html |title=xFS: The Extension of EFS - "x" for To-be-Determined (but the Name Stuck) |archive-url=https://web.archive.org/web/20140714224038/http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch01s02.html |archive-date=2014-07-14 |website=XFS.org}}</ref> यह एसजीआई के आईआरआईएक्स ऑपरेटिंग सिस्टम में इसके संस्करण 5.3 से शुरू होने वाली डिफ़ॉल्ट फाइल सिस्टम थी। XFS को 2001 में Linux कर्नेल में पोर्ट किया गया था; जून 2014 तक, XFS अधिकांश [[लिनक्स वितरण]]ों द्वारा समर्थित है; [[Red Hat Enterprise Linux]] इसे अपने तयशुदा फ़ाइल तंत्र के रूप में प्रयोग करता है.
'''एक्सएफएस''' 1993 में सिलिकॉन आलेखी, (एसजीआई) द्वारा बनाया गया एक उच्च-प्रदर्शन 64-बिट [[जर्नलिंग फाइल सिस्टम|जर्नलिंग संचिका प्रणाली]] है।<ref>{{cite web |url=http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch01s02.html |title=xFS: The Extension of EFS - "x" for To-be-Determined (but the Name Stuck) |archive-url=https://web.archive.org/web/20140714224038/http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch01s02.html |archive-date=2014-07-14 |website=XFS.org}}</ref> यह एसजीआई के आईआरआईएक्स संचालन प्रणाली में इसके संस्करण 5.3 से प्रारंभ होने वाली स्वतः निर्धारित संचिका प्रणाली थी। एक्सएफएस को 2001 में लिनक्स कर्नेल में पोर्ट किया गया था; जून 2014 तक, एक्सएफएस अधिकांश [[लिनक्स वितरण|लिनक्स वितरणों]] द्वारा समर्थित है; [[Red Hat Enterprise Linux|रेड हैट उद्यम लिनक्स]] इसे अपने स्वतः निर्धारित संचिका प्रणाली के रूप में प्रयोग करता है।


एक्सएफएस अपने डिजाइन के कारण समानांतर इनपुट/आउटपुट (आई/) संचालन के निष्पादन में उत्कृष्टता प्राप्त करता है, जो [[आवंटन समूह]]ों पर आधारित है (भौतिक वॉल्यूम का एक प्रकार का उपखंड जिसमें एक्सएफएस का उपयोग किया जाता है- एजी को भी छोटा किया जाता है)। इस वजह से, XFS कई भौतिक भंडारण उपकरणों को फैलाते समय I/O थ्रेड्स, फ़ाइल सिस्टम बैंडविड्थ, और फ़ाइलों के आकार और स्वयं फ़ाइल सिस्टम की अत्यधिक मापनीयता को सक्षम करता है। XFS [[ मेटा डेटा ]] जर्नलिंग फाइल सिस्टम को नियोजित करके और लेखन बाधाओं का समर्थन करके डेटा की निरंतरता सुनिश्चित करता है। अंतरिक्ष आवंटन [[बी + पेड़]]ों में संग्रहीत डेटा संरचनाओं के साथ [[ हद (फाइल सिस्टम) ]] के माध्यम से किया जाता है, फ़ाइल सिस्टम के समग्र प्रदर्शन में सुधार करता है, खासकर जब बड़ी फ़ाइलों को संभालता है। [[विलंबित आवंटन]] फाइल सिस्टम विखंडन की रोकथाम में सहायता करता है; ऑनलाइन [[defragmentation]] भी समर्थित है। XFS की अनूठी विशेषता एक पूर्व-निर्धारित दर पर I/O बैंडविड्थ का पूर्व-आवंटन है; यह कई रीयल-टाइम अनुप्रयोगों के लिए उपयुक्त है। हालाँकि, यह सुविधा केवल [[IRIX]] पर और केवल विशेष हार्डवेयर के साथ ही समर्थित थी।
एक्सएफएस अपने प्रारुप के कारण समानांतर इनपुट/आउटपुट (I/O) संचालन के निष्पादन में उत्कृष्टता प्राप्त करता है, जो [[आवंटन समूह|आवंटन समूहों]] पर आधारित है (भौतिक खंड  का एक प्रकार का उपखंड जिसमें एक्सएफएस का उपयोग किया जाता है- जिसे एजी के लिए भी छोटा किया जाता है)। इस कारण से, एक्सएफएस कई भौतिक भंडारण उपकरणों को विस्तरित करते समय आई/ओ तंतु, संचिका प्रणाली बैंड विस्तार और संचिकाओं के आकार और स्वयं संचिका प्रणाली की अत्यधिक मापनीयता को सक्षम करता है। एक्सएफएस [[ मेटा डेटा |मेटाडेटा]] जर्नलिंग और लेखन बाधाओं का समर्थन करके डेटा की निरंतरता सुनिश्चित करता है। स्थान आवंटन [[बी + पेड़|बी + ट्री]] में संग्रहीत डेटा संरचनाओं के माध्यम से किया जाता है, संचिका प्रणाली के समग्र प्रदर्शन में सुधार करता है, विशेष रूप से बड़ी संचिकाओं को नियंत्रित करता है। [[विलंबित आवंटन]] संचिका प्रणाली विखंडन की रोकथाम में सहायता करता है; ऑनलाइन [[defragmentation|एकीकरण]] भी समर्थित है। एक्सएफएस की अद्वितीय विशेषता एक पूर्व-निर्धारित दर पर आई/ओ बैंड विस्तार का पूर्व-आवंटन है; यह कई वास्तविक समय अनुप्रयोगों के लिए उपयुक्त है। हालाँकि, यह सुविधा केवल [[IRIX|आईआरआईएक्स]] पर और केवल विशेष हार्डवेयर के साथ ही समर्थित थी।


== इतिहास ==
== इतिहास ==
[[सिलिकॉन ग्राफिक्स]] ने एक्सएफएस का विकास शुरू किया<ref>{{cite book
[[सिलिकॉन ग्राफिक्स|सिलिकॉन आलेखी]] ने 1993 में एक्सएफएस<ref>{{cite book
  |last1            = Smith
  |last1            = Smith
  |first1          = Roderick W.
  |first1          = Roderick W.
Line 78: Line 75:
  |archive-date    = 2016-08-21
  |archive-date    = 2016-08-21
  |url-status      = live
  |url-status      = live
}}</ref> (X को बाद में भरना था लेकिन कभी नहीं) 1993 में।
}}</ref> (X को बाद में भरा जाना था परन्तु कभी नहीं भरा जाना था) का विकास प्रारंभ किया।


फाइल सिस्टम मई 1999 में [[जीएनयू जनरल पब्लिक लाइसेंस]] (जीपीएल) के तहत जारी किया गया था।<ref>{{cite web | url= https://slashdot.org/story/99/05/20/0243235/sgi-open-sourcing-xfs | title= SGI ओपन-सोर्सिंग XFS| website= [[slashdot.org]] | date= 1999-05-19 | access-date= 2023-04-12 | url-status= live }}</ref> SGI में स्टीव लॉर्ड के नेतृत्व में एक टीम ने इसे Linux में पोर्ट किया,<ref>{{cite web | url= http://olstrans.sourceforge.net/release/OLS2000-xfs/OLS2000-xfs.html | title= XFS को Linux में पोर्ट करना| website= Olstrans.SourceForge.net | date= 2000-07-21 | access-date= 2013-04-29 | archive-url= https://web.archive.org/web/20130225112334/http://olstrans.sourceforge.net/release/OLS2000-xfs/OLS2000-xfs.html | archive-date= 2013-02-25 | url-status= live }}</ref> और लिनक्स वितरण द्वारा पहला समर्थन 2001 में आया। यह समर्थन धीरे-धीरे लगभग सभी लिनक्स वितरणों में उपलब्ध हो गया।{{citation needed|date=March 2016}}
संचिका प्रणाली मई 1999 में [[जीएनयू जनरल पब्लिक लाइसेंस|जीएनयू सामान्य जनता अनुज्ञापत्र]] (GPL) के अंतर्गत जारी किया गया था।<ref>{{cite web | url= https://slashdot.org/story/99/05/20/0243235/sgi-open-sourcing-xfs | title= SGI ओपन-सोर्सिंग XFS| website= [[slashdot.org]] | date= 1999-05-19 | access-date= 2023-04-12 | url-status= live }}</ref> एसजीआई में स्टीव लॉर्ड के नेतृत्व में एक समूह ने इसे लिनक्स में पोर्ट किया<ref>{{cite web | url= http://olstrans.sourceforge.net/release/OLS2000-xfs/OLS2000-xfs.html | title= XFS को Linux में पोर्ट करना| website= Olstrans.SourceForge.net | date= 2000-07-21 | access-date= 2013-04-29 | archive-url= https://web.archive.org/web/20130225112334/http://olstrans.sourceforge.net/release/OLS2000-xfs/OLS2000-xfs.html | archive-date= 2013-02-25 | url-status= live }}</ref> और लिनक्स वितरण द्वारा पहला समर्थन 2001 में आया। यह समर्थन धीरे-धीरे लगभग सभी लिनक्स वितरणों में उपलब्ध हो गया।{{citation needed|date=मार्च 2016}}


Linux कर्नेल में XFS के लिए प्रारंभिक समर्थन SGI से [[पैच (कंप्यूटिंग)]] के माध्यम से आया। यह 2.6 श्रृंखला के लिए [[लिनक्स कर्नेल मेनलाइन]] में विलय हो गया, और फरवरी 2004 में अलग से 2.4 श्रृंखला संस्करण 2.4.25 में विलय कर दिया गया,<ref>{{cite web | url= https://www.kernel.org/pub/linux/kernel/v2.4/ChangeLog-2.4.25 | title= Linux kernel 2.4.25 changelog | website= [[kernel.org]] | date= 2004-02-18 | access-date= 2014-08-14 | archive-url= https://web.archive.org/web/20140819083123/https://www.kernel.org/pub/linux/kernel/v2.4/ChangeLog-2.4.25 | archive-date= 2014-08-19 | url-status= live }}</ref> लिनक्स सिस्टम पर XFS को लगभग सार्वभौमिक रूप से उपलब्ध कराना।<ref>{{cite web |title= Common threads: Advanced filesystem implementor's guide, Part 9, Introducing XFS |author= Daniel Robbins |work= Developer Works |publisher= IBM |date= January 1, 2002 |url= http://www.ibm.com/developerworks/library/l-fs9/index.html | access-date=November 6, 2011 | url-status= dead | archive-url= https://web.archive.org/web/20150904032700/http://www.ibm.com/developerworks/library/l-fs9/index.html| archive-date= September 4, 2015 }}</ref> [[Gentoo Linux]] 2002 के मध्य में डिफ़ॉल्ट फाइल सिस्टम के रूप में XFS के लिए एक विकल्प पेश करने वाला पहला लिनक्स वितरण बन गया।<ref>{{cite web | title = Common threads: Advanced filesystem implementor's guide, Part 10, Deploying XFS | author = Daniel Robbins | work = Developer Works | publisher = IBM | date = April 1, 2002 | url = http://www.ibm.com/developerworks/linux/library/l-fs10/index.html | access-date = November 6, 2011 | archive-url = https://web.archive.org/web/20111224220036/http://www.ibm.com/developerworks/linux/library/l-fs10/index.html | archive-date = December 24, 2011 | url-status = live }}</ref>
लिनक्स कर्नेल में एक्सएफएस के लिए प्रारंभिक समर्थन एसजीआई से [[पैच (कंप्यूटिंग)|पैच]] के माध्यम से आया। यह 2.6 श्रृंखला के लिए [[लिनक्स कर्नेल मेनलाइन|लिनक्स कर्नेल प्रमुख मार्ग]] में विलय हो गया और अलग से फरवरी 2004 में संस्करण 2.4.25 में 2.4 श्रृंखला में विलय कर दिया गया,<ref>{{cite web | url= https://www.kernel.org/pub/linux/kernel/v2.4/ChangeLog-2.4.25 | title= Linux kernel 2.4.25 changelog | website= [[kernel.org]] | date= 2004-02-18 | access-date= 2014-08-14 | archive-url= https://web.archive.org/web/20140819083123/https://www.kernel.org/pub/linux/kernel/v2.4/ChangeLog-2.4.25 | archive-date= 2014-08-19 | url-status= live }}</ref> जिससे एक्सएफएस लिनक्स प्रणाली पर लगभग सार्वभौमिक रूप से उपलब्ध हो गया।<ref>{{cite web |title= Common threads: Advanced filesystem implementor's guide, Part 9, Introducing XFS |author= Daniel Robbins |work= Developer Works |publisher= IBM |date= January 1, 2002 |url= http://www.ibm.com/developerworks/library/l-fs9/index.html | access-date=November 6, 2011 | url-status= dead | archive-url= https://web.archive.org/web/20150904032700/http://www.ibm.com/developerworks/library/l-fs9/index.html| archive-date= September 4, 2015 }}</ref> [[Gentoo Linux|जेंटू लिनक्स]] 2002 के मध्य में स्वतः निर्धारित संचिका प्रणाली के रूप में एक्सएफएस के लिए एक विकल्प प्रस्तुत करने वाला पहला लिनक्स वितरण बन गया।<ref>{{cite web | title = Common threads: Advanced filesystem implementor's guide, Part 10, Deploying XFS | author = Daniel Robbins | work = Developer Works | publisher = IBM | date = April 1, 2002 | url = http://www.ibm.com/developerworks/linux/library/l-fs10/index.html | access-date = November 6, 2011 | archive-url = https://web.archive.org/web/20111224220036/http://www.ibm.com/developerworks/linux/library/l-fs10/index.html | archive-date = December 24, 2011 | url-status = live }}</ref>
[[FreeBSD]] ने दिसंबर 2005 में XFS के लिए [[फ़ाइल सिस्टम अनुमतियाँ]] | केवल-पढ़ने के लिए समर्थन जोड़ा और जून 2006 में प्रायोगिक लेखन समर्थन पेश किया। हालांकि, यह केवल लिनक्स से माइग्रेशन में सहायता के रूप में अभिप्रेत था, मुख्य फाइल सिस्टम के रूप में नहीं। FreeBSD 10 ने XFS के लिए समर्थन हटा दिया।<ref name="freebsdremoved">{{cite web | url = http://lists.freebsd.org/pipermail/freebsd-questions/2013-October/254143.html | title = Has FreeBSD 10 Dropped Support For XFS? | website = Lists.freebsd.org | date = 2013-10-27 | access-date = 2014-03-30 | archive-url = https://web.archive.org/web/20140330082123/http://lists.freebsd.org/pipermail/freebsd-questions/2013-October/254143.html | archive-date = 2014-03-30 | url-status = live }}</ref>
 
2009 में, 64-बिट Red Hat Enterprise Linux (RHEL) Linux वितरण के संस्करण 5.4 में XFS फाइल सिस्टम के निर्माण और उपयोग के लिए आवश्यक कर्नेल समर्थन शामिल था, लेकिन संबंधित कमांड लाइन उपकरण की कमी थी। [[CentOS]] से उपलब्ध उपकरण उस उद्देश्य के लिए काम कर सकते थे, और Red Hat ने उन्हें अनुरोध पर RHEL ग्राहकों को भी प्रदान किया।<ref>{{cite web | title = Bug 521173 -xfsprogs is missing in RHEL-5.4 | date = May 24, 2010 | website = RedHat.com | url = http://bugzilla.redhat.com/show_bug.cgi?id=521173 | access-date = November 6, 2011 | archive-url = https://archive.today/20120710060100/http://bugzilla.redhat.com/show_bug.cgi?id=521173 | archive-date = July 10, 2012 | url-status = live }}</ref> RHEL 6.0, 2010 में जारी किया गया, जिसमें Red Hat के स्केलेबल फ़ाइल सिस्टम ऐड-ऑन के हिस्से के रूप में शुल्क के लिए XFS समर्थन शामिल है।<ref>{{cite web | title = Red Hat Enterprise Linux स्केलेबल फ़ाइल सिस्टम ऐड-ऑन| url = http://ca.redhat.com/products/enterprise-linux-add-ons/file-systems/ | access-date = 2014-05-22 | website = RedHat.com | archive-url = https://web.archive.org/web/20140529025913/http://ca.redhat.com/products/enterprise-linux-add-ons/file-systems/ | archive-date = 2014-05-29 | url-status = live }}</ref> 2011 में जारी [[Oracle Linux]] 6 में XFS का उपयोग करने का एक विकल्प भी शामिल है।<ref>{{cite web
[[FreeBSD|फ्रीबीएसडी]] ने दिसंबर 2005 में एक्सएफएस के लिए केवल-पढ़ने के लिए समर्थन जोड़ा और जून 2006 में प्रायोगिक लेखन समर्थन प्रस्तुत किया। हालांकि, यह केवल लिनक्स से अभिगमन में सहायता के रूप में अभिप्रेत था, मुख्य संचिका प्रणाली के रूप में नहीं। [[FreeBSD|फ्रीबीएसडी]] 10 ने एक्सएफएस के लिए समर्थन हटा दिया।<ref name="freebsdremoved">{{cite web | url = http://lists.freebsd.org/pipermail/freebsd-questions/2013-October/254143.html | title = Has FreeBSD 10 Dropped Support For XFS? | website = Lists.freebsd.org | date = 2013-10-27 | access-date = 2014-03-30 | archive-url = https://web.archive.org/web/20140330082123/http://lists.freebsd.org/pipermail/freebsd-questions/2013-October/254143.html | archive-date = 2014-03-30 | url-status = live }}</ref>
 
2009 में, 64-बिट रेड हैट उद्यम लिनक्स (RHEL) लिनक्स वितरण के संस्करण 5.4 में एक्सएफएस संचिका प्रणाली के निर्माण और उपयोग के लिए आवश्यक कर्नेल समर्थन सम्मिलित था, परन्तु संबंधित समादेश क्रम उपकरण की कमी थी। [[CentOS|सेंटओएस]] से उपलब्ध उपकरण उस उद्देश्य के लिए कार्य कर सकते थे और रेड हैट ने उन्हें अनुरोध पर आरएचईएल ग्राहकों को भी प्रदान किया।<ref>{{cite web | title = Bug 521173 -xfsprogs is missing in RHEL-5.4 | date = May 24, 2010 | website = RedHat.com | url = http://bugzilla.redhat.com/show_bug.cgi?id=521173 | access-date = November 6, 2011 | archive-url = https://archive.today/20120710060100/http://bugzilla.redhat.com/show_bug.cgi?id=521173 | archive-date = July 10, 2012 | url-status = live }}</ref> 2010 में जारी आरएचईएल 6.0 में रेड हैट के मापनीय संचिका प्रणाली पूरक के भाग के रूप में शुल्क के लिए एक्सएफएस समर्थन सम्मिलित है।<ref>{{cite web | title = Red Hat Enterprise Linux स्केलेबल फ़ाइल सिस्टम ऐड-ऑन| url = http://ca.redhat.com/products/enterprise-linux-add-ons/file-systems/ | access-date = 2014-05-22 | website = RedHat.com | archive-url = https://web.archive.org/web/20140529025913/http://ca.redhat.com/products/enterprise-linux-add-ons/file-systems/ | archive-date = 2014-05-29 | url-status = live }}</ref> 2011 में जारी [[Oracle Linux|दिव्यवक्ता लिनक्स]] 6 में एक्सएफएस का उपयोग करने का एक विकल्प भी सम्मिलित है।<ref>{{cite web
  |url          = https://oss.oracle.com/el6/docs/RELEASE-NOTES-GA-en.html
  |url          = https://oss.oracle.com/el6/docs/RELEASE-NOTES-GA-en.html
  |title        = Oracle Linux 6 Release Notes
  |title        = Oracle Linux 6 Release Notes
Line 95: Line 94:
  |url-status  = live
  |url-status  = live
}}</ref>
}}</ref>
RHEL 7.0, जून 2014 में जारी किया गया, XFS को अपने डिफ़ॉल्ट फ़ाइल सिस्टम के रूप में उपयोग करता है,<ref>{{cite web
 
आरएचईएल 7.0, जून 2014 में जारी किया गया, एक्सएफएस को अपने स्वतः निर्धारित संचिका प्रणाली के रूप में उपयोग करता है,<ref>{{cite web
  |url          = http://www.redhat.com/about/news/press-archive/2014/6/red-hat-unveils-rhel-7
  |url          = http://www.redhat.com/about/news/press-archive/2014/6/red-hat-unveils-rhel-7
  |title        = Red Hat Unveils Red Hat Enterprise Linux 7, Redefining the Enterprise Operating System
  |title        = Red Hat Unveils Red Hat Enterprise Linux 7, Redefining the Enterprise Operating System
Line 104: Line 104:
  |archive-date = 2014-06-13
  |archive-date = 2014-06-13
  |url-status  = live
  |url-status  = live
}}</ref> के लिए XFS का उपयोग करने के लिए समर्थन सहित <code>/boot</code> विभाजन, जो पहले [[GRUB]] बूटलोडर में बग के कारण व्यावहारिक नहीं था।<ref>{{cite web | title = Bug 250843 -grub-install hangs on xfs | date = May 4, 2009 | website = Redhat.com | url = http://bugzilla.redhat.com/show_bug.cgi?id=250843 | access-date = November 6, 2011 | archive-url = https://archive.today/20120710160608/http://bugzilla.redhat.com/show_bug.cgi?id=250843 | archive-date = July 10, 2012 | url-status = live }}</ref>
}}</ref> जिसमें <code>/बूट</code> विभाजन के लिए एक्सएफएस का उपयोग करने के लिए समर्थन सम्मिलित है, जो पहले [[GRUB|जीआरयूबी]] बूटलोडर में दोष के कारण व्यावहारिक नहीं था।<ref>{{cite web | title = Bug 250843 -grub-install hangs on xfs | date = May 4, 2009 | website = Redhat.com | url = http://bugzilla.redhat.com/show_bug.cgi?id=250843 | access-date = November 6, 2011 | archive-url = https://archive.today/20120710160608/http://bugzilla.redhat.com/show_bug.cgi?id=250843 | archive-date = July 10, 2012 | url-status = live }}</ref>
लिनक्स कर्नेल 4.8 अगस्त 2016 में एक नई सुविधा, रिवर्स मैपिंग जोड़ा गया। यह नियोजित सुविधाओं के एक बड़े सेट की नींव है: [[ स्नैपशॉट (कंप्यूटर भंडारण) ]], [[लिखने पर नकल]] (COW) डेटा, [[डेटा डुप्लिकेशन]], रीलिंक कॉपी, ऑनलाइन डेटा और मेटाडेटा [[डेटा स्क्रबिंग]], डेटा हानि या खराब क्षेत्रों की अत्यधिक सटीक रिपोर्टिंग , और क्षतिग्रस्त या दूषित फाइल सिस्टम के पुनर्निर्माण में काफी सुधार हुआ है। इस कार्य के लिए XFS के ऑन-डिस्क स्वरूप में परिवर्तन की आवश्यकता है।<ref>{{cite web|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=0cbbc422d56668528f6efd1234fe908010284082|title=kernel/git/torvalds/linux.git - Linux kernel source tree|website=git.kernel.org}}</ref><ref>{{Cite web |url=https://kernelnewbies.org/Linux_4.8#XFS_reverse_mapping |title=Linux_4.8 - Linux Kernel Newbies |access-date=2018-10-19 |archive-url=https://web.archive.org/web/20181019164144/https://kernelnewbies.org/Linux_4.8#XFS_reverse_mapping |archive-date=2018-10-19 |url-status=live }}</ref>
 
लिनक्स कर्नेल 5.10, दिसंबर 2020 में जारी किया गया था, जिसमें पारंपरिक 32-बिट सेकंड काउंटर के बजाय 64-बिट नैनोसेकंड काउंटर के रूप में इनोड टाइमस्टैम्प को स्टोर करने के लिए बिगटाइम पेश किया गया था। यह पिछले [[वर्ष 2038 की समस्या]] को वर्ष 2486 तक के लिए स्थगित कर देता है।<ref name="bigtime"/>
लिनक्स कर्नेल 4.8 अगस्त 2016 में एक नई सुविधा, प्रतिलोम प्रतिचित्रण जोड़ा गया। यह नियोजित सुविधाओं के एक बड़े समुच्चय की नींव है: [[ स्नैपशॉट (कंप्यूटर भंडारण) |आशुचित्र]] [[लिखने पर नकल|प्रतिलिपि पर लेखन]] (COW) डेटा, [[डेटा डुप्लिकेशन|डेटा प्रेषण]], रीलिंक प्रतियां, ऑनलाइन डेटा और मेटाडेटा [[डेटा स्क्रबिंग|डेटा मार्जन]], डेटा हानि या अनुपयोगी खंडों की अत्यधिक सटीक प्रतिवेदन और क्षतिग्रस्त या दूषित संचिका प्रणाली के पुनर्निर्माण में काफी सुधार हुआ है। इस कार्य के लिए एक्सएफएस के डिस्क स्वरूप में परिवर्तन की आवश्यकता है।<ref>{{cite web|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=0cbbc422d56668528f6efd1234fe908010284082|title=kernel/git/torvalds/linux.git - Linux kernel source tree|website=git.kernel.org}}</ref><ref>{{Cite web |url=https://kernelnewbies.org/Linux_4.8#XFS_reverse_mapping |title=Linux_4.8 - Linux Kernel Newbies |access-date=2018-10-19 |archive-url=https://web.archive.org/web/20181019164144/https://kernelnewbies.org/Linux_4.8#XFS_reverse_mapping |archive-date=2018-10-19 |url-status=live }}</ref>
 
लिनक्स कर्नेल 5.10, दिसंबर 2020 में जारी किया गया था, जिसमें पारंपरिक 32-बिट सेकंड गणक के बजाय 64-बिट नैनोसेकंड गणक के रूप में इनोड टाइमस्टैम्प को संग्रहीत करने के लिए बिगटाइम प्रस्तुत किया गया था। यह पिछले [[वर्ष 2038 की समस्या]] को वर्ष 2486 तक के लिए स्थगित कर देता है।<ref name="bigtime" />
 




Line 112: Line 115:


=== क्षमता ===
=== क्षमता ===
XFS एक 64-बिट फाइल सिस्टम है<ref>{{cite web |url=http://oss.sgi.com/projects/xfs/index.html |title=एक्सएफएस अवलोकन|publisher=Silicon Graphics International Corp |date=2013-07-02 |access-date=2013-07-02 |url-status=dead |archive-url=https://web.archive.org/web/20130606024601/http://oss.sgi.com/projects/xfs/index.html |archive-date=2013-06-06 }}</ref> और 8 [[exbibit]] माइनस एक बाइट के अधिकतम फ़ाइल सिस्टम आकार का समर्थन करता है (2<sup>63</sup> − 1 बाइट्स), लेकिन होस्ट ऑपरेटिंग सिस्टम द्वारा लगाई गई सीमाएं इस सीमा को कम कर सकती हैं। [[32-बिट]] लिनक्स सिस्टम फाइल और फाइल सिस्टम दोनों के आकार को 16 [[ tebibite ]]्स तक सीमित करता है।
एक्सएफएस एक 64-बिट संचिका प्रणाली है<ref>{{cite web |url=http://oss.sgi.com/projects/xfs/index.html |title=एक्सएफएस अवलोकन|publisher=Silicon Graphics International Corp |date=2013-07-02 |access-date=2013-07-02 |url-status=dead |archive-url=https://web.archive.org/web/20130606024601/http://oss.sgi.com/projects/xfs/index.html |archive-date=2013-06-06 }}</ref> और 8 एक्सबिबाइट न्यूनतम एक बाइट (2<sup>63</sup> − 1 बाइट) के अधिकतम संचिका प्रणाली आकार का समर्थन करता है, परन्तु होस्ट संचालन प्रणाली द्वारा लगाई गई सीमाएं इस सीमा को कम कर सकती हैं। [[32-बिट]] लिनक्स प्रणाली संचिका और संचिका प्रणाली दोनों के आकार को 16 [[ tebibite |टेबीबाइट]] तक सीमित करता है।


=== जर्नलिंग ===
=== जर्नलिंग ===
{{Details|Journaling file system}}
{{Details|जर्नलिंग संचिका प्रणाली}}


आधुनिक कंप्यूटिंग में, जर्नलिंग एक क्षमता है जो किसी भी पावर आउटेज या सिस्टम क्रैश होने के बावजूद फ़ाइल सिस्टम में डेटा की निरंतरता सुनिश्चित करती है। एक्सएफएस फाइल सिस्टम मेटाडेटा के लिए जर्नलिंग प्रदान करता है, जहां वास्तविक डिस्क ब्लॉक अपडेट होने से पहले फाइल सिस्टम अपडेट पहले सीरियल जर्नल में लिखे जाते हैं। जर्नल डिस्क ब्लॉक का एक गोलाकार बफ़र है जिसे सामान्य फ़ाइल सिस्टम ऑपरेशन में नहीं पढ़ा जाता है।
आधुनिक अभिकलन में, जर्नलिंग एक क्षमता है जो किसी भी ऊर्जा कटौती या प्रणाली नष्ट होने के बावजूद संचिका प्रणाली में डेटा की निरंतरता सुनिश्चित करती है। एक्सएफएस संचिका प्रणाली मेटाडेटा के लिए जर्नलिंग प्रदान करता है, जहां वास्तविक डिस्क खंड अपडेट होने से पहले संचिका प्रणाली अपडेट पूर्व आनुक्रमिक जर्नल में लिखे जाते हैं। जर्नल डिस्क खंड का एक गोलाकार अवरोध है जिसे सामान्य संचिका प्रणाली संचालन में नहीं पढ़ा जाता है।


XFS जर्नल को फाइल सिस्टम के डेटा सेक्शन (आंतरिक लॉग के रूप में), या डिस्क विवाद को कम करने के लिए एक अलग डिवाइस पर संग्रहीत किया जा सकता है।
एक्सएफएस जर्नल को संचिका प्रणाली के डेटा अनुभाग (आंतरिक लॉग के रूप में), या डिस्क विवाद को कम करने के लिए एक भिन्न उपकरण पर संग्रहीत किया जा सकता है।


XFS में, जर्नल में मुख्य रूप से ऐसी प्रविष्टियाँ होती हैं जो फ़ाइल सिस्टम संचालन द्वारा बदले गए डिस्क ब्लॉक के भागों का वर्णन करती हैं। प्रदर्शन की गति में कमी से बचने के लिए जर्नल अपडेट एसिंक्रोनस रूप से किए जाते हैं।
एक्सएफएस में, जर्नल में मुख्य रूप से ऐसी प्रविष्टियाँ होती हैं जो संचिका प्रणाली संचालन द्वारा परिवर्तित किये गए डिस्क खंड के भागों का वर्णन करती हैं। प्रदर्शन की गति में कमी से बचने के लिए जर्नल अपडेट अतुल्यकालिक रूप से किए जाते हैं।


सिस्टम क्रैश होने की स्थिति में, क्रैश से ठीक पहले हुई फ़ाइल सिस्टम ऑपरेशंस को फिर से लागू किया जा सकता है और जर्नल में दर्ज किए गए अनुसार पूरा किया जा सकता है, जो कि XFS फाइल सिस्टम में संग्रहीत डेटा को कैसे संगत रखता है। क्रैश के बाद फ़ाइल सिस्टम को पहली बार आरोहित करने पर पुनर्प्राप्ति स्वचालित रूप से की जाती है। पुनर्प्राप्ति की गति फ़ाइल सिस्टम के आकार से स्वतंत्र है, इसके बजाय फ़ाइल सिस्टम संचालन की मात्रा पर निर्भर करता है जिसे फिर से लागू किया जाना है।
प्रणाली नष्ट होने की स्थिति में, नष्ट से ठीक पहले हुई संचिका प्रणाली संचालन को फिर से अनुप्रयुक्त किया जा सकता है और जर्नल में अंकित किए गए अनुसार पूर्ण किया जा सकता है, इस तरह एक्सएफएस संचिका प्रणाली में संग्रहीत डेटा संगत रहता है। नष्ट के बाद संचिका प्रणाली को पहली बार आरोहित करने पर पुनर्प्राप्ति स्वचालित रूप से की जाती है। पुनर्प्राप्ति की गति संचिका प्रणाली के आकार से स्वतंत्र है, इसके बजाय संचिका प्रणाली संचालन की मात्रा के आधार पर पुन: अनुप्रयुक्त किया जाना है।


=== आवंटन समूह ===
=== आवंटन समूह ===
XFS फाइल सिस्टम आंतरिक रूप से आवंटन समूहों में विभाजित होते हैं, जो फाइल सिस्टम के भीतर समान आकार के रैखिक क्षेत्र होते हैं। [[कम्प्यूटर फाइल]] और निर्देशिकाएँ आवंटन समूहों को फैला सकती हैं। प्रत्येक आवंटन समूह अपने स्वयं के [[इनोड]]्स और मुक्त स्थान को अलग से प्रबंधित करता है, मापनीयता और समानता प्रदान करता है इसलिए कई थ्रेड्स और प्रक्रियाएं एक ही फाइल सिस्टम पर एक साथ I / O संचालन कर सकती हैं।
एक्सएफएस संचिका प्रणाली आंतरिक रूप से आवंटन समूहों में विभाजित होते हैं, जो संचिका प्रणाली के भीतर समान आकार के रैखिक क्षेत्र होते हैं। [[कम्प्यूटर फाइल|संचिकाएँ]] और निर्देशिकाएँ आवंटन समूहों को विस्तार कर सकती हैं। प्रत्येक आवंटन समूह अपने स्वयं के [[इनोड]] और मुक्त स्थान को अलग से प्रबंधित करता है, मापनीयता और समानता प्रदान करता है इसलिए अनेक क्रम और प्रक्रियाएं एक ही संचिका प्रणाली पर एक साथ आई/संचालन कर सकती हैं।


यह आर्किटेक्चर कई प्रोसेसर और/या कोर वाले सिस्टम पर समानांतर I/O प्रदर्शन को अनुकूलित करने में मदद करता है, क्योंकि मेटाडेटा अपडेट को भी समानांतर किया जा सकता है। आवंटन समूहों द्वारा प्रदान किया गया आंतरिक विभाजन विशेष रूप से फायदेमंद हो सकता है जब फ़ाइल सिस्टम कई भौतिक उपकरणों को फैलाता है, अंतर्निहित भंडारण घटकों के थ्रूपुट के इष्टतम उपयोग की अनुमति देता है।
यह वास्तुकला कई संसाधक और/या कोर वाली प्रणाली पर समानांतर आई/प्रदर्शन को अनुकूलित करने में सहायता करता है, क्योंकि मेटाडेटा अपडेट को भी समानांतर किया जा सकता है। आवंटन समूहों द्वारा प्रदान किया गया आंतरिक विभाजन विशेष रूप से लाभकारी हो सकता है जब संचिका प्रणाली कई भौतिक उपकरणों का विस्तार करती है, अंतर्निहित भंडारण घटकों के साद्यांत के इष्टतम उपयोग की अनुमति देता है।


=== धारीदार आवंटन ===
=== रेखित आवंटन ===
यदि कोई XFS फ़ाइल सिस्टम स्वतंत्र डिस्क सरणी के धारीदार अनावश्यक सरणी पर बनाया जाना है, तो फ़ाइल सिस्टम बनाते समय एक [[डेटा स्ट्रिपिंग]] इकाई निर्दिष्ट की जा सकती है। यह सुनिश्चित करके थ्रूपुट को अधिकतम करता है कि डेटा आवंटन, इनोड आवंटन और आंतरिक लॉग (जर्नल) स्ट्राइप यूनिट के साथ संरेखित हैं।
यदि एक रेखित रैड सरणी पर एक एक्सएफएस संचिका प्रणाली बनाया जाना है, तो संचिका प्रणाली बनाते समय एक [[डेटा स्ट्रिपिंग|पट्ट]] इकाई निर्दिष्ट की जा सकती है। यह सुनिश्चित करके साद्यांत को अधिकतम करता है कि डेटा आवंटन, इनोड आवंटन और आंतरिक लॉग (जर्नल) पट्ट इकाई के साथ संरेखित हैं।


=== विस्तार आधारित आवंटन ===
=== विस्तार आधारित आवंटन ===
XFS फ़ाइल सिस्टम पर संग्रहीत फ़ाइलों में उपयोग किए जाने वाले ब्लॉक को चर लंबाई सीमा (फ़ाइल सिस्टम) के साथ प्रबंधित किया जाता है, जहां एक सीमा एक या अधिक सन्निहित ब्लॉकों का वर्णन करती है। यह फ़ाइल सिस्टम की तुलना में ब्लॉक की सूची को काफी छोटा कर सकता है, जो फ़ाइल द्वारा व्यक्तिगत रूप से उपयोग किए जाने वाले सभी ब्लॉकों को सूचीबद्ध करता है।
एक्सएफएस संचिका प्रणाली पर संग्रहीत संचिकाओं में उपयोग किए जाने वाले खंड को चर लंबाई विस्तार के साथ प्रबंधित किया जाता है, जहां एक सीमा एक या अधिक सन्निहित खंडों का वर्णन करती है। यह संचिका प्रणाली की तुलना में खंड की सूची को काफी छोटा कर सकता है, जो संचिका द्वारा व्यक्तिगत रूप से उपयोग किए जाने वाले सभी खंडों को सूचीबद्ध करता है।


ब्लॉक-ओरिएंटेड फ़ाइल सिस्टम एक या अधिक ब्लॉक-ओरिएंटेड बिटमैप्स के साथ स्थान आवंटन का प्रबंधन करता है; XFS में, इन संरचनाओं को प्रत्येक फाइल सिस्टम आबंटन समूह के लिए B+ ट्री की एक जोड़ी से युक्त एक सीमा उन्मुख संरचना के साथ प्रतिस्थापित किया जाता है। B+ वृक्षों में से एक को मुक्त विस्तार की लंबाई से अनुक्रमित किया जाता है, जबकि दूसरे को मुक्त विस्तार के शुरुआती ब्लॉक द्वारा अनुक्रमित किया जाता है। यह दोहरी अनुक्रमणिका योजना फाइल सिस्टम संचालन के लिए मुक्त विस्तार के अत्यधिक कुशल आवंटन की अनुमति देती है।
खंड-अभिविन्यस्त संचिका प्रणाली एक या अधिक खंड-अभिविन्यस्त बीत प्रतिचित्र के साथ स्थान आवंटन का प्रबंधन करता है; एक्सएफएस में, इन संरचनाओं को प्रत्येक संचिका प्रणाली आबंटन समूह के लिए बी+ ट्री के एक युग्म से युक्त एक सीमा उन्मुख संरचना के साथ प्रतिस्थापित किया जाता है। बी+ ट्री में से एक को मुक्त विस्तार की लंबाई से अनुक्रमित किया जाता है, जबकि दूसरे को मुक्त विस्तार के प्रारंभिक खंड द्वारा अनुक्रमित किया जाता है। यह दोहरी अनुक्रमणिका योजना संचिका प्रणाली संचालन के लिए मुक्त विस्तार के अत्यधिक कुशल आवंटन की अनुमति देती है।


=== परिवर्तनीय ब्लॉक आकार ===
=== परिवर्तनीय खंड आकार ===
फ़ाइल सिस्टम ब्लॉक आकार न्यूनतम आवंटन इकाई का प्रतिनिधित्व करता है। XFS फ़ाइल सिस्टम को 512 बाइट्स और 64 KB के बीच के ब्लॉक आकार के साथ बनाने की अनुमति देता है, जिससे फ़ाइल सिस्टम को उपयोग की अपेक्षित डिग्री के लिए ट्यून किया जा सकता है। जब कई छोटी फाइलों की अपेक्षा की जाती है, तो एक छोटा ब्लॉक आकार आमतौर पर क्षमता को अधिकतम करता है, लेकिन मुख्य रूप से बड़ी फाइलों से निपटने वाली प्रणाली के लिए, एक बड़ा ब्लॉक आकार प्रदर्शन दक्षता लाभ प्रदान कर सकता है।
संचिका प्रणाली खंड आकार न्यूनतम आवंटन इकाई का प्रतिनिधित्व करता है। एक्सएफएस संचिका प्रणाली को 512 बाइट और 64 केबी के मध्य के खंड आकार के साथ बनाने की अनुमति देता है, जिससे संचिका प्रणाली को उपयोग की अपेक्षित डिग्री के लिए समायोजित किया जा सकता है। जब कई छोटी संचिकाओं की अपेक्षा की जाती है, तो एक छोटा खंड आकार सामान्यतः क्षमता को अधिकतम करता है, परन्तु मुख्य रूप से बड़ी संचिकाओं से व्यवहार वाली प्रणालियों के लिए, एक बड़ा खंड आकार प्रदर्शन दक्षता लाभ प्रदान कर सकता है।


=== विलंबित आवंटन ===
=== विलंबित आवंटन ===
{{Main|Delayed allocation}}
{{Main|विलंबित आवंटन}}


एक्सएफएस फ़ाइल आवंटन के लिए [[आलसी मूल्यांकन]] तकनीकों का उपयोग करता है। जब फ़ाइल को बफ़र कैश में लिखा जाता है, तो डेटा के लिए विस्तार आवंटित करने के बजाय, XFS मेमोरी में रखे डेटा के लिए उचित संख्या में फ़ाइल सिस्टम ब्लॉक को सुरक्षित रखता है। वास्तविक ब्लॉक आवंटन तभी होता है जब डेटा अंत में डिस्क में फ़्लश हो जाता है। इससे इस संभावना में सुधार होता है कि फ़ाइल ब्लॉक के एक सन्निहित समूह में लिखी जाएगी, [[फ़ाइल सिस्टम विखंडन]] की समस्याओं को कम करती है और प्रदर्शन को बढ़ाती है।
एक्सएफएस संचिका आवंटन के लिए [[आलसी मूल्यांकन|अनुयोगी मूल्यांकन]] प्रविधियों का उपयोग करता है। जब संचिका को अवरोध कैश में लिखा जाता है, तो डेटा के लिए विस्तार आवंटित करने के बजाय, एक्सएफएस मेमोरी में रखे डेटा के लिए उचित संख्या में संचिका प्रणाली खंड को सुरक्षित रखता है। वास्तविक खंड आवंटन तभी होता है जब डेटा अंत में डिस्क में परिपूर्ण हो जाता है। इससे इस संभावना में सुधार होता है कि संचिका खंड के एक सन्निहित समूह में लिखी जाएगी, [[फ़ाइल सिस्टम विखंडन|विखंडन]] की समस्याओं को कम करेगी और प्रदर्शन को बढ़ाएगी।


=== विरल फ़ाइलें ===
=== अपर्याप्त संचिका ===
XFS प्रत्येक फ़ाइल के लिए एक 64-बिट विरल पता स्थान प्रदान करता है, जो बहुत बड़े फ़ाइल आकारों और फ़ाइलों के भीतर छेदों के लिए अनुमति देता है जिसमें कोई डिस्क स्थान आवंटित नहीं किया जाता है। चूंकि फ़ाइल सिस्टम प्रत्येक फ़ाइल के लिए एक सीमा मानचित्र का उपयोग करता है, इसलिए फ़ाइल आवंटन मानचित्र का आकार छोटा रखा जाता है। जहां आबंटन मानचित्र का आकार इनोड के भीतर संग्रहीत करने के लिए बहुत बड़ा है, मानचित्र को बी+ ट्री में ले जाया जाता है जो फ़ाइल के लिए प्रदान किए गए 64-बिट पता स्थान में कहीं भी डेटा तक त्वरित पहुंच की अनुमति देता है।
एक्सएफएस प्रत्येक संचिका के लिए एक 64-बिट विरल पता स्थान प्रदान करता है, जो बहुत बड़े संचिका आकारों और संचिकाओं के भीतर छिद्रों के लिए अनुमति देता है जिसमें कोई डिस्क स्थान आवंटित नहीं किया जाता है। चूंकि संचिका प्रणाली प्रत्येक संचिका के लिए एक सीमा मानचित्र का उपयोग करता है, इसलिए संचिका आवंटन मानचित्र का आकार छोटा रखा जाता है। जहां आबंटन मानचित्र का आकार इनोड के भीतर संग्रहीत करने के लिए बहुत बड़ा है, मानचित्र को बी+ ट्री में ले जाया जाता है जो संचिका के लिए प्रदान किए गए 64-बिट पता स्थान में कहीं भी डेटा तक त्वरित अभिगम की अनुमति देता है।


=== विस्तारित गुण ===
=== विस्तारित गुण ===
XFS फाइलों के लिए कई डेटा स्ट्रीम प्रदान करता है; यह विस्तारित फ़ाइल विशेषताओं के कार्यान्वयन से संभव हुआ है। ये फ़ाइल से जुड़े कई नाम/मूल्य जोड़े के भंडारण की अनुमति देते हैं। नाम रद्द-समाप्त प्रिंट करने योग्य कैरेक्टर स्ट्रिंग्स हैं जिनकी लंबाई 256 बाइट तक होती है, जबकि उनसे जुड़े मानों में 64 [[किलोबाइट]] तक बाइनरी डेटा हो सकता है।
एक्सएफएस संचिकाओं के लिए कई डेटा वर्ग प्रदान करता है; यह विस्तारित विशेषताओं के कार्यान्वयन से संभव हुआ है। ये संचिका से जुड़े कई नाम/मूल्य जोड़े के भंडारण की अनुमति देते हैं। नाम शून्य-समाप्त मुद्रणीय योग्य वर्ण श्रृंखला हैं जिनकी लंबाई 256 बाइट तक होती है, जबकि उनसे संबद्ध मानों में 64 [[किलोबाइट]] तक द्वि आधारी डेटा हो सकता है।


उन्हें आगे दो नामस्थानों में विभाजित किया गया है: <code>root</code> और <code>user</code>. रूट नेमस्पेस में संग्रहीत विस्तारित विशेषताओं को केवल सुपरयूजर द्वारा संशोधित किया जा सकता है, जबकि यूजर नेमस्पेस में विशेषताओं को किसी भी उपयोगकर्ता द्वारा फ़ाइल में लिखने की अनुमति के साथ संशोधित किया जा सकता है।
उन्हें आगे दो नामस्थानों: <code>रूट</code> और <code>उपयोक्‍ता</code> में विभाजित किया गया है। रूट नामस्थानों में संग्रहीत विस्तारित विशेषताओं को केवल सर्वोच्च प्रयोक्ता द्वारा संशोधित किया जा सकता है, जबकि प्रयोक्ता नामस्थानों में विशेषताओं को किसी भी उपयोगकर्ता द्वारा संचिका में लिखने की अनुमति के साथ संशोधित किया जा सकता है।


विस्तारित विशेषताओं को किसी भी प्रकार के XFS इनोड से जोड़ा जा सकता है, जिसमें प्रतीकात्मक लिंक, डिवाइस नोड, निर्देशिका आदि शामिल हैं। <code>attr</code> e> उपयोगिता का उपयोग कमांड लाइन से विस्तारित विशेषताओं में हेरफेर करने के लिए किया जा सकता है, और <code>xfsdump</code> और <code>xfsrestore</code> उपयोगिताओं को विस्तारित विशेषताओं के बारे में पता है, और उनकी सामग्री का बैक अप और पुनर्स्थापित करेगा। अधिकांश अन्य बैकअप सिस्टम विस्तारित विशेषताओं के साथ कार्य करने का समर्थन नहीं करते हैं।
विस्तारित विशेषताओं को किसी भी प्रकार के एक्सएफएस इनोड से जोड़ा जा सकता है, जिसमें प्रतीकात्मक लिंक, उपकरण नोड, निर्देशिकाएं आदि सम्मिलित हैं। <code>एटीटीआर</code> उपयोगिता का उपयोग समादेश क्रम से विस्तारित विशेषताओं में क्रमभंग करने के लिए किया जा सकता है और <code>एक्सएफएसडंप</code> और <code>एक्सएफएस पुनःस्थापन</code> उपयोगिताओं को विस्तारित विशेषताओं के विषय में ज्ञात है और उनकी सामग्री का बैक अप और पुनर्स्थापित करेगा। अधिकांश अन्य पूर्तिकर प्रणाली विस्तारित विशेषताओं के साथ कार्य करने का समर्थन नहीं करते हैं।


===प्रत्यक्ष I/O===
===प्रत्यक्ष आई/===
डिस्क के लिए उच्च थ्रूपुट की आवश्यकता वाले अनुप्रयोगों के लिए, XFS एक प्रत्यक्ष I/O कार्यान्वयन प्रदान करता है जो गैर-कैश्ड I/O संचालन को सीधे उपयोक्ता स्थान पर लागू करने की अनुमति देता है। डेटा को एप्लिकेशन के बफर और डिस्क के बीच [[ प्रत्यक्ष मेमोरी एक्सेस ]] का उपयोग करके स्थानांतरित किया जाता है, जो अंतर्निहित डिस्क उपकरणों के पूर्ण I/O बैंडविड्थ तक पहुंच की अनुमति देता है।
डिस्क के लिए उच्च साद्यांत की आवश्यकता वाले अनुप्रयोगों के लिए, एक्सएफएस एक प्रत्यक्ष आई/कार्यान्वयन प्रदान करता है जो गैर-कैश आई/संचालन को सीधे उपयोक्ता स्थान पर अनुप्रयुक्त करने की अनुमति देता है। डेटा को एप्लिकेशन के अवरोध और डीएमए का उपयोग कर डिस्क के मध्य स्थानांतरित किया जाता है, जो अंतर्निहित डिस्क उपकरणों के पूर्ण आई/ओ बैंड विस्तार तक अभिगम की अनुमति देता है।


===गारंटी-दर I/O===
===गारंटीकृत-दर आई/===
XFS गारंटीकृत-दर I/O सिस्टम एक API प्रदान करता है जो एप्लिकेशन को फ़ाइल सिस्टम के लिए बैंडविड्थ आरक्षित करने की अनुमति देता है। एक्सएफएस गतिशील रूप से अंतर्निहित भंडारण उपकरणों से उपलब्ध प्रदर्शन की गणना करता है, और निर्दिष्ट समय के लिए अनुरोधित प्रदर्शन को पूरा करने के लिए पर्याप्त बैंडविड्थ आरक्षित करेगा। यह XFS फाइल सिस्टम के लिए एक अनूठी विशेषता है। गारंटीशुदा दरें कठिन या नरम हो सकती हैं, जो विश्वसनीयता और प्रदर्शन के बीच व्यापार बंद का प्रतिनिधित्व करती हैं; हालाँकि, XFS केवल कठिन गारंटी की अनुमति देगा यदि अंतर्निहित स्टोरेज सबसिस्टम इसका समर्थन करता है। इस सुविधा का उपयोग ज्यादातर वास्तविक समय के अनुप्रयोगों, जैसे कि वीडियो स्ट्रीमिंग के लिए किया जाता है।
एक्सएफएस गारंटीकृत-दर आई/ओ प्रणाली एक एपीआई प्रदान करता है जो एप्लिकेशन को संचिका प्रणाली के लिए बैंड विस्तार आरक्षित करने की अनुमति देता है। एक्सएफएस गतिशील रूप से अंतर्निहित भंडारण उपकरणों से उपलब्ध प्रदर्शन की गणना करता है और निर्दिष्ट समय के लिए अनुरोधित प्रदर्शन को पूर्ण करने के लिए पर्याप्त बैंड विस्तार आरक्षित करेगा। यह एक्सएफएस संचिका प्रणाली के लिए एक अद्वितीय विशेषता है। गारंटीकृत दरें "कठोर" या "नरम" हो सकती हैं, जो विश्वसनीयता और प्रदर्शन के मध्य दुविधा का प्रतिनिधित्व करती हैं; हालाँकि, एक्सएफएस केवल कठोर गारंटीकृत की अनुमति देगा यदि अंतर्निहित भंडारण उप-प्रणाली इसका समर्थन करता है। इस सुविधा का उपयोग ज्यादातर वास्तविक समय के अनुप्रयोगों, जैसे कि वीडियो स्ट्रीमिंग के लिए किया जाता है।


गारंटी-दर I/O केवल IRIX के तहत समर्थित था, और उस उद्देश्य के लिए विशेष हार्डवेयर की आवश्यकता थी।<ref>{{Cite mailing list |url= http://oss.sgi.com/archives/xfs/2012-07/msg00432.html |title= Re: Re: realtime section bugs still around |author= John Nelson |date= July 30, 2012 |mailing-list= XFS mailing list |publisher= SGI |access-date= April 13, 2014 |archive-url= https://web.archive.org/web/20140414085238/http://oss.sgi.com/archives/xfs/2012-07/msg00432.html |archive-date= April 14, 2014 |url-status= live }}</ref>
गारंटीकृत-दर आई/केवल आईआरआईएक्स के अंतर्गत समर्थित था और उस उद्देश्य के लिए विशेष हार्डवेयर की आवश्यकता थी।<ref>{{Cite mailing list |url= http://oss.sgi.com/archives/xfs/2012-07/msg00432.html |title= Re: Re: realtime section bugs still around |author= John Nelson |date= July 30, 2012 |mailing-list= XFS mailing list |publisher= SGI |access-date= April 13, 2014 |archive-url= https://web.archive.org/web/20140414085238/http://oss.sgi.com/archives/xfs/2012-07/msg00432.html |archive-date= April 14, 2014 |url-status= live }}</ref>




=== [[डीएमएपीआई]] ===
=== डीएमएपीआई ===
XFS ने IRIX में पदानुक्रमित संग्रहण प्रबंधन का समर्थन करने के लिए DMAPI इंटरफ़ेस लागू किया। अक्टूबर 2010 तक, एक्सएफएस के लिनक्स कार्यान्वयन ने डीएमएपीआई कार्यान्वयन के लिए आवश्यक ऑन-डिस्क मेटाडेटा का समर्थन किया, लेकिन कर्नेल समर्थन कथित तौर पर प्रयोग करने योग्य नहीं था। कुछ समय के लिए, एसजीआई ने एक कर्नेल ट्री की मेजबानी की जिसमें डीएमएपीआई हुक शामिल थे, लेकिन इस समर्थन को पर्याप्त रूप से बनाए नहीं रखा गया है, हालांकि कर्नेल डेवलपर्स ने इस समर्थन को अद्यतित करने का इरादा बताया है।<ref>{{Cite mailing list |url= http://oss.sgi.com/archives/xfs/2010-10/msg00025.html |title= Re: Linux and DMAPI |author= Christoph Hellwig |date= October 3, 2010 |mailing-list= XFS mailing list |publisher= SGI |access-date= November 6, 2011 |archive-url= https://web.archive.org/web/20110927020239/http://oss.sgi.com/archives/xfs/2010-10/msg00025.html |archive-date= September 27, 2011 |url-status= dead }}</ref>
एक्सएफएस ने आईआरआईएक्स में पदानुक्रमित संग्रहण प्रबंधन का समर्थन करने के लिए डीएमएपीआई अंतरपृष्‍ठ अनुप्रयुक्त किया। अक्टूबर 2010 तक, एक्सएफएस के लिनक्स कार्यान्वयन ने डीएमएपीआई कार्यान्वयन के लिए आवश्यक डिस्क मेटाडेटा का समर्थन किया, परन्तु कर्नेल समर्थन यथेष्टतया प्रयोग करने योग्य नहीं था। कुछ समय के लिए, एसजीआई ने एक कर्नेल ट्री की मेजबानी की, जिसमें डीएमएपीआई हुक सम्मिलित थे, परन्तु इस समर्थन को पर्याप्त रूप से बनाए नहीं रखा गया है, हालांकि कर्नेल विकासक ने इस समर्थन को अद्यतित करने का उद्देश्य बताया है।<ref>{{Cite mailing list |url= http://oss.sgi.com/archives/xfs/2010-10/msg00025.html |title= Re: Linux and DMAPI |author= Christoph Hellwig |date= October 3, 2010 |mailing-list= XFS mailing list |publisher= SGI |access-date= November 6, 2011 |archive-url= https://web.archive.org/web/20110927020239/http://oss.sgi.com/archives/xfs/2010-10/msg00025.html |archive-date= September 27, 2011 |url-status= dead }}</ref>




=== स्नैपशॉट ===
=== आशुचित्र ===
XFS अभी तक नहीं है<ref>{{cite web|url=https://lwn.net/Articles/638546/|title=XFS: There and back ... and there again? [LWN.net]|website=lwn.net|access-date=2016-10-27|archive-url=https://web.archive.org/web/20161027192827/https://lwn.net/Articles/638546/|archive-date=2016-10-27|url-status=live}}</ref> स्नैपशॉट के लिए प्रत्यक्ष समर्थन प्रदान करें, क्योंकि यह वर्तमान में वॉल्यूम मैनेजर द्वारा स्नैपशॉट प्रक्रिया को लागू करने की अपेक्षा करता है। XFS फ़ाइल सिस्टम का स्नैपशॉट लेने से फ़ाइल सिस्टम में I/O को अस्थायी रूप से रोकना शामिल है <code>xfs_freeze</code> उपयोगिता, वॉल्यूम प्रबंधक होने से वास्तविक स्नैपशॉट निष्पादित होता है, और उसके बाद सामान्य संचालन जारी रखने के लिए I/O को फिर से शुरू करना। स्नैपशॉट को बैकअप उद्देश्यों के लिए केवल पढ़ने के लिए माउंट किया जा सकता है।
एक्सएफएस अभी तक<ref>{{cite web|url=https://lwn.net/Articles/638546/|title=XFS: There and back ... and there again? [LWN.net]|website=lwn.net|access-date=2016-10-27|archive-url=https://web.archive.org/web/20161027192827/https://lwn.net/Articles/638546/|archive-date=2016-10-27|url-status=live}}</ref> आशुचित्र के लिए प्रत्यक्ष समर्थन प्रदान नहीं करता है, क्योंकि यह वर्तमान में खंड प्रबंधक द्वारा आशुचित्र प्रक्रिया को अनुप्रयुक्त करने की अपेक्षा करता है। एक्सएफएस संचिका प्रणाली का आशुचित्र लेने में <code>एक्सएफएस_फ्रीज़</code> उपयोगिता का करके संचिका प्रणाली में आई/ओ को अस्थायी रूप से रोकना सम्मिलित है, खंड प्रबंधक होने से वास्तविक आशुचित्र निष्पादित होता है और उसके बाद सामान्य संचालन जारी रखने के लिए आई/को पुनः प्रारंभ करना है। आशुचित्रों को पूर्तिकर उद्देश्यों के लिए केवल पढ़ने के लिए जुड़ा हुआ किया जा सकता है।


आईआरआईएक्स में एक्सएफएस के रिलीज में एक्सएलवी नामक एक एकीकृत मात्रा प्रबंधक शामिल है। इस वॉल्यूम मैनेजर को लिनक्स में पोर्ट नहीं किया गया है, और इसके बजाय एक्सएफएस लिनक्स सिस्टम में मानक [[लॉजिकल वॉल्यूम मैनेजर (लिनक्स)]] के साथ काम करता है।
आईआरआईएक्स में एक्सएफएस के विमोचन में एक्सएलवी नामक एक एकीकृत मात्रा प्रबंधक सम्मिलित है। यह खंड प्रबंधक को लिनक्स में पोर्ट नहीं किया गया है और एक्सएफएस इसके बजाय लिनक्स प्रणाली में मानक [[लॉजिकल वॉल्यूम मैनेजर (लिनक्स)|एलवीएम]] के साथ कार्य करता है।


हाल के लिनक्स कर्नेल में, <code>xfs_freeze</code> कार्यक्षमता VFS परत में कार्यान्वित की जाती है, और वॉल्यूम मैनेजर की स्नैपशॉट कार्यक्षमता लागू होने पर स्वचालित रूप से निष्पादित होती है। यह एक बार एक मूल्यवान लाभ था क्योंकि [[ext3]] फाइल सिस्टम को निलंबित नहीं किया जा सकता था<ref>{{cite web|url=http://www.linuxquestions.org/questions/programming-9/how-to-freeze-ext3-file-system-229937/|title=How to freeze ext3 file system|website=www.linuxquestions.org|access-date=2011-08-24|archive-url=https://web.archive.org/web/20110428190523/http://www.linuxquestions.org/questions/programming-9/how-to-freeze-ext3-file-system-229937/|archive-date=2011-04-28|url-status=live}}</ref> और वॉल्यूम प्रबंधक अत्यधिक व्यस्त डेटाबेस का बैक अप लेने के लिए लगातार हॉट स्नैपशॉट बनाने में असमर्थ था।<ref>{{cite web|url=http://www.linuxquestions.org/questions/linux-server-73/lvm-snapshots-how-to-use-622084/|title=LVM snapshots: How to use?|website=www.linuxquestions.org|access-date=2010-04-17|archive-url=https://web.archive.org/web/20110117044017/http://www.linuxquestions.org/questions/linux-server-73/lvm-snapshots-how-to-use-622084/|archive-date=2011-01-17|url-status=live}}</ref> सौभाग्य से अब ऐसा नहीं है। Linux 2.6.29 के बाद से, फाइल सिस्टम ext3, [[ext4]], [[GFS2]] और JFS (फाइल सिस्टम) में फ्रीज सुविधा भी है।<ref>{{cite web|url=https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4be0c1dc4cdc37b175579be1460f15ac6495e9a|title=kernel/git/torvalds/linux.git - Linux kernel source tree|website=git.kernel.org}}</ref>
हाल के लिनक्स कर्नेल में, <code>एक्सएफएस_फ्रीज़</code> कार्यक्षमता वीएफएस परत में कार्यान्वित की जाती है और खंड प्रबंधक की आशुचित्र कार्यक्षमता अनुप्रयुक्त होने पर स्वचालित रूप से निष्पादित होती है। यह एक बार एक मूल्यवान लाभ था क्योंकि [[ext3|इएक्सटी3]] संचिका प्रणाली को निलंबित नहीं किया जा सकता था<ref>{{cite web|url=http://www.linuxquestions.org/questions/programming-9/how-to-freeze-ext3-file-system-229937/|title=How to freeze ext3 file system|website=www.linuxquestions.org|access-date=2011-08-24|archive-url=https://web.archive.org/web/20110428190523/http://www.linuxquestions.org/questions/programming-9/how-to-freeze-ext3-file-system-229937/|archive-date=2011-04-28|url-status=live}}</ref> और खंड प्रबंधक अत्यधिक व्यस्त डेटाबेस का बैक अप लेने के लिए लगातार हॉट आशुचित्र बनाने में असमर्थ था।<ref>{{cite web|url=http://www.linuxquestions.org/questions/linux-server-73/lvm-snapshots-how-to-use-622084/|title=LVM snapshots: How to use?|website=www.linuxquestions.org|access-date=2010-04-17|archive-url=https://web.archive.org/web/20110117044017/http://www.linuxquestions.org/questions/linux-server-73/lvm-snapshots-how-to-use-622084/|archive-date=2011-01-17|url-status=live}}</ref> सौभाग्य से अब ऐसा नहीं है। लिनक्स 2.6.29 के बाद से, संचिका प्रणाली इएक्सटी3, [[ext4|इएक्सटी]][[ext4|4]], [[GFS2|जीएफएस2]] और जेएफएस में फ्रीज सुविधा भी है।<ref>{{cite web|url=https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4be0c1dc4cdc37b175579be1460f15ac6495e9a|title=kernel/git/torvalds/linux.git - Linux kernel source tree|website=git.kernel.org}}</ref>




=== ऑनलाइन डीफ़्रेग्मेंटेशन ===
=== ऑनलाइन एकीकरण ===
हालांकि एक्सएफएस की सीमा-आधारित प्रकृति और इसके द्वारा उपयोग की जाने वाली विलंबित आवंटन रणनीति विखंडन की समस्याओं के लिए फाइल सिस्टम के प्रतिरोध में काफी सुधार करती है, एक्सएफएस एक फाइलसिस्टम डीफ्रैग्मेंटेशन उपयोगिता प्रदान करता है (<code>xfs_fsr</code>, XFS फाइल सिस्टम रीऑर्गनाइजर के लिए छोटा) जो माउंटेड और सक्रिय XFS फाइल सिस्टम पर फाइलों को डीफ्रैग्मेंट कर सकता है।<ref>[http://bitubique.com/content/defragment-xfs-file-system Bitubique.com] {{webarchive |url=https://web.archive.org/web/20090401211105/http://bitubique.com/content/defragment-xfs-file-system |date=April 1, 2009 }}</ref>
हालांकि एक्सएफएस की सीमा-आधारित प्रकृति और इसके द्वारा उपयोग की जाने वाली विलंबित आवंटन रणनीति विखंडन की समस्याओं के लिए संचिका प्रणाली के प्रतिरोध में काफी सुधार करती है, एक्सएफएस एक संचिकाप्रणाली एकीकरण उपयोगिता <code>एक्सएफएस_एफएसआर</code>, एक्सएफएस संचिका प्रणाली पुनर्संगठनकर्ता के लिए संक्षिप्त) जो जुड़ा हुआ और सक्रिय एक्सएफएस संचिका प्रणाली पर संचिकाओं को एकीकृत कर सकता है।<ref>[http://bitubique.com/content/defragment-xfs-file-system Bitubique.com] {{webarchive |url=https://web.archive.org/web/20090401211105/http://bitubique.com/content/defragment-xfs-file-system |date=April 1, 2009 }}</ref>




=== ऑनलाइन विकास ===
=== ऑनलाइन विकास ===
एक्सएफएस प्रदान करता है <code>xfs_growfs</code> XFS फाइल सिस्टम का ऑनलाइन विस्तार करने के लिए यूटिलिटी। XFS फ़ाइल सिस्टम को तब तक विकसित किया जा सकता है जब तक कि फ़ाइल सिस्टम को रखने वाले डिवाइस पर खाली जगह बची हो। यह सुविधा आमतौर पर वॉल्यूम प्रबंधन के संयोजन के साथ प्रयोग की जाती है, अन्यथा फ़ाइल सिस्टम को धारण करने वाले [[डिस्क विभाजन]] को अलग से विस्तार करने की आवश्यकता होगी।
एक्सएफएस, एक्सएफएस संचिका प्रणाली का ऑनलाइन विस्तार करने के लिए <code>एक्सएफएस_ग्रोएफएस</code> उपयोगिता प्रदान करता है। एक्सएफएस संचिका प्रणाली को तब तक विकसित किया जा सकता है जब तक कि संचिका प्रणाली को रखने वाले उपकरणो पर रिक्त स्थान शेष हो। यह सुविधा सामान्यतः खंड  प्रबंधन के संयोजन के साथ प्रयोग की जाती है, अन्यथा संचिका प्रणाली को धारण करने वाले [[डिस्क विभाजन|विभाजन]] को अलग से विस्तार करने की आवश्यकता होगी।


== नुकसान ==
== हानि ==
* XFS फाइलसिस्टम नहीं कर सकता ({{as of|2022|07|lc=on}}) जगह में सिकुड़ जाना,<ref>[http://xfs.org/index.php/XFS_FAQ#Q:_Is_there_a_way_to_make_a_XFS_filesystem_larger_or_smaller.3F XFS.org] {{Webarchive|url=https://web.archive.org/web/20090105174540/http://www.xfs.org/index.php/XFS_FAQ#Q:_Is_there_a_way_to_make_a_XFS_filesystem_larger_or_smaller.3F |date=2009-01-05 }}, FAQ</ref> हालांकि कई संभावित समाधानों पर चर्चा की गई है।<ref>{{Cite mailing list |url= http://oss.sgi.com/archives/xfs/2002-01/msg02379.html |title= Re: Shrink an XFS filesystem? (LVM) |author= Eric Sandeen |date= Jan 18, 2002 |mailing-list=XFS mailing list |publisher= SGI | url-status=dead |archive-url=https://web.archive.org/web/20160203194451/http://oss.sgi.com/archives/xfs/2002-01/msg02379.html |archive-date=2016-02-03}}</ref>
* एक्सएफएस संचिका प्रणाली को (जुलाई 2022 तक) स्थान में छोटा नहीं किया जा सकता है,<ref>[http://xfs.org/index.php/XFS_FAQ#Q:_Is_there_a_way_to_make_a_XFS_filesystem_larger_or_smaller.3F XFS.org] {{Webarchive|url=https://web.archive.org/web/20090105174540/http://www.xfs.org/index.php/XFS_FAQ#Q:_Is_there_a_way_to_make_a_XFS_filesystem_larger_or_smaller.3F |date=2009-01-05 }}, FAQ</ref> हालांकि कई संभावित समाधानों पर चर्चा की गई है।<ref>{{Cite mailing list |url= http://oss.sgi.com/archives/xfs/2002-01/msg02379.html |title= Re: Shrink an XFS filesystem? (LVM) |author= Eric Sandeen |date= Jan 18, 2002 |mailing-list=XFS mailing list |publisher= SGI | url-status=dead |archive-url=https://web.archive.org/web/20160203194451/http://oss.sgi.com/archives/xfs/2002-01/msg02379.html |archive-date=2016-02-03}}</ref>
* XFS में मेटाडेटा संचालन बाद में लागू किए गए जर्नलिंग फ़ाइल सिस्टम की तुलना में धीमा था और बहुत बड़े लॉग के साथ काम करने के लिए डिज़ाइन किया गया था, उदाहरण के लिए, बड़ी संख्या में फ़ाइलों को हटाने जैसे संचालन के साथ धीमा प्रदर्शन। हालाँकि, जॉन नेल्सन द्वारा लागू की गई एक नई XFS सुविधा और विलंबित लॉगिंग कहा जाता है, जो लिनक्स कर्नेल मेनलाइन के संस्करण 2.6.39 के बाद से उपलब्ध है, इसे हल करने के लिए कहा जाता है;<ref>{{cite web |title= जर्नल ओवरहेड को कम करके मेटाडेटा प्रदर्शन में सुधार|date= December 23, 2010 |work= XFS.org wiki |first= John |last=Nelson |url= http://xfs.org/index.php/Improving_Metadata_Performance_By_Reducing_Journal_Overhead |access-date= November 6, 2011 |archive-url= https://web.archive.org/web/20111006152854/http://xfs.org/index.php/Improving_Metadata_Performance_By_Reducing_Journal_Overhead |archive-date= October 6, 2011 |url-status= live }}</ref> 2010 में डेवलपर द्वारा किए गए प्रदर्शन बेंचमार्क ने प्रदर्शन स्तर को कम थ्रेड काउंट पर ext4 के समान और उच्च थ्रेड काउंट पर बेहतर होने का खुलासा किया।<ref>{{Cite mailing list |title=Re: PATCH 0/12 xfs: delayed logging V6 |first=John |last=Nelson |url=http://oss.sgi.com/archives/xfs/2010-05/msg00329.html |mailing-list=XFS Mailing List Message |date=May 24, 2010 |access-date=November 6, 2011 |archive-url=https://web.archive.org/web/20111205021317/http://oss.sgi.com/archives/xfs/2010-05/msg00329.html |archive-date=December 5, 2011 |url-status=live }}</ref>
* एक्सएफएस में मेटाडेटा संचालन बाद में अनुप्रयुक्त किए गए जर्नलिंग संचिका प्रणाली की तुलना में मंद था और बहुत बड़े लॉग के साथ कार्य करने के लिए रूपांकित किया गया था, उदाहरण के लिए, बड़ी संख्या में संचिकाओं को हटाने जैसे संचालन के साथ धीमा प्रदर्शन है। हालाँकि, जॉन नेल्सन द्वारा अनुप्रयुक्त की गई एक नई एक्सएफएस सुविधा और विलंबित संलेखन कहा जाता है, जो लिनक्स कर्नेल प्रमुख मार्ग के संस्करण 2.6.39 के बाद से उपलब्ध है, इसे हल करने के लिए कहा जाता है;<ref>{{cite web |title= जर्नल ओवरहेड को कम करके मेटाडेटा प्रदर्शन में सुधार|date= December 23, 2010 |work= XFS.org wiki |first= John |last=Nelson |url= http://xfs.org/index.php/Improving_Metadata_Performance_By_Reducing_Journal_Overhead |access-date= November 6, 2011 |archive-url= https://web.archive.org/web/20111006152854/http://xfs.org/index.php/Improving_Metadata_Performance_By_Reducing_Journal_Overhead |archive-date= October 6, 2011 |url-status= live }}</ref> 2010 में विकासक द्वारा किए गए प्रदर्शन मानदण्ड ने प्रदर्शन स्तर को निम्न क्रम गणना पर इएक्सटी4 के समान और उच्च क्रम गणना पर श्रेष्ठतर दर्शाया गया।<ref>{{Cite mailing list |title=Re: PATCH 0/12 xfs: delayed logging V6 |first=John |last=Nelson |url=http://oss.sgi.com/archives/xfs/2010-05/msg00329.html |mailing-list=XFS Mailing List Message |date=May 24, 2010 |access-date=November 6, 2011 |archive-url=https://web.archive.org/web/20111205021317/http://oss.sgi.com/archives/xfs/2010-05/msg00329.html |archive-date=December 5, 2011 |url-status=live }}</ref>
* जर्नलिंग अक्षम नहीं की जा सकती। हालाँकि, XFS इसके बजाय एक अलग ब्लॉक डिवाइस पर बाहरी जर्नल को लिख सकता है।<ref>{{cite web |title=बाहरी एक्सएफएस पत्रिकाओं के बारे में|url=https://docs.oracle.com/cd/E37670_01/E37355/html/ol_extjnl_xfs.html |website=oracle.com |access-date=16 November 2022}}</ref>
* जर्नलिंग अक्षम नहीं की जा सकती। हालाँकि, एक्सएफएस इसके बजाय एक भिन्न खंड उपकरण पर बाह्य जर्नल को लिख सकता है।<ref>{{cite web |title=बाहरी एक्सएफएस पत्रिकाओं के बारे में|url=https://docs.oracle.com/cd/E37670_01/E37355/html/ol_extjnl_xfs.html |website=oracle.com |access-date=16 November 2022}}</ref>




== यह भी देखें ==
== यह भी देखें ==
* फाइल सिस्टम की तुलना
* संचिका प्रणाली की तुलना
* [[सीएक्सएफएस]]
* [[सीएक्सएफएस]]
* फाइल सिस्टम की सूची
* संचिका प्रणाली की सूची
* [[स्ट्रैटिस (कॉन्फ़िगरेशन डेमॉन)]]
* [[स्ट्रैटिस (कॉन्फ़िगरेशन डेमॉन)|स्तरिक (संरूपण डेमॉन)]]


==संदर्भ==
==संदर्भ==
Line 201: Line 204:


==अग्रिम पठन==
==अग्रिम पठन==
* [https://web.archive.org/web/20200225131110/https://pdfs.semanticscholar.org/aa38/59fe0e2d987a2c2859d539dee6724f59a163.pdf Scalability in the XFS Filesystem] (First XFS paper presented at the Usenix 1996 Annual Technical Conference)
* [https://web.archive.org/web/20200225131110/https://pdfs.semanticscholar.org/aa38/59fe0e2d987a2c2859d539dee6724f59a163.pdf Scalability in the एक्सएफएस Filesystem] (First एक्सएफएस paper presented at the Usenix 1996 Annual Technical Conference)
* {{cite web|url=https://www.kernel.org/pub/linux/utils/fs/xfs/docs/xfs_filesystem_structure.pdf |access-date=2019-09-17 |date=June 2017 |publisher=Silicon Graphics |title=XFS Filesystem Disk Structures 3rd Edition}}
* {{cite web|url=https://www.kernel.org/pub/linux/utils/fs/xfs/docs/xfs_filesystem_structure.pdf |access-date=2019-09-17 |date=June 2017 |publisher=Silicon Graphics |title=XFS Filesystem Disk Structures 3rd Edition}}




==बाहरी संबंध==
==बाहरी संबंध==
* [https://xfs.wiki.kernel.org/ The XFS Linux wiki], current community wiki  
* [https://xfs.wiki.kernel.org/ The एक्सएफएस लिनक्स wiki], current community wiki  
* [http://xfs.org/ XFS.org] {{Webarchive|url=https://web.archive.org/web/20161104195105/http://www.xfs.org/ |date=2016-11-04 }}, old community wiki
* [http://xfs.org/ एक्सएफएस.org] {{Webarchive|url=https://web.archive.org/web/20161104195105/http://www.xfs.org/ |date=2016-11-04 }}, old community wiki
* [http://www.crossmeta.org/ crossmeta.org] {{Webarchive|url=https://web.archive.org/web/20150808093756/http://www.crossmeta.org/ |date=2015-08-08 }}, community port of XFS on Windows
* [http://www.crossmeta.org/ crossmeta.org] {{Webarchive|url=https://web.archive.org/web/20150808093756/http://www.crossmeta.org/ |date=2015-08-08 }}, community port of एक्सएफएस on Windows
 
{{File systems}}
[[Category: 1994 सॉफ्टवेयर]] [[Category: डिस्क फ़ाइल सिस्टम]] [[Category: लिनक्स कर्नेल द्वारा समर्थित फाइल सिस्टम]] [[Category: पूर्व में मालिकाना सॉफ्टवेयर]] [[Category: IRIX]]
 
 


[[Category: Machine Translated Page]]
[[Category:1994 सॉफ्टवेयर]]
[[Category:All articles with unsourced statements]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:Articles with invalid date parameter in template]]
[[Category:Articles with unsourced statements from मार्च 2016]]
[[Category:CS1 maint]]
[[Category:Collapse templates]]
[[Category:Created On 10/06/2023]]
[[Category:Created On 10/06/2023]]
[[Category:IRIX]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Webarchive template wayback links]]
[[Category:Wikipedia metatemplates]]
[[Category:डिस्क फ़ाइल सिस्टम]]
[[Category:पूर्व में मालिकाना सॉफ्टवेयर]]
[[Category:लिनक्स कर्नेल द्वारा समर्थित फाइल सिस्टम]]

Latest revision as of 16:30, 7 November 2023

एक्सएफएस
Developer(s)
Full nameएक्सएफएस
Introduced1994; 30 years ago (1994) with IRIX 5.3
Partition identifier
  • एमबीआर: 0x83: लिनक्स संचिका प्रणाली
  • जीपीटी: 0एफसी63डीएएफ-8483-4772-8इ79-3डी69डी8477डीइ4: लिनक्स संचिका प्रणाली [1]
Structures
Directory contentsबी+ ट्री
File allocationबी+ ट्री
Limits
Max. volume sizeएक्सबी बाइट − 1 बाइट
Max. file size8 [[[एक्सबीबाइट]] − 1 बाइट
Max. number of files264[2]
Max. filename length255 बाइट
Allowed characters in filenamesएनयूएलएल और "/" को छोड़कर सभी
Features
Dates recordedएसमय, एमसमय, सीसमय,[3] संस्करण 5: सीआरसमय[4]
Date rangeदिसम्बर 13, 1901 – जुलाई 2, 2486[5]
Date resolution1 एनएस
Attributesहाँ
File system permissionsहाँ
Transparent compressionनहीं
Transparent encryptionनहीं (खंड उपकरण स्तर पर प्रदान किया गया)
Data deduplicationप्रायोगिक, केवल लिनक्स[6]
Other
Supported operating systems

एक्सएफएस 1993 में सिलिकॉन आलेखी, (एसजीआई) द्वारा बनाया गया एक उच्च-प्रदर्शन 64-बिट जर्नलिंग संचिका प्रणाली है।[7] यह एसजीआई के आईआरआईएक्स संचालन प्रणाली में इसके संस्करण 5.3 से प्रारंभ होने वाली स्वतः निर्धारित संचिका प्रणाली थी। एक्सएफएस को 2001 में लिनक्स कर्नेल में पोर्ट किया गया था; जून 2014 तक, एक्सएफएस अधिकांश लिनक्स वितरणों द्वारा समर्थित है; रेड हैट उद्यम लिनक्स इसे अपने स्वतः निर्धारित संचिका प्रणाली के रूप में प्रयोग करता है।

एक्सएफएस अपने प्रारुप के कारण समानांतर इनपुट/आउटपुट (I/O) संचालन के निष्पादन में उत्कृष्टता प्राप्त करता है, जो आवंटन समूहों पर आधारित है (भौतिक खंड का एक प्रकार का उपखंड जिसमें एक्सएफएस का उपयोग किया जाता है- जिसे एजी के लिए भी छोटा किया जाता है)। इस कारण से, एक्सएफएस कई भौतिक भंडारण उपकरणों को विस्तरित करते समय आई/ओ तंतु, संचिका प्रणाली बैंड विस्तार और संचिकाओं के आकार और स्वयं संचिका प्रणाली की अत्यधिक मापनीयता को सक्षम करता है। एक्सएफएस मेटाडेटा जर्नलिंग और लेखन बाधाओं का समर्थन करके डेटा की निरंतरता सुनिश्चित करता है। स्थान आवंटन बी + ट्री में संग्रहीत डेटा संरचनाओं के माध्यम से किया जाता है, संचिका प्रणाली के समग्र प्रदर्शन में सुधार करता है, विशेष रूप से बड़ी संचिकाओं को नियंत्रित करता है। विलंबित आवंटन संचिका प्रणाली विखंडन की रोकथाम में सहायता करता है; ऑनलाइन एकीकरण भी समर्थित है। एक्सएफएस की अद्वितीय विशेषता एक पूर्व-निर्धारित दर पर आई/ओ बैंड विस्तार का पूर्व-आवंटन है; यह कई वास्तविक समय अनुप्रयोगों के लिए उपयुक्त है। हालाँकि, यह सुविधा केवल आईआरआईएक्स पर और केवल विशेष हार्डवेयर के साथ ही समर्थित थी।

इतिहास

सिलिकॉन आलेखी ने 1993 में एक्सएफएस[8] (X को बाद में भरा जाना था परन्तु कभी नहीं भरा जाना था) का विकास प्रारंभ किया।

संचिका प्रणाली मई 1999 में जीएनयू सामान्य जनता अनुज्ञापत्र (GPL) के अंतर्गत जारी किया गया था।[9] एसजीआई में स्टीव लॉर्ड के नेतृत्व में एक समूह ने इसे लिनक्स में पोर्ट किया[10] और लिनक्स वितरण द्वारा पहला समर्थन 2001 में आया। यह समर्थन धीरे-धीरे लगभग सभी लिनक्स वितरणों में उपलब्ध हो गया।[citation needed]

लिनक्स कर्नेल में एक्सएफएस के लिए प्रारंभिक समर्थन एसजीआई से पैच के माध्यम से आया। यह 2.6 श्रृंखला के लिए लिनक्स कर्नेल प्रमुख मार्ग में विलय हो गया और अलग से फरवरी 2004 में संस्करण 2.4.25 में 2.4 श्रृंखला में विलय कर दिया गया,[11] जिससे एक्सएफएस लिनक्स प्रणाली पर लगभग सार्वभौमिक रूप से उपलब्ध हो गया।[12] जेंटू लिनक्स 2002 के मध्य में स्वतः निर्धारित संचिका प्रणाली के रूप में एक्सएफएस के लिए एक विकल्प प्रस्तुत करने वाला पहला लिनक्स वितरण बन गया।[13]

फ्रीबीएसडी ने दिसंबर 2005 में एक्सएफएस के लिए केवल-पढ़ने के लिए समर्थन जोड़ा और जून 2006 में प्रायोगिक लेखन समर्थन प्रस्तुत किया। हालांकि, यह केवल लिनक्स से अभिगमन में सहायता के रूप में अभिप्रेत था, मुख्य संचिका प्रणाली के रूप में नहीं। फ्रीबीएसडी 10 ने एक्सएफएस के लिए समर्थन हटा दिया।[14]

2009 में, 64-बिट रेड हैट उद्यम लिनक्स (RHEL) लिनक्स वितरण के संस्करण 5.4 में एक्सएफएस संचिका प्रणाली के निर्माण और उपयोग के लिए आवश्यक कर्नेल समर्थन सम्मिलित था, परन्तु संबंधित समादेश क्रम उपकरण की कमी थी। सेंटओएस से उपलब्ध उपकरण उस उद्देश्य के लिए कार्य कर सकते थे और रेड हैट ने उन्हें अनुरोध पर आरएचईएल ग्राहकों को भी प्रदान किया।[15] 2010 में जारी आरएचईएल 6.0 में रेड हैट के मापनीय संचिका प्रणाली पूरक के भाग के रूप में शुल्क के लिए एक्सएफएस समर्थन सम्मिलित है।[16] 2011 में जारी दिव्यवक्ता लिनक्स 6 में एक्सएफएस का उपयोग करने का एक विकल्प भी सम्मिलित है।[17]

आरएचईएल 7.0, जून 2014 में जारी किया गया, एक्सएफएस को अपने स्वतः निर्धारित संचिका प्रणाली के रूप में उपयोग करता है,[18] जिसमें /बूट विभाजन के लिए एक्सएफएस का उपयोग करने के लिए समर्थन सम्मिलित है, जो पहले जीआरयूबी बूटलोडर में दोष के कारण व्यावहारिक नहीं था।[19]

लिनक्स कर्नेल 4.8 अगस्त 2016 में एक नई सुविधा, प्रतिलोम प्रतिचित्रण जोड़ा गया। यह नियोजित सुविधाओं के एक बड़े समुच्चय की नींव है: आशुचित्र प्रतिलिपि पर लेखन (COW) डेटा, डेटा प्रेषण, रीलिंक प्रतियां, ऑनलाइन डेटा और मेटाडेटा डेटा मार्जन, डेटा हानि या अनुपयोगी खंडों की अत्यधिक सटीक प्रतिवेदन और क्षतिग्रस्त या दूषित संचिका प्रणाली के पुनर्निर्माण में काफी सुधार हुआ है। इस कार्य के लिए एक्सएफएस के डिस्क स्वरूप में परिवर्तन की आवश्यकता है।[20][21]

लिनक्स कर्नेल 5.10, दिसंबर 2020 में जारी किया गया था, जिसमें पारंपरिक 32-बिट सेकंड गणक के बजाय 64-बिट नैनोसेकंड गणक के रूप में इनोड टाइमस्टैम्प को संग्रहीत करने के लिए बिगटाइम प्रस्तुत किया गया था। यह पिछले वर्ष 2038 की समस्या को वर्ष 2486 तक के लिए स्थगित कर देता है।[5]


विशेषताएं

क्षमता

एक्सएफएस एक 64-बिट संचिका प्रणाली है[22] और 8 एक्सबिबाइट न्यूनतम एक बाइट (263 − 1 बाइट) के अधिकतम संचिका प्रणाली आकार का समर्थन करता है, परन्तु होस्ट संचालन प्रणाली द्वारा लगाई गई सीमाएं इस सीमा को कम कर सकती हैं। 32-बिट लिनक्स प्रणाली संचिका और संचिका प्रणाली दोनों के आकार को 16 टेबीबाइट तक सीमित करता है।

जर्नलिंग

आधुनिक अभिकलन में, जर्नलिंग एक क्षमता है जो किसी भी ऊर्जा कटौती या प्रणाली नष्ट होने के बावजूद संचिका प्रणाली में डेटा की निरंतरता सुनिश्चित करती है। एक्सएफएस संचिका प्रणाली मेटाडेटा के लिए जर्नलिंग प्रदान करता है, जहां वास्तविक डिस्क खंड अपडेट होने से पहले संचिका प्रणाली अपडेट पूर्व आनुक्रमिक जर्नल में लिखे जाते हैं। जर्नल डिस्क खंड का एक गोलाकार अवरोध है जिसे सामान्य संचिका प्रणाली संचालन में नहीं पढ़ा जाता है।

एक्सएफएस जर्नल को संचिका प्रणाली के डेटा अनुभाग (आंतरिक लॉग के रूप में), या डिस्क विवाद को कम करने के लिए एक भिन्न उपकरण पर संग्रहीत किया जा सकता है।

एक्सएफएस में, जर्नल में मुख्य रूप से ऐसी प्रविष्टियाँ होती हैं जो संचिका प्रणाली संचालन द्वारा परिवर्तित किये गए डिस्क खंड के भागों का वर्णन करती हैं। प्रदर्शन की गति में कमी से बचने के लिए जर्नल अपडेट अतुल्यकालिक रूप से किए जाते हैं।

प्रणाली नष्ट होने की स्थिति में, नष्ट से ठीक पहले हुई संचिका प्रणाली संचालन को फिर से अनुप्रयुक्त किया जा सकता है और जर्नल में अंकित किए गए अनुसार पूर्ण किया जा सकता है, इस तरह एक्सएफएस संचिका प्रणाली में संग्रहीत डेटा संगत रहता है। नष्ट के बाद संचिका प्रणाली को पहली बार आरोहित करने पर पुनर्प्राप्ति स्वचालित रूप से की जाती है। पुनर्प्राप्ति की गति संचिका प्रणाली के आकार से स्वतंत्र है, इसके बजाय संचिका प्रणाली संचालन की मात्रा के आधार पर पुन: अनुप्रयुक्त किया जाना है।

आवंटन समूह

एक्सएफएस संचिका प्रणाली आंतरिक रूप से आवंटन समूहों में विभाजित होते हैं, जो संचिका प्रणाली के भीतर समान आकार के रैखिक क्षेत्र होते हैं। संचिकाएँ और निर्देशिकाएँ आवंटन समूहों को विस्तार कर सकती हैं। प्रत्येक आवंटन समूह अपने स्वयं के इनोड और मुक्त स्थान को अलग से प्रबंधित करता है, मापनीयता और समानता प्रदान करता है इसलिए अनेक क्रम और प्रक्रियाएं एक ही संचिका प्रणाली पर एक साथ आई/ओ संचालन कर सकती हैं।

यह वास्तुकला कई संसाधक और/या कोर वाली प्रणाली पर समानांतर आई/ओ प्रदर्शन को अनुकूलित करने में सहायता करता है, क्योंकि मेटाडेटा अपडेट को भी समानांतर किया जा सकता है। आवंटन समूहों द्वारा प्रदान किया गया आंतरिक विभाजन विशेष रूप से लाभकारी हो सकता है जब संचिका प्रणाली कई भौतिक उपकरणों का विस्तार करती है, अंतर्निहित भंडारण घटकों के साद्यांत के इष्टतम उपयोग की अनुमति देता है।

रेखित आवंटन

यदि एक रेखित रैड सरणी पर एक एक्सएफएस संचिका प्रणाली बनाया जाना है, तो संचिका प्रणाली बनाते समय एक पट्ट इकाई निर्दिष्ट की जा सकती है। यह सुनिश्चित करके साद्यांत को अधिकतम करता है कि डेटा आवंटन, इनोड आवंटन और आंतरिक लॉग (जर्नल) पट्ट इकाई के साथ संरेखित हैं।

विस्तार आधारित आवंटन

एक्सएफएस संचिका प्रणाली पर संग्रहीत संचिकाओं में उपयोग किए जाने वाले खंड को चर लंबाई विस्तार के साथ प्रबंधित किया जाता है, जहां एक सीमा एक या अधिक सन्निहित खंडों का वर्णन करती है। यह संचिका प्रणाली की तुलना में खंड की सूची को काफी छोटा कर सकता है, जो संचिका द्वारा व्यक्तिगत रूप से उपयोग किए जाने वाले सभी खंडों को सूचीबद्ध करता है।

खंड-अभिविन्यस्त संचिका प्रणाली एक या अधिक खंड-अभिविन्यस्त बीत प्रतिचित्र के साथ स्थान आवंटन का प्रबंधन करता है; एक्सएफएस में, इन संरचनाओं को प्रत्येक संचिका प्रणाली आबंटन समूह के लिए बी+ ट्री के एक युग्म से युक्त एक सीमा उन्मुख संरचना के साथ प्रतिस्थापित किया जाता है। बी+ ट्री में से एक को मुक्त विस्तार की लंबाई से अनुक्रमित किया जाता है, जबकि दूसरे को मुक्त विस्तार के प्रारंभिक खंड द्वारा अनुक्रमित किया जाता है। यह दोहरी अनुक्रमणिका योजना संचिका प्रणाली संचालन के लिए मुक्त विस्तार के अत्यधिक कुशल आवंटन की अनुमति देती है।

परिवर्तनीय खंड आकार

संचिका प्रणाली खंड आकार न्यूनतम आवंटन इकाई का प्रतिनिधित्व करता है। एक्सएफएस संचिका प्रणाली को 512 बाइट और 64 केबी के मध्य के खंड आकार के साथ बनाने की अनुमति देता है, जिससे संचिका प्रणाली को उपयोग की अपेक्षित डिग्री के लिए समायोजित किया जा सकता है। जब कई छोटी संचिकाओं की अपेक्षा की जाती है, तो एक छोटा खंड आकार सामान्यतः क्षमता को अधिकतम करता है, परन्तु मुख्य रूप से बड़ी संचिकाओं से व्यवहार वाली प्रणालियों के लिए, एक बड़ा खंड आकार प्रदर्शन दक्षता लाभ प्रदान कर सकता है।

विलंबित आवंटन

एक्सएफएस संचिका आवंटन के लिए अनुयोगी मूल्यांकन प्रविधियों का उपयोग करता है। जब संचिका को अवरोध कैश में लिखा जाता है, तो डेटा के लिए विस्तार आवंटित करने के बजाय, एक्सएफएस मेमोरी में रखे डेटा के लिए उचित संख्या में संचिका प्रणाली खंड को सुरक्षित रखता है। वास्तविक खंड आवंटन तभी होता है जब डेटा अंत में डिस्क में परिपूर्ण हो जाता है। इससे इस संभावना में सुधार होता है कि संचिका खंड के एक सन्निहित समूह में लिखी जाएगी, विखंडन की समस्याओं को कम करेगी और प्रदर्शन को बढ़ाएगी।

अपर्याप्त संचिका

एक्सएफएस प्रत्येक संचिका के लिए एक 64-बिट विरल पता स्थान प्रदान करता है, जो बहुत बड़े संचिका आकारों और संचिकाओं के भीतर छिद्रों के लिए अनुमति देता है जिसमें कोई डिस्क स्थान आवंटित नहीं किया जाता है। चूंकि संचिका प्रणाली प्रत्येक संचिका के लिए एक सीमा मानचित्र का उपयोग करता है, इसलिए संचिका आवंटन मानचित्र का आकार छोटा रखा जाता है। जहां आबंटन मानचित्र का आकार इनोड के भीतर संग्रहीत करने के लिए बहुत बड़ा है, मानचित्र को बी+ ट्री में ले जाया जाता है जो संचिका के लिए प्रदान किए गए 64-बिट पता स्थान में कहीं भी डेटा तक त्वरित अभिगम की अनुमति देता है।

विस्तारित गुण

एक्सएफएस संचिकाओं के लिए कई डेटा वर्ग प्रदान करता है; यह विस्तारित विशेषताओं के कार्यान्वयन से संभव हुआ है। ये संचिका से जुड़े कई नाम/मूल्य जोड़े के भंडारण की अनुमति देते हैं। नाम शून्य-समाप्त मुद्रणीय योग्य वर्ण श्रृंखला हैं जिनकी लंबाई 256 बाइट तक होती है, जबकि उनसे संबद्ध मानों में 64 किलोबाइट तक द्वि आधारी डेटा हो सकता है।

उन्हें आगे दो नामस्थानों: रूट और उपयोक्‍ता में विभाजित किया गया है। रूट नामस्थानों में संग्रहीत विस्तारित विशेषताओं को केवल सर्वोच्च प्रयोक्ता द्वारा संशोधित किया जा सकता है, जबकि प्रयोक्ता नामस्थानों में विशेषताओं को किसी भी उपयोगकर्ता द्वारा संचिका में लिखने की अनुमति के साथ संशोधित किया जा सकता है।

विस्तारित विशेषताओं को किसी भी प्रकार के एक्सएफएस इनोड से जोड़ा जा सकता है, जिसमें प्रतीकात्मक लिंक, उपकरण नोड, निर्देशिकाएं आदि सम्मिलित हैं। एटीटीआर उपयोगिता का उपयोग समादेश क्रम से विस्तारित विशेषताओं में क्रमभंग करने के लिए किया जा सकता है और एक्सएफएसडंप और एक्सएफएस पुनःस्थापन उपयोगिताओं को विस्तारित विशेषताओं के विषय में ज्ञात है और उनकी सामग्री का बैक अप और पुनर्स्थापित करेगा। अधिकांश अन्य पूर्तिकर प्रणाली विस्तारित विशेषताओं के साथ कार्य करने का समर्थन नहीं करते हैं।

प्रत्यक्ष आई/ओ

डिस्क के लिए उच्च साद्यांत की आवश्यकता वाले अनुप्रयोगों के लिए, एक्सएफएस एक प्रत्यक्ष आई/ओ कार्यान्वयन प्रदान करता है जो गैर-कैश आई/ओ संचालन को सीधे उपयोक्ता स्थान पर अनुप्रयुक्त करने की अनुमति देता है। डेटा को एप्लिकेशन के अवरोध और डीएमए का उपयोग कर डिस्क के मध्य स्थानांतरित किया जाता है, जो अंतर्निहित डिस्क उपकरणों के पूर्ण आई/ओ बैंड विस्तार तक अभिगम की अनुमति देता है।

गारंटीकृत-दर आई/ओ

एक्सएफएस गारंटीकृत-दर आई/ओ प्रणाली एक एपीआई प्रदान करता है जो एप्लिकेशन को संचिका प्रणाली के लिए बैंड विस्तार आरक्षित करने की अनुमति देता है। एक्सएफएस गतिशील रूप से अंतर्निहित भंडारण उपकरणों से उपलब्ध प्रदर्शन की गणना करता है और निर्दिष्ट समय के लिए अनुरोधित प्रदर्शन को पूर्ण करने के लिए पर्याप्त बैंड विस्तार आरक्षित करेगा। यह एक्सएफएस संचिका प्रणाली के लिए एक अद्वितीय विशेषता है। गारंटीकृत दरें "कठोर" या "नरम" हो सकती हैं, जो विश्वसनीयता और प्रदर्शन के मध्य दुविधा का प्रतिनिधित्व करती हैं; हालाँकि, एक्सएफएस केवल कठोर गारंटीकृत की अनुमति देगा यदि अंतर्निहित भंडारण उप-प्रणाली इसका समर्थन करता है। इस सुविधा का उपयोग ज्यादातर वास्तविक समय के अनुप्रयोगों, जैसे कि वीडियो स्ट्रीमिंग के लिए किया जाता है।

गारंटीकृत-दर आई/ओ केवल आईआरआईएक्स के अंतर्गत समर्थित था और उस उद्देश्य के लिए विशेष हार्डवेयर की आवश्यकता थी।[23]


डीएमएपीआई

एक्सएफएस ने आईआरआईएक्स में पदानुक्रमित संग्रहण प्रबंधन का समर्थन करने के लिए डीएमएपीआई अंतरपृष्‍ठ अनुप्रयुक्त किया। अक्टूबर 2010 तक, एक्सएफएस के लिनक्स कार्यान्वयन ने डीएमएपीआई कार्यान्वयन के लिए आवश्यक डिस्क मेटाडेटा का समर्थन किया, परन्तु कर्नेल समर्थन यथेष्टतया प्रयोग करने योग्य नहीं था। कुछ समय के लिए, एसजीआई ने एक कर्नेल ट्री की मेजबानी की, जिसमें डीएमएपीआई हुक सम्मिलित थे, परन्तु इस समर्थन को पर्याप्त रूप से बनाए नहीं रखा गया है, हालांकि कर्नेल विकासक ने इस समर्थन को अद्यतित करने का उद्देश्य बताया है।[24]


आशुचित्र

एक्सएफएस अभी तक[25] आशुचित्र के लिए प्रत्यक्ष समर्थन प्रदान नहीं करता है, क्योंकि यह वर्तमान में खंड प्रबंधक द्वारा आशुचित्र प्रक्रिया को अनुप्रयुक्त करने की अपेक्षा करता है। एक्सएफएस संचिका प्रणाली का आशुचित्र लेने में एक्सएफएस_फ्रीज़ उपयोगिता का करके संचिका प्रणाली में आई/ओ को अस्थायी रूप से रोकना सम्मिलित है, खंड प्रबंधक होने से वास्तविक आशुचित्र निष्पादित होता है और उसके बाद सामान्य संचालन जारी रखने के लिए आई/ओ को पुनः प्रारंभ करना है। आशुचित्रों को पूर्तिकर उद्देश्यों के लिए केवल पढ़ने के लिए जुड़ा हुआ किया जा सकता है।

आईआरआईएक्स में एक्सएफएस के विमोचन में एक्सएलवी नामक एक एकीकृत मात्रा प्रबंधक सम्मिलित है। यह खंड प्रबंधक को लिनक्स में पोर्ट नहीं किया गया है और एक्सएफएस इसके बजाय लिनक्स प्रणाली में मानक एलवीएम के साथ कार्य करता है।

हाल के लिनक्स कर्नेल में, एक्सएफएस_फ्रीज़ कार्यक्षमता वीएफएस परत में कार्यान्वित की जाती है और खंड प्रबंधक की आशुचित्र कार्यक्षमता अनुप्रयुक्त होने पर स्वचालित रूप से निष्पादित होती है। यह एक बार एक मूल्यवान लाभ था क्योंकि इएक्सटी3 संचिका प्रणाली को निलंबित नहीं किया जा सकता था[26] और खंड प्रबंधक अत्यधिक व्यस्त डेटाबेस का बैक अप लेने के लिए लगातार हॉट आशुचित्र बनाने में असमर्थ था।[27] सौभाग्य से अब ऐसा नहीं है। लिनक्स 2.6.29 के बाद से, संचिका प्रणाली इएक्सटी3, इएक्सटी4, जीएफएस2 और जेएफएस में फ्रीज सुविधा भी है।[28]


ऑनलाइन एकीकरण

हालांकि एक्सएफएस की सीमा-आधारित प्रकृति और इसके द्वारा उपयोग की जाने वाली विलंबित आवंटन रणनीति विखंडन की समस्याओं के लिए संचिका प्रणाली के प्रतिरोध में काफी सुधार करती है, एक्सएफएस एक संचिकाप्रणाली एकीकरण उपयोगिता एक्सएफएस_एफएसआर, एक्सएफएस संचिका प्रणाली पुनर्संगठनकर्ता के लिए संक्षिप्त) जो जुड़ा हुआ और सक्रिय एक्सएफएस संचिका प्रणाली पर संचिकाओं को एकीकृत कर सकता है।[29]


ऑनलाइन विकास

एक्सएफएस, एक्सएफएस संचिका प्रणाली का ऑनलाइन विस्तार करने के लिए एक्सएफएस_ग्रोएफएस उपयोगिता प्रदान करता है। एक्सएफएस संचिका प्रणाली को तब तक विकसित किया जा सकता है जब तक कि संचिका प्रणाली को रखने वाले उपकरणो पर रिक्त स्थान शेष हो। यह सुविधा सामान्यतः खंड प्रबंधन के संयोजन के साथ प्रयोग की जाती है, अन्यथा संचिका प्रणाली को धारण करने वाले विभाजन को अलग से विस्तार करने की आवश्यकता होगी।

हानि

  • एक्सएफएस संचिका प्रणाली को (जुलाई 2022 तक) स्थान में छोटा नहीं किया जा सकता है,[30] हालांकि कई संभावित समाधानों पर चर्चा की गई है।[31]
  • एक्सएफएस में मेटाडेटा संचालन बाद में अनुप्रयुक्त किए गए जर्नलिंग संचिका प्रणाली की तुलना में मंद था और बहुत बड़े लॉग के साथ कार्य करने के लिए रूपांकित किया गया था, उदाहरण के लिए, बड़ी संख्या में संचिकाओं को हटाने जैसे संचालन के साथ धीमा प्रदर्शन है। हालाँकि, जॉन नेल्सन द्वारा अनुप्रयुक्त की गई एक नई एक्सएफएस सुविधा और विलंबित संलेखन कहा जाता है, जो लिनक्स कर्नेल प्रमुख मार्ग के संस्करण 2.6.39 के बाद से उपलब्ध है, इसे हल करने के लिए कहा जाता है;[32] 2010 में विकासक द्वारा किए गए प्रदर्शन मानदण्ड ने प्रदर्शन स्तर को निम्न क्रम गणना पर इएक्सटी4 के समान और उच्च क्रम गणना पर श्रेष्ठतर दर्शाया गया।[33]
  • जर्नलिंग अक्षम नहीं की जा सकती। हालाँकि, एक्सएफएस इसके बजाय एक भिन्न खंड उपकरण पर बाह्य जर्नल को लिख सकता है।[34]


यह भी देखें

संदर्भ

  1. "GPT fdisk - ArchWiki".
  2. "What is the maximum number of inodes in Linux filesystems?". 2014-06-17.
  3. "XFS Filesystem Structure 2nd Edition, Revision 1" (PDF). p. 25. Archived from the original (PDF) on 2017-10-31.
  4. "ondisk_inode.asciidoc\XFS_Filesystem_Structure\design - xfs/xfs-documentation.git - XFS AsciiDoc Documentation tree". git.kernel.org.
  5. 5.0 5.1 Darrick J. Wong (2020-08-10). "xfs: widen timestamps to deal with y2038".
  6. "Duperemove". GitHub. Archived from the original on 6 March 2016. Retrieved 21 August 2016.
  7. "xFS: The Extension of EFS - "x" for To-be-Determined (but the Name Stuck)". XFS.org. Archived from the original on 2014-07-14.
  8. Smith, Roderick W. (2007). Linux Administrator Street Smarts: A Real World Guide to Linux Certification Skills. Street smarts series. John Wiley & Sons. p. 204. ISBN 9780470116746. Archived from the original on 2016-08-21. Retrieved 2016-03-21. Silicon Graphics (SGI) created its Extents File System (XFS) for its IRIX OS and [...] later donated the code to Linux.
  9. "SGI ओपन-सोर्सिंग XFS". slashdot.org. 1999-05-19. Retrieved 2023-04-12.{{cite web}}: CS1 maint: url-status (link)
  10. "XFS को Linux में पोर्ट करना". Olstrans.SourceForge.net. 2000-07-21. Archived from the original on 2013-02-25. Retrieved 2013-04-29.
  11. "Linux kernel 2.4.25 changelog". kernel.org. 2004-02-18. Archived from the original on 2014-08-19. Retrieved 2014-08-14.
  12. Daniel Robbins (January 1, 2002). "Common threads: Advanced filesystem implementor's guide, Part 9, Introducing XFS". Developer Works. IBM. Archived from the original on September 4, 2015. Retrieved November 6, 2011.
  13. Daniel Robbins (April 1, 2002). "Common threads: Advanced filesystem implementor's guide, Part 10, Deploying XFS". Developer Works. IBM. Archived from the original on December 24, 2011. Retrieved November 6, 2011.
  14. "Has FreeBSD 10 Dropped Support For XFS?". Lists.freebsd.org. 2013-10-27. Archived from the original on 2014-03-30. Retrieved 2014-03-30.
  15. "Bug 521173 -xfsprogs is missing in RHEL-5.4". RedHat.com. May 24, 2010. Archived from the original on July 10, 2012. Retrieved November 6, 2011.
  16. "Red Hat Enterprise Linux स्केलेबल फ़ाइल सिस्टम ऐड-ऑन". RedHat.com. Archived from the original on 2014-05-29. Retrieved 2014-05-22.
  17. "Oracle Linux 6 Release Notes". Oracle Corporation. February 2011. Archived from the original on 2012-03-28. Retrieved 2013-04-07. Oracle Linux 6 includes many new features, including [...] XFS [:] Oracle Linux 6 includes XFS as an optional filesystem.
  18. "Red Hat Unveils Red Hat Enterprise Linux 7, Redefining the Enterprise Operating System". Red Hat. 2014-06-10. Archived from the original on 2014-06-13. Retrieved 2014-06-10.
  19. "Bug 250843 -grub-install hangs on xfs". Redhat.com. May 4, 2009. Archived from the original on July 10, 2012. Retrieved November 6, 2011.
  20. "kernel/git/torvalds/linux.git - Linux kernel source tree". git.kernel.org.
  21. "Linux_4.8 - Linux Kernel Newbies". Archived from the original on 2018-10-19. Retrieved 2018-10-19.
  22. "एक्सएफएस अवलोकन". Silicon Graphics International Corp. 2013-07-02. Archived from the original on 2013-06-06. Retrieved 2013-07-02.
  23. John Nelson (July 30, 2012). "Re: Re: realtime section bugs still around". XFS mailing list (Mailing list). SGI. Archived from the original on April 14, 2014. Retrieved April 13, 2014.
  24. Christoph Hellwig (October 3, 2010). "Re: Linux and DMAPI". XFS mailing list (Mailing list). SGI. Archived from the original on September 27, 2011. Retrieved November 6, 2011.
  25. "XFS: There and back ... and there again? [LWN.net]". lwn.net. Archived from the original on 2016-10-27. Retrieved 2016-10-27.
  26. "How to freeze ext3 file system". www.linuxquestions.org. Archived from the original on 2011-04-28. Retrieved 2011-08-24.
  27. "LVM snapshots: How to use?". www.linuxquestions.org. Archived from the original on 2011-01-17. Retrieved 2010-04-17.
  28. "kernel/git/torvalds/linux.git - Linux kernel source tree". git.kernel.org.
  29. Bitubique.com Archived April 1, 2009, at the Wayback Machine
  30. XFS.org Archived 2009-01-05 at the Wayback Machine, FAQ
  31. Eric Sandeen (Jan 18, 2002). "Re: Shrink an XFS filesystem? (LVM)". XFS mailing list (Mailing list). SGI. Archived from the original on 2016-02-03.
  32. Nelson, John (December 23, 2010). "जर्नल ओवरहेड को कम करके मेटाडेटा प्रदर्शन में सुधार". XFS.org wiki. Archived from the original on October 6, 2011. Retrieved November 6, 2011.
  33. Nelson, John (May 24, 2010). "Re: PATCH 0/12 xfs: delayed logging V6". XFS Mailing List Message (Mailing list). Archived from the original on December 5, 2011. Retrieved November 6, 2011.
  34. "बाहरी एक्सएफएस पत्रिकाओं के बारे में". oracle.com. Retrieved 16 November 2022.


अग्रिम पठन


बाहरी संबंध