एक्सएफएस: 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
Line 58: Line 58:
}}
}}


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]] इसे अपने तयशुदा फ़ाइल तंत्र के रूप में प्रयोग करता है.
एक्सएफएस एक उच्च-प्रदर्शन [[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 से प्रारंभ होने वाली डिफ़ॉल्ट संचिका प्रणाली थी। एक्सएफएस को 2001 में लिनक्स कर्नेल में पोर्ट किया गया था; जून 2014 तक, एक्सएफएस अधिकांश [[लिनक्स वितरण]]ों द्वारा समर्थित है; [[Red Hat Enterprise Linux|Red Hat Enterprise लिनक्स]] इसे अपने तयशुदा संचिका तंत्र के रूप में प्रयोग करता है.


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


== इतिहास ==
== इतिहास ==
[[सिलिकॉन ग्राफिक्स]] ने एक्सएफएस का विकास शुरू किया<ref>{{cite book
[[सिलिकॉन ग्राफिक्स]] ने एक्सएफएस का विकास प्रारंभ किया<ref>{{cite book
  |last1            = Smith
  |last1            = Smith
  |first1          = Roderick W.
  |first1          = Roderick W.
Line 80: Line 80:
}}</ref> (X को बाद में भरना था लेकिन कभी नहीं) 1993 में।
}}</ref> (X को बाद में भरना था लेकिन कभी नहीं) 1993 में।


फाइल सिस्टम मई 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 में [[जीएनयू जनरल पब्लिक लाइसेंस]] (जीपीएल) के तहत जारी किया गया था।<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 में स्टीव लॉर्ड के नेतृत्व में एक टीम ने इसे लिनक्स में पोर्ट किया,<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}}


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>
लिनक्स कर्नेल में एक्सएफएस के लिए प्रारंभिक समर्थन 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> लिनक्स प्रणाली पर एक्सएफएस को लगभग सार्वभौमिक रूप से उपलब्ध कराना।<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|Gentoo लिनक्स]] 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>
[[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-बिट 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
2009 में, 64-बिट Red Hat Enterprise लिनक्स (RHEL) लिनक्स वितरण के संस्करण 5.4 में एक्सएफएस संचिका प्रणाली के निर्माण और उपयोग के लिए आवश्यक कर्नेल समर्थन सम्मिलित था, लेकिन संबंधित कमांड लाइन उपकरण की कमी थी। [[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 के स्केलेबल संचिका प्रणाली ऐड-ऑन के हिस्से के रूप में शुल्क के लिए एक्सएफएस समर्थन सम्मिलित है।<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|Oracle लिनक्स]] 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 95:
  |url-status  = live
  |url-status  = live
}}</ref>
}}</ref>
RHEL 7.0, जून 2014 में जारी किया गया, XFS को अपने डिफ़ॉल्ट फ़ाइल सिस्टम के रूप में उपयोग करता है,<ref>{{cite web
RHEL 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>/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>
लिनक्स कर्नेल 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>
लिनक्स कर्नेल 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"/>
लिनक्स कर्नेल 5.10, दिसंबर 2020 में जारी किया गया था, जिसमें पारंपरिक 32-बिट सेकंड प्रत्युत्तर के बजाय 64-बिट नैनोसेकंड प्रत्युत्तर के रूप में इनोड टाइमस्टैम्प को स्टोर करने के लिए बिगटाइम प्रस्तुत किया गया था। यह पिछले [[वर्ष 2038 की समस्या]] को वर्ष 2486 तक के लिए स्थगित कर देता है।<ref name="bigtime"/>




Line 112: Line 112:


=== क्षमता ===
=== क्षमता ===
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 [[exbibit]] माइनस एक बाइट के अधिकतम संचिका प्रणाली आकार का समर्थन करता है (2<sup>63</sup> − 1 बाइट्स), लेकिन होस्ट संचालन प्रणाली द्वारा लगाई गई सीमाएं इस सीमा को कम कर सकती हैं। [[32-बिट]] लिनक्स प्रणाली संचिका और संचिका प्रणाली दोनों के आकार को 16 [[ tebibite ]]्स तक सीमित करता है।


=== जर्नलिंग ===
=== जर्नलिंग ===
{{Details|Journaling file system}}
{{Details|Journaling file system}}


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


गारंटी-दर 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>
गारंटी-दर 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>
Line 166: Line 166:


=== [[डीएमएपीआई]] ===
=== [[डीएमएपीआई]] ===
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>
एक्सएफएस ने 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>




=== स्नैपशॉट ===
=== स्नैपशॉट ===
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> स्नैपशॉट के लिए प्रत्यक्ष समर्थन प्रदान करें, क्योंकि यह वर्तमान में वॉल्यूम मैनेजर द्वारा स्नैपशॉट प्रक्रिया को अनुप्रयुक्त करने की अपेक्षा करता है। एक्सएफएस संचिका प्रणाली का स्नैपशॉट लेने से संचिका प्रणाली में I/O को अस्थायी रूप से रोकना सम्मिलित है <code>एक्सएफएस_freeze</code> उपयोगिता, वॉल्यूम प्रबंधक होने से वास्तविक स्नैपशॉट निष्पादित होता है, और उसके बाद सामान्य संचालन जारी रखने के लिए I/O को फिर से प्रारंभ करना। स्नैपशॉट को बैकअप उद्देश्यों के लिए केवल पढ़ने के लिए माउंट किया जा सकता है।


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


हाल के लिनक्स कर्नेल में, <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>एक्सएफएस_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> सौभाग्य से अब ऐसा नहीं है। लिनक्स 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>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>एक्सएफएस_fsr</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>एक्सएफएस_growfs</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>
* एक्सएफएस संचिकाप्रणाली नहीं कर सकता ({{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>
* 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 में विकासक द्वारा किए गए प्रदर्शन बेंचमार्क ने प्रदर्शन स्तर को कम थ्रेड काउंट पर 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>
* जर्नलिंग अक्षम नहीं की जा सकती। हालाँकि, 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 201:


==अग्रिम पठन==
==अग्रिम पठन==
* [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}}
{{File systems}}

Revision as of 21:51, 13 June 2023

XFS
Developer(s)
Full nameXFS
Introduced1994; 30 years ago (1994) with IRIX 5.3
Partition identifier
  • MBR: 0x83: Linux filesystem
  • GPT: 0FC63DAF-8483-4772-8E79-3D69D8477DE4: Linux filesystem[1]
Structures
Directory contentsB+ trees
File allocationB+ trees
Limits
Max. volume sizeexbibytes − 1 byte
Max. file sizeexbibytes − 1 byte
Max. number of files264[2]
Max. filename length255 bytes
Allowed characters in filenamesAll except NULL and "/"
Features
Dates recordedatime, mtime, ctime,[3] version 5: crtime[4]
Date rangeDecember 13, 1901 – July 2, 2486[5]
Date resolution1 ns
AttributesYes
File system permissionsYes
Transparent compressionNo
Transparent encryptionNo (provided at the block device level)
Data deduplicationExperimental, Linux only[6]
Other
Supported operating systems

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

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

इतिहास

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

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

लिनक्स कर्नेल में एक्सएफएस के लिए प्रारंभिक समर्थन SGI से पैच (कंप्यूटिंग) के माध्यम से आया। यह 2.6 श्रृंखला के लिए लिनक्स कर्नेल मेनलाइन में विलय हो गया, और फरवरी 2004 में अलग से 2.4 श्रृंखला संस्करण 2.4.25 में विलय कर दिया गया,[11] लिनक्स प्रणाली पर एक्सएफएस को लगभग सार्वभौमिक रूप से उपलब्ध कराना।[12] Gentoo लिनक्स 2002 के मध्य में डिफ़ॉल्ट संचिका प्रणाली के रूप में एक्सएफएस के लिए एक विकल्प प्रस्तुत करने वाला पहला लिनक्स वितरण बन गया।[13] FreeBSD ने दिसंबर 2005 में एक्सएफएस के लिए संचिका प्रणाली अनुमतियाँ | केवल-पढ़ने के लिए समर्थन जोड़ा और जून 2006 में प्रायोगिक लेखन समर्थन प्रस्तुत किया। हालांकि, यह केवल लिनक्स से माइग्रेशन में सहायता के रूप में अभिप्रेत था, मुख्य संचिका प्रणाली के रूप में नहीं। FreeBSD 10 ने एक्सएफएस के लिए समर्थन हटा दिया।[14] 2009 में, 64-बिट Red Hat Enterprise लिनक्स (RHEL) लिनक्स वितरण के संस्करण 5.4 में एक्सएफएस संचिका प्रणाली के निर्माण और उपयोग के लिए आवश्यक कर्नेल समर्थन सम्मिलित था, लेकिन संबंधित कमांड लाइन उपकरण की कमी थी। CentOS से उपलब्ध उपकरण उस उद्देश्य के लिए कार्य कर सकते थे, और Red Hat ने उन्हें अनुरोध पर RHEL ग्राहकों को भी प्रदान किया।[15] RHEL 6.0, 2010 में जारी किया गया, जिसमें Red Hat के स्केलेबल संचिका प्रणाली ऐड-ऑन के हिस्से के रूप में शुल्क के लिए एक्सएफएस समर्थन सम्मिलित है।[16] 2011 में जारी Oracle लिनक्स 6 में एक्सएफएस का उपयोग करने का एक विकल्प भी सम्मिलित है।[17] RHEL 7.0, जून 2014 में जारी किया गया, एक्सएफएस को अपने डिफ़ॉल्ट संचिका प्रणाली के रूप में उपयोग करता है,[18] के लिए एक्सएफएस का उपयोग करने के लिए समर्थन सहित /boot विभाजन, जो पहले GRUB बूटलोडर में बग के कारण व्यावहारिक नहीं था।[19] लिनक्स कर्नेल 4.8 अगस्त 2016 में एक नई सुविधा, रिवर्स मैपिंग जोड़ा गया। यह नियोजित सुविधाओं के एक बड़े समुच्चय की नींव है: स्नैपशॉट (कंप्यूटर भंडारण) , लिखने पर नकल (COW) डेटा, डेटा डुप्लिकेशन, रीलिंक कॉपी, ऑनलाइन डेटा और मेटाडेटा डेटा स्क्रबिंग, डेटा हानि या खराब क्षेत्रों की अत्यधिक सटीक रिपोर्टिंग , और क्षतिग्रस्त या दूषित संचिका प्रणाली के पुनर्निर्माण में काफी सुधार हुआ है। इस कार्य के लिए एक्सएफएस के ऑन-डिस्क स्वरूप में परिवर्तन की आवश्यकता है।[20][21] लिनक्स कर्नेल 5.10, दिसंबर 2020 में जारी किया गया था, जिसमें पारंपरिक 32-बिट सेकंड प्रत्युत्तर के बजाय 64-बिट नैनोसेकंड प्रत्युत्तर के रूप में इनोड टाइमस्टैम्प को स्टोर करने के लिए बिगटाइम प्रस्तुत किया गया था। यह पिछले वर्ष 2038 की समस्या को वर्ष 2486 तक के लिए स्थगित कर देता है।[5]


विशेषताएं

क्षमता

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

जर्नलिंग

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

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

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

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

आवंटन समूह

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

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

धारीदार आवंटन

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

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

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

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

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

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

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

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

विरल संचिकाें

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

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

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

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

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

प्रत्यक्ष I/O

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

गारंटी-दर I/O

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

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


डीएमएपीआई

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


स्नैपशॉट

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

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

हाल के लिनक्स कर्नेल में, एक्सएफएस_freeze कार्यक्षमता VFS परत में कार्यान्वित की जाती है, और वॉल्यूम मैनेजर की स्नैपशॉट कार्यक्षमता अनुप्रयुक्त होने पर स्वचालित रूप से निष्पादित होती है। यह एक बार एक मूल्यवान लाभ था क्योंकि ext3 संचिका प्रणाली को निलंबित नहीं किया जा सकता था[26] और वॉल्यूम प्रबंधक अत्यधिक व्यस्त डेटाबेस का बैक अप लेने के लिए लगातार हॉट स्नैपशॉट बनाने में असमर्थ था।[27] सौभाग्य से अब ऐसा नहीं है। लिनक्स 2.6.29 के बाद से, संचिका प्रणाली ext3, ext4, GFS2 और JFS (संचिका प्रणाली) में फ्रीज सुविधा भी है।[28]


ऑनलाइन डीफ़्रेग्मेंटेशन

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


ऑनलाइन विकास

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

नुकसान

  • एक्सएफएस संचिकाप्रणाली नहीं कर सकता (as of July 2022) जगह में सिकुड़ जाना,[30] हालांकि कई संभावित समाधानों पर चर्चा की गई है।[31]
  • एक्सएफएस में मेटाडेटा संचालन बाद में अनुप्रयुक्त किए गए जर्नलिंग संचिका प्रणाली की तुलना में धीमा था और बहुत बड़े लॉग के साथ कार्य करने के लिए डिज़ाइन किया गया था, उदाहरण के लिए, बड़ी संख्या में संचिकाों को हटाने जैसे संचालन के साथ धीमा प्रदर्शन। हालाँकि, जॉन नेल्सन द्वारा अनुप्रयुक्त की गई एक नई एक्सएफएस सुविधा और विलंबित लॉगिंग कहा जाता है, जो लिनक्स कर्नेल मेनलाइन के संस्करण 2.6.39 के बाद से उपलब्ध है, इसे हल करने के लिए कहा जाता है;[32] 2010 में विकासक द्वारा किए गए प्रदर्शन बेंचमार्क ने प्रदर्शन स्तर को कम थ्रेड काउंट पर ext4 के समान और उच्च थ्रेड काउंट पर बेहतर होने का खुलासा किया।[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.


अग्रिम पठन


बाहरी संबंध