ZFS बनाम XFS


62

हम एक ~ 16TB स्टोरेज सर्वर बनाने पर विचार कर रहे हैं। फिलहाल, हम ZFS और XFS दोनों को फाइलसिस्टम के रूप में मान रहे हैं। फायदे, नुकसान क्या हैं? हमें क्या देखना है? क्या कोई तीसरा, बेहतर विकल्प है?


7
उनकी तुलना भी न करें। ZFS एक आधुनिक एंटरप्राइज़-स्तरीय फ़ाइल सिस्टम है जैसे कि jfs2, wafl। XFS 10 साल पहले अच्छा था लेकिन आज यह सिर्फ एक पाषाण युग की एफएस है।
असंतुष्ट

कुछ मायनों में, आप उनकी तुलना नहीं कर सकते हैं: XFS एक फाइल सिस्टम है; ZFS एक फाइल सिस्टम है और बहुत कुछ: यह फाइलसिस्टम, वॉल्यूम मैनेजर (जैसे LVM) और RAID को अलग करता है। हालाँकि, JFS अब बनाए नहीं रखा जाता है यदि स्मृति कार्य करती है: हालाँकि, XFS सक्रिय और रखरखाव और मजबूत है। किसी भी तरह से - ZFS या XFS - आप मेरी राय में गलत नहीं हो सकते।
मेई

1
मुझे अभी भी लगता है कि यह प्रश्न प्रासंगिक है, इसलिए बीमार हमारे अनुभव को यहां लिखें: एक्सएफएस सरल है, आप इसे स्थापित करते हैं, आप इसे चलाते हैं, इसकी त्वरित, यह काम करता है। (नीचे HW छापे)। ZFS में बचत है, संपीड़न है, लेकिन XFS के रूप में तेजी से काम करने के लिए ट्यून करने के लिए काम का आवंटन है। तो यह उस स्थिति पर भी निर्भर करता है जिस पर आप सर्वर के चलने की उम्मीद कर रहे हैं। (क्लस्टर का बैकएंड यूजर स्टोरेज, आर्काइव, ...)
स्वेनड ऑक्ट

जवाबों:


44

मैंने XFS को संभवतः बहुत बड़ी फ़ाइलों के साथ बहुत बड़ी फाइल सिस्टम के अनुकूल पाया है। मेरे पास 2 साल से अधिक के लिए 3.6TB XFS फाइलसिस्टम है, जिसमें कोई समस्या नहीं है। निश्चित रूप से ext3 से बेहतर काम करता है, आदि उस आकार में (विशेषकर जब कई बड़ी फ़ाइलों और बहुत सारे I / O के साथ काम करते हैं)।

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


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

3
और हां, मुझे एक्सएफएस अलॉट पसंद है। :) एक ही गोचा जिसे आपको ध्यान में रखना है, एक जर्नल रिकवरी के दौरान "खराब" क्षेत्रों को शून्य करने की प्रवृत्ति है। कुछ (दुर्लभ) मामलों में, आप कुछ डेटा हानि ... गूगल खोज शब्द "बाहर वसूली पर क्षेत्रों XFS शून्य" के साथ इस पत्र मिला के साथ समाप्त कर सकते हैं pages.cs.wisc.edu/~vshree/xfs.pdf
एवरी अदा

3
एक्सएफएस में मुझे जो चीजें पसंद हैं उनमें से एक xfs_fsr"डीफ़्रैग्मेन्टेशन" प्रोग्राम है।
क्रिस्टियान सियुपिटु

1
जेडएफएस ब्लॉक-स्तरीय सीआरसी की उपयोगिता संदिग्ध है। हार्ड ड्राइव और एसएसडी एकल-बिट त्रुटियों को ठीक करने और दो-बिट त्रुटियों की रिपोर्ट करने के लिए हैमिंग कोड ईसीसी का उपयोग करते हैं। यदि ईसीसी पारदर्शी रूप से पढ़ने में त्रुटि को सही नहीं कर सकता है, तो डेटा वैसे भी खो जाता है और ओएस पर एक पढ़ने की विफलता की सूचना दी जाएगी। CRCs त्रुटियों को ठीक नहीं करता है। इस सुविधा को ZFS के एक प्रमुख लाभ के रूप में धकेल दिया गया है लेकिन सच्चाई यह बेमानी है और इसका कोई मूल्य नहीं है। XFS शून्य-आफ्टर पावर-फेल बग के लिए, जो कि बहुत समय पहले ठीक किया गया था और आज भी प्रासंगिक नहीं है।
जॉडी ली ब्रूचोन

@JodyLeeBruchon जो आपने लिखा वह गलत है: जबकि यह सच है कि स्टोरेज डिवाइस में पहले से ही डेटा से जुड़ी समानता कोड होती है, इसका मतलब यह नहीं है कि वे एंड-टू-एंड डेटा प्रोटेक्शन में सक्षम हैं। चेचसमिंग फाइलसिस्टम के बिना इस लक्ष्य को प्राप्त करने के लिए, आपको एक) SAS T10 / DIF / DIX संग्रहण स्टैक या b) devicemapper डीएम-अखंडता का उपयोग करना चाहिए ।
शोडान्शोक

75

ZFS आपको सॉफ्टवेयर RAID से परे लाभ देगा। कमांड संरचना बहुत सोच समझकर रखी गई है, और सहज ज्ञान युक्त है। यह मेटा-डेटा को गति देने के लिए कम्प्रेशन, स्नैपशॉट, क्लोनिंग, फाइलसिस्टम सेंड / रिसीव, और कैश डिवाइस (उन फैंसी नए SSD ड्राइव) को भी मिला है।

संपीड़न:

#zfs set compression=on filesystem/home

यह कॉपी-ऑन-राइट स्नैपशॉट बनाने के लिए सरल का समर्थन करता है जो लाइव-माउंटेड हो सकते हैं:

# zfs snapshot filesystem/home/user@tuesday
# cd filesystem/home/user/.zfs/snapshot/tuesday

फाइलसिस्टम क्लोनिंग:

# zfs clone filesystem/home/user@tuesday filesystem/home/user2

फाइलसिस्टम भेजें / प्राप्त करें:

# zfs send filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"

वृद्धि भेजें / प्राप्त करें:

# zfs send -i filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"

कैशिंग डिवाइस:

# zpool add filesystem cache ssddev

यह सब सिर्फ हिमशैल के टिप है, मैं अत्यधिक ओपन सोलारिस के एक इंस्टा पर अपने हाथों को प्राप्त करने और इसे बाहर करने की कोशिश करूंगा।

http://www.opensolaris.org/os/TryOpenSolaris/

संपादित करें : यह बहुत पुराना है, ओपन सोलारिस को बंद कर दिया गया है, जेडएफएस का उपयोग करने का सबसे अच्छा तरीका संभवतः लिनक्स या फ्रीबीएसडी है


पूर्ण प्रकटीकरण: मैं एक सन स्टोरेज आर्किटेक्ट हुआ करता था, लेकिन मैंने एक साल में उनके लिए काम नहीं किया, मैं इस उत्पाद के बारे में उत्साहित हूं।


उस लिंक ने www के साथ मेरे लिए काम नहीं किया। उपयोगhttp://opensolaris.org/os/TryOpenSolaris/
समुच्चय

मैं वास्तव में कहूँगा कि zfs के लिए सर्वश्रेष्ठ शर्त अभी भी FreeBSD है। यह काफी सालों से सिस्टम का हिस्सा है। तो मेरा अनुमान है, कम से कम बुरा आश्चर्य की संभावना है। हालांकि यह सिर्फ मेरी $ 0.02 है।
फॉक्स

18

लाइव फाइल सिस्टम पर lvm स्नैपशॉट और xfs का उपयोग करना विशेष रूप से बहुत बड़े फाइल सिस्टम का उपयोग करते समय आपदा के लिए एक नुस्खा है ।

मैं अपने सर्वर पर पिछले 6 वर्षों से LVM2 और xfs पर विशेष रूप से चल रहा हूं (घर पर भी, क्योंकि zfs-fuse सिर्फ सादा बहुत धीमा है ...)

हालांकि, मैं स्नैपशॉट का उपयोग करते समय मेरे द्वारा सामना किए गए विभिन्न विफलता मोड की गणना नहीं कर सकता। मैंने उनका उपयोग पूरी तरह से बंद कर दिया है - यह बहुत खतरनाक है।

अब मैं जो एकमात्र अपवाद बनाऊंगा वह मेरा अपना निजी मेलस्वर / वेबसर्वर बैकअप है, जहाँ मैं एक अल्पकालिक स्नैपशॉट का उपयोग करके रात भर बैकअप करूँगा, जो कि हमेशा स्रोत एफएस के आकार के बराबर होता है, और ठीक बाद में हटा दिया जाता है।

ध्यान रखने के लिए सबसे महत्वपूर्ण पहलू:

  1. यदि आपके पास एक बड़ा (ish) फाइल सिस्टम है, जिसमें स्नैपशॉट है, तो लेखन प्रदर्शन बुरी तरह नीचा है
  2. यदि आपके पास एक बड़ी (ish) फाइलसिस्टम है जिसमें स्नैपशॉट है, तो बूट समय शाब्दिक दसियों मिनटों के साथ विलंबित हो जाएगा, जबकि डिस्क वॉल्यूम समूह के आयात के दौरान मंथन और मंथन होगा। कोई संदेश प्रदर्शित नहीं किया जाएगा। यह प्रभाव विशेष रूप से भयावह है यदि रूट lvm2 पर है (क्योंकि रूट डिवाइस के इंतजार में समय समाप्त हो जाएगा और सिस्टम बूट नहीं होगा)
  3. यदि आपके पास एक स्नैपशॉट है तो अंतरिक्ष से बाहर भागना बहुत आसान है। एक बार जब आप अंतरिक्ष से बाहर चले जाते हैं, तो स्नैपशॉट दूषित होता है और उसे ठीक नहीं किया जा सकता।
  4. स्नैपशॉट को फिलहाल रोलबैक / मर्ज नहीं किया जा सकता (देखें http://kerneltrap.org/Linux/LVM_Snapshot_Merging )। इसका मतलब है कि स्नैपशॉट से डेटा को पुनर्स्थापित करने का एकमात्र तरीका वास्तव में इसे (rsync?) कॉपी करना है। DANGER DANGER: यदि स्नैपशॉट क्षमता कम से कम स्रोत fs के आकार की नहीं है तो आप ऐसा नहीं करना चाहते; यदि आप जल्द ही ईंट की दीवार से नहीं टकराते हैं और स्रोत fs और स्नैपशॉट दोनों भ्रष्ट हो जाते हैं। (मैं वहाँ गया था!)

1
जैसा कि होता है, आज ही किसी ने पुष्टि की है कि स्नैपशॉट के साथ वीजी - असमर्थ-टू-बूट-लाइनक्स अभी भी चालू है: Bugs.launchpad.net/lvm2/+bug/360237
sehe

इस बग की समीक्षा, वे अभी भी लगता है कि snaphots साथ मात्र बूट समस्याएं हैं "एलवीएम के लिए सामान्य व्यवहार": bugs.launchpad.net/lvm2/+bug/360237/comments/7 (पर 2012-01-07)
sehe

1
अद्यतन: एक ही राज्य। केवल अब इसे 7 साल हो गए हैं।
जूल

14

एक अतिरिक्त चीजों के बारे में सोचने के लिए।

  • यदि कोई ड्राइव फ़ाइल सिस्टम की परवाह किए बिना एक हार्डवेयर RAID सरणी में मर जाता है, तो इसके ऊपर डिवाइस के सभी ब्लॉक को फिर से बनाना होगा। यहां तक ​​कि जिन लोगों के पास कोई डेटा नहीं था। दूसरी ओर ZFS वॉल्यूम मैनेजर, फाइलसिस्टम है, और डेटा अतिरेक और स्ट्रिपिंग का प्रबंधन करता है। तो यह समझदारी से केवल उन ब्लॉकों का पुनर्निर्माण कर सकता है जिनमें डेटा था। जब मात्रा 100% भर जाती है, तो इसके अलावा अन्य तेजी से पुनर्निर्माण होता है।

  • ZFS में बैकग्राउंड स्क्रबिंग होता है जो यह सुनिश्चित करता है कि आपका डेटा डिस्क पर लगातार बना रहे और इससे होने वाली किसी भी समस्या को सुधारने से पहले डेटा हानि का कारण बने।

  • ZFS फाइल सिस्टम हमेशा एक सुसंगत स्थिति में होते हैं इसलिए fsck की कोई आवश्यकता नहीं होती है।

  • ZFS, LVM द्वारा पेश किए गए स्नैपशॉट की तुलना में स्नैपशॉट और क्लोन के साथ अधिक लचीलापन और सुविधाएँ भी प्रदान करता है।

लिनक्स, LVM, XFS स्टैक पर बड़े प्रारूप के वीडियो उत्पादन के लिए बड़े भंडारण पूल चलाने। मेरा अनुभव यह रहा है कि अपने स्टोरेज को माइक्रो-मैनेज करना आसान है। यह अप्रयुक्त आवंटित स्थान और समय / मुद्दों की बड़ी मात्रा में आपके तार्किक वॉल्यूम के प्रबंधन के साथ परिणाम कर सकता है। यह एक बड़ी बात नहीं हो सकती है यदि आपके पास एक पूर्णकालिक स्टोरेज एडमिनिस्ट्रेटर है जो स्टोरेज को माइक्रो-मैनेज करना है। लेकिन मैंने पाया है कि ZFS का पूल भंडारण दृष्टिकोण इन प्रबंधन मुद्दों को हटा देता है।


8

ZFS बिल्कुल अद्भुत है। मैं इसे 5 x 1 टीबी एचडी फाइल सर्वर के लिए अपने होम फाइल सर्वर के रूप में उपयोग कर रहा हूं, और लगभग 32 टीबी हार्ड ड्राइव स्पेस के साथ उत्पादन में भी इसका उपयोग कर रहा हूं। यह तेज, उपयोग करने में आसान और डेटा भ्रष्टाचार के खिलाफ कुछ सबसे अच्छा संरक्षण है।

हम विशेष रूप से इस सर्वर पर ओपनसोलारिस का उपयोग कर रहे हैं क्योंकि हम नई सुविधाओं तक पहुंच चाहते थे और क्योंकि इसने नए पैकेज प्रबंधन प्रणाली और उन्नयन का तरीका प्रदान किया।


7

आप किस ओएस पर चलने की योजना बना रहे हैं? या कि विचार का एक और हिस्सा है? यदि आप सोलारिस चला रहे हैं, तो XFS भी एक विकल्प नहीं है जहाँ तक मुझे पता है। यदि आप सोलारिस नहीं चला रहे हैं, तो आप ZFS के उपयोग की योजना कैसे बना रहे हैं? समर्थन अन्य प्लेटफार्मों पर सीमित है।

यदि आप एक लिनक्स सर्वर के बारे में बात कर रहे हैं, तो मैं एक्स्ट 3 के साथ व्यक्तिगत रूप से चिपके रहूंगा, यदि केवल इसलिए कि यह सबसे अधिक मात्रा में परीक्षण प्राप्त करता है। zfs-fuse अभी बहुत छोटा है। इसके अलावा, मुझे एक बार एक्सएफएस से परेशानी हुई, जब एक बग ने कर्नेल अपडेट के बाद डेटा भ्रष्टाचार का कारण बना। एक्सटी 3 से अधिक एक्सएफएस के फायदे निश्चित रूप से मशीन को बहाल करने में शामिल लागतों से आगे नहीं बढ़े, जो एक दूरस्थ डेटासेंटर में स्थित था।


6
FreeBSD
बजे

7
wiki.freebsd.org/ZFSKnownProblems मुझे लगता है कि परिपक्व होने की आपकी परिभाषा खान से अलग हो सकती है :-) शायद मैं 8.0 के रिलीज होने के बाद इस पर विचार करूंगा।
Kjetil Limkjær

9
16TB के साथ ext3? नहीं नहीं नहीं। ऐसा मत करो। आप रोएंगे। जेडएफएस या एक्सएफएस मेरी राय में सबसे अच्छे फाइल सिस्टम हैं। यदि आप कर सकते हैं तो ZFS का उपयोग करें (इसे लिनक्स पर न चलाएं)। मैं 5 वर्षों में लिनक्स और सोलारिस पर बड़े संस्करणों पर बहुत सारे अनुभव के साथ यह कहता हूं।
थॉमस

3
20090601 के बाद FreeBSD 7.2 ने सबसे अधिक ZFSKnownProblems मूट का प्रतिपादन किया है। यदि आप OS का AMD64 संस्करण चला रहे हैं, तो यह अब स्थिर है। 8.0 में, FreeBSD ने ZFS को उत्पादन के लिए पर्याप्त रूप से स्थिर के रूप में चिह्नित किया है।
वाल्टर

3
लिनक्स पर ZFS अब उपलब्ध है ( zfsonlinux.org )
जेम्स मूर

7

मुझे नहीं लगता कि आपको प्रदर्शन पर ध्यान देना चाहिए। क्या आपका डेटा XFS, ext4, आदि के साथ सुरक्षित है? सं। इन पीएचडी थीसिस और शोध पत्रों को पढ़ें:

XFS डेटा भ्रष्टाचार के खिलाफ सुरक्षित नहीं है: Pages.cs.wisc.edu/~vshree/xfs.pdf

और न ही ext3, JFS, ReiserFS, आदि: zdnet.com/blog/storage/how-microsoft-puts-your-data-at-risk/169?p=169&tag=mlele_skin%3bcontent "मैं आकर्षक पीएचडी थीसिस में आया था विजयन प्रभाकरन, IRON फाइल सिस्टम जो विश्लेषण करता है कि कैसे पांच कमोडिटी जर्नलिंग फाइल सिस्टम - NTFS, ext3, ReiserFS, JFS और XFS - स्टोरेज की समस्याओं को हैंडल करते हैं।

संक्षेप में उन्होंने पाया कि सभी फ़ाइल सिस्टम हैं

. . . failure policies that are often inconsistent, sometimes buggy, and generally inadequate in their ability to recover from partial disk failures. "

लेकिन ZFS आपके डेटा की सफलतापूर्वक सुरक्षा करता है। यहाँ इस पर एक शोध पत्र दिया गया है: zdnet.com/blog/storage/zfs-data-integrity-tat/811


5

एफएस-उन्मुख उत्तर खेद नहीं है, लेकिन इस बात से अवगत रहें कि कई डिस्क नियंत्रक> 2TB LUNS / तार्किक-डिस्क से नहीं निपटेंगे - यह आपके भंडारण को थोड़ा व्यवस्थित करने के तरीके को सीमित कर सकता है। मैं चाहता था कि आप जागरूक हों, ताकि आप अपने सिस्टम को एंड-टू-एंड चेक कर सकें, यह सुनिश्चित करने के लिए कि यह 16TB के साथ सौदा करेगा।


1

यह निर्भर करता है कि आप क्या सुविधाएँ चाहते हैं ..., दो उचित विकल्प xfs और zfs हैं जैसा कि आपने कहा है, xfs कोड बहुत अच्छी तरह से परीक्षण किया गया है मैंने पहली बार IRIX के तहत 8 साल पहले इसका इस्तेमाल किया था

Xfs से स्नैपशॉट प्राप्त करना संभव है (lvm और xfs_freeze का उपयोग करके)

एक अलग लॉग डिवाइस जैसे एसएसडी होना संभव है

mkfs.xfs -l logdev=/dev/sdb1,size=10000b /dev/sda1

बड़े एक्सएफ़एस को पारंपरिक रूप से जांच के लिए बहुत सारी मेमोरी की आवश्यकता होती है

शून्य को चालू करने के साथ समस्या एक "सुरक्षा" विशेषता थी, जो मुझे लगता है कि थोड़ी देर पहले गायब हो गई थी।


1

पहले से ही उल्लेख किया गया है के अलावा, एमडी बेस छापे पर xfs के प्रदर्शन बिंदु से स्ट्रीमिंग मीडिया पर zfs से बेहतर प्रदर्शन करता है। मैंने आधे दशक के लिए सटीक एक ही हार्डवेयर का उपयोग किया है और अपने मीडिया सर्वर पर zfs के साथ उसी समय के बारे में हूं। इंटेल एटम 330 पर एक्सएफ़एस के साथ मैं कभी भी कंप्यूटर का अनुभव नहीं करता, जटिल दृश्यों पर एफ़टीपी पर एक ही हार्डवेयर नहीं रख सकता है और फ़्रेम को छोड़ना शुरू कर देता है।


0

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


0

ठीक है दोस्तों, चलो zfs के नवीनतम जोड़ के बारे में नहीं भूलते हैं: समर्पण। और फ्लाई iscsi, nfs या smb शेयरिंग के बारे में बोलने देता है। जैसा कि दूसरों ने पहले ही कहा था, zfs फाइल सिस्टम, स्नैपशॉट, raidz (= raid5) ब्लॉक चेकसम, डायनेमिक स्ट्राइप चौड़ाई, कैश मैनेजिंग और कई अन्य का निर्यात। मैं वोट देता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.