ZFS กับ XFS


62

เรากำลังพิจารณาที่จะสร้างเซิร์ฟเวอร์จัดเก็บข้อมูลขนาด ~ 16TB ในขณะนี้เรากำลังพิจารณาทั้ง ZFS และ XFS เป็นระบบไฟล์ ข้อดีข้อเสียคืออะไร? เราต้องมองหาอะไร มีตัวเลือกที่สามที่ดีกว่าหรือไม่?


7
อย่าเปรียบเทียบมันด้วยซ้ำ ZFS เป็นระบบไฟล์ระดับองค์กรที่ทันสมัยเช่น jfs2, wafl XFS นั้นดีเมื่อ 10 ปีที่แล้ว แต่วันนี้มันเป็นเพียงยุคหิน
disserman

ในบางวิธีคุณไม่สามารถเปรียบเทียบได้: XFS เป็นระบบไฟล์ ZFS เป็นระบบไฟล์และอื่น ๆ อีกมากมาย: แทนที่ระบบไฟล์, ตัวจัดการโวลุ่ม (เช่น LVM), และ RAID เป็นต้น อย่างไรก็ตาม JFS จะไม่ได้รับการดูแลรักษาอีกต่อไปหากหน่วยความจำทำหน้าที่: อย่างไรก็ตาม XFS นั้นใช้งานและบำรุงรักษาและมีเสถียรภาพ ไม่ว่าจะด้วยวิธีใด - ZFS หรือ XFS - คุณไม่สามารถผิดพลาดได้ในความคิดของฉัน
เหม่ย

1
ฉันยังคิดว่าคำถามนี้มีความเกี่ยวข้องดังนั้นฉันจะเขียนประสบการณ์ของเราที่นี่: XFS นั้นง่ายคุณติดตั้งคุณเรียกใช้มันรวดเร็วมันใช้งานได้ (การจู่โจม HW ด้านล่าง) ZFS คือประหยัดมีการบีบอัด แต่มีการทำงานมากมายเพื่อรับการปรับแต่งให้ทำงานเร็วเท่ากับ XFS ดังนั้นจึงขึ้นอยู่กับสถานการณ์ที่คุณคาดหวังว่าเซิร์ฟเวอร์จะทำงาน (แบ็กเอนด์ของคลัสเตอร์หน่วยเก็บข้อมูลผู้ใช้เก็บถาวร ... )
SvennD

นอกจากนี้ยังมี Hammer2 dragonflybsd.org/hammer
skan

คำตอบ:


44

ฉันพบว่า XFS เหมาะสมกับระบบไฟล์ที่มีขนาดใหญ่มากและอาจมีไฟล์ขนาดใหญ่มาก ฉันเคยใช้ระบบไฟล์ 3.6TB XFS มานานกว่า 2 ปีแล้วโดยไม่มีปัญหา สามารถใช้งานได้ดีกว่า ext3 ฯลฯ ที่ขนาดนั้น (โดยเฉพาะอย่างยิ่งเมื่อต้องรับมือกับไฟล์ขนาดใหญ่และ I / O จำนวนมาก)

สิ่งที่คุณจะได้รับจาก ZFS คือการรวมอุปกรณ์การสไทรพ์และคุณลักษณะขั้นสูงอื่น ๆ ที่มีอยู่ในระบบไฟล์ ฉันไม่สามารถพูดคุยกับคนพิเศษ (ฉันจะให้คนอื่นแสดงความคิดเห็น) แต่จากสิ่งที่ฉันสามารถบอกได้คุณต้องการใช้ Solaris เพื่อรับประโยชน์สูงสุดที่นี่ มันยังไม่ชัดเจนสำหรับฉันเท่าไหร่ ZFS ช่วยถ้าคุณใช้ฮาร์ดแวร์ RAID (เช่นฉัน) แล้ว


33
คุณสมบัติที่สำคัญของ ZFS ที่คุณ (โดยทั่วไป) ไม่ได้อยู่ที่อื่นคือ CRC ระดับบล็อกซึ่งควรจะตรวจจับ (และหวังว่าจะป้องกัน) ข้อมูลที่เงียบ ระบบไฟล์ส่วนใหญ่สมมติว่าหากการเขียนเสร็จสมบูรณ์ข้อมูลจะถูกเขียนลงดิสก์อย่างแน่นอน ไม่ได้เป็นเช่นนั้นเสมอไปโดยเฉพาะอย่างยิ่งหากภาคธุรกิจเริ่มที่จะ "ลดลง" ZFS ตรวจพบสิ่งนี้โดยการตรวจสอบ CRC กับผลลัพธ์การเขียน
Avery Payne

3
และใช่ฉันชอบ XFS มาก :) gotcha เพียงสิ่งเดียวที่คุณต้องจำไว้คือแนวโน้มที่จะเป็นเซกเตอร์ออกเป็นศูนย์ที่ "ไม่ดี" ในระหว่างการกู้คืนเจอร์นัล ในบางกรณี (หายาก) คุณสามารถจบลงด้วยการสูญเสียข้อมูลบางอย่าง ... พบบทความนี้ด้วยคำค้นหาของ Google " xfs
Avery Payne

3
หนึ่งในสิ่งที่ฉันชอบที่ XFS คือโปรแกรมxfs_fsr"การจัดเรียงข้อมูล"
Cristian Ciupitu

1
ยูทิลิตี้ของ CRCs ระดับบล็อก ZFS เป็นที่น่าสงสัย ฮาร์ดไดรฟ์และ SSD ใช้ Hamming code ECC เพื่อแก้ไขข้อผิดพลาดบิตเดียวและรายงานข้อผิดพลาดสองบิต หาก ECC ไม่สามารถแก้ไขข้อผิดพลาดการอ่านทางกายภาพได้อย่างโปร่งใสข้อมูลจะสูญหายไปและการรายงานความล้มเหลวในการอ่านจะถูกรายงานไปยังระบบปฏิบัติการ CRC ไม่ได้แก้ไขข้อผิดพลาด ฟีเจอร์นี้ได้รับการผลักดันให้เป็นประโยชน์หลักของ ZFS แต่ความจริงคือมันซ้ำซ้อนและไม่มีคุณค่า สำหรับข้อผิดพลาด zero-after-power-fail XFS นั้นถูกแก้ไขมานานแล้วและไม่เกี่ยวข้องกันในวันนี้
Jody Lee Bruchon

@JodyLeeBruchon สิ่งที่คุณเขียนไม่ถูกต้อง: ในขณะที่เป็นจริงที่อุปกรณ์จัดเก็บข้อมูลมีรหัสพาริตีที่แนบกับข้อมูลอยู่ แต่ก็ไม่ได้หมายความว่าพวกเขามีความสามารถในการปกป้องข้อมูลแบบครบวงจร เพื่อให้บรรลุเป้าหมายนี้โดยระบบแฟ้ม chechsumming คุณต้องก) SAS T10 / DIF / DIXแตกที่จัดเก็บหรือข) ใช้ devicemapper DM-สมบูรณ์
shodanshok

75

ZFS จะให้ประโยชน์มากกว่าซอฟต์แวร์ RAID โครงสร้างคำสั่งถูกวางอย่างรอบคอบและใช้งานง่าย นอกจากนี้ยังมีการบีบอัดภาพรวมการโคลนการส่ง / รับระบบไฟล์และอุปกรณ์แคช (ไดรฟ์ SSD ใหม่ที่แปลกใหม่) เพื่อเพิ่มความเร็วในการจัดทำดัชนี meta-data

การบีบอัด:

#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

นี่เป็นเพียงส่วนเล็ก ๆ ของภูเขาน้ำแข็งฉันขอแนะนำให้คุณติดตั้ง Open Solaris และลองทำสิ่งนี้

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

แก้ไข : นี่คือเก่ามากเปิดโซลาริสได้ถูกยกเลิกวิธีที่ดีที่สุดที่จะใช้ ZFS น่าจะเป็นบนลินุกซ์หรือFreeBSD


การเปิดเผยอย่างเต็มรูปแบบ: ฉันเคยเป็นสถาปนิกที่เก็บข้อมูลของซัน แต่ฉันไม่ได้ทำงานให้พวกเขาภายในเวลาหนึ่งปีฉันแค่ตื่นเต้นกับผลิตภัณฑ์นี้


ลิงค์นั้นใช้งานไม่ได้สำหรับฉันกับ www ใช้http://opensolaris.org/os/TryOpenSolaris/
รวม

ฉันจะบอกว่าทางออกที่ดีที่สุดสำหรับ zfs ยังคงเป็น FreeBSD มันเป็นส่วนหนึ่งของระบบมาหลายปีแล้ว ดังนั้นฉันเดาว่ามีความเป็นไปได้น้อยที่สุดสำหรับความประหลาดใจที่น่ารังเกียจ แม้ว่ามันจะเป็นเพียงแค่ $ 0.02 ของฉัน
Fox

18

การใช้ lvm snapshots และ xfs บนระบบไฟล์สดเป็นสูตรสำหรับภัยพิบัติโดยเฉพาะอย่างยิ่งเมื่อใช้ระบบไฟล์ขนาดใหญ่มาก

ฉันใช้งานเฉพาะบน LVM2 และ xfs ในช่วง 6 ปีที่ผ่านมาบนเซิร์ฟเวอร์ของฉัน (ที่บ้านถึงแม้ว่า zfs-fuse นั้นช้าเกินไปธรรมดา) ...

อย่างไรก็ตามฉันไม่สามารถนับโหมดความล้มเหลวที่แตกต่างกันที่ฉันพบเมื่อใช้สแน็ปช็อตอีกต่อไป ฉันหยุดใช้มันทั้งหมด - มันอันตรายเกินไป

ข้อยกเว้นอย่างเดียวที่ฉันจะทำตอนนี้คือการสำรองข้อมูลเมลเซิร์ฟเวอร์ / เว็บเซิร์ฟเวอร์ส่วนตัวของฉันเองซึ่งฉันจะทำการสำรองข้อมูลข้ามคืนโดยใช้สแนปช็อตชั่วคราวซึ่งเท่ากับขนาดของแหล่งที่มา fs เสมอและถูกลบทิ้งในภายหลัง

สิ่งสำคัญที่สุดที่ควรทราบ:

  1. หากคุณมีระบบไฟล์ขนาดใหญ่ที่มีสแนปชอตประสิทธิภาพการเขียนจะลดลงอย่างน่ากลัว
  2. หากคุณมีระบบไฟล์ขนาดใหญ่ (ish) ที่มีสแนปชอตเวลาบูตจะล่าช้าด้วยตัวอักษรสิบนาทีในขณะที่ดิสก์จะปั่นและปั่นป่วนในระหว่างการนำเข้ากลุ่มวอลุ่ม จะไม่มีข้อความปรากฏขึ้น เอฟเฟกต์นี้น่ากลัวมากหากรูทอยู่ใน lvm2 (เพราะการรออุปกรณ์รูทจะหมดเวลาและระบบไม่บู๊ต)
  3. ถ้าคุณมีสแนปชอตมันง่ายที่จะใช้พื้นที่หมด เมื่อคุณไม่มีที่ว่างสแน็ปช็อตจะเสียหายและไม่สามารถซ่อมแซมได้
  4. ภาพรวมไม่สามารถย้อนกลับ / ผสานได้ในขณะนี้ (ดูhttp://kerneltrap.org/Linux/LVM_Snapshot_Merging ) ซึ่งหมายความว่าวิธีเดียวที่จะกู้คืนข้อมูลจากสแน็ปช็อตคือการคัดลอก (rsync?) จริง ๆ DANGER DANGER: คุณไม่ต้องการทำเช่นนี้หากความจุสแนปชอตไม่น้อยกว่าขนาดของซอร์ส fs; หากคุณไม่ทำคุณจะชนกำแพงอิฐและจบลงด้วยทั้งแหล่ง fs และสแนปช็อตที่เสียหาย (ฉันเคยไปที่นั่น!)

1
มันเกิดขึ้นเพียงแค่วันนี้มีคนยืนยันว่า vg ที่มีสแนปชอต - ไม่สามารถบูตลินุกซ์ยังคงเป็นปัจจุบันอยู่: bugs.launchpad.net/lvm2/+bug/360237
sehe

Revisiting ปัญหานี้พวกเขายังคงคิดว่าปัญหาบูตสุดซึ้งกับ snaphots คือ "พฤติกรรมปกติสำหรับ LVM": bugs.launchpad.net/lvm2/+bug/360237/comments/7 (บน 2012/01/07)
sehe

1
อัปเดต: สถานะเดียวกัน เฉพาะตอนนี้มันอีก 7 ปี
sehe

14

คู่เพิ่มเติมสิ่งที่คิดเกี่ยวกับ

  • หากไดรฟ์เสียชีวิตในอาร์เรย์ RAID ของฮาร์ดแวร์โดยไม่คำนึงถึงระบบไฟล์ที่อยู่ด้านบนสุดของบล็อกทั้งหมดบนอุปกรณ์จะต้องถูกสร้างใหม่ แม้แต่คนที่ไม่ได้เก็บข้อมูลใด ๆ ZFS ในอีกทางหนึ่งคือตัวจัดการโวลุ่มระบบไฟล์และจัดการความซ้ำซ้อนของข้อมูลและการสตริป ดังนั้นจึงสามารถสร้างบล็อกที่มีข้อมูลได้อย่างชาญฉลาด ซึ่งจะส่งผลให้มีการสร้างใหม่เร็วกว่าเวลาอื่นเมื่อปริมาตรเต็ม 100%

  • ZFS มีการขัดพื้นหลังซึ่งทำให้แน่ใจว่าข้อมูลของคุณยังคงอยู่บนดิสก์และซ่อมแซมปัญหาใด ๆ ที่พบก่อนที่จะส่งผลให้ข้อมูลสูญหาย

  • ระบบไฟล์ ZFS อยู่ในสถานะที่สอดคล้องกันเสมอดังนั้นจึงไม่จำเป็นต้อง fsck

  • ZFS ยังมีความยืดหยุ่นและฟีเจอร์เพิ่มเติมด้วยสแนปชอตและโคลนของมันเมื่อเปรียบเทียบกับสแน็ปช็อตที่นำเสนอโดย LVM

การมีพูลหน่วยเก็บข้อมูลขนาดใหญ่สำหรับการผลิตวิดีโอขนาดใหญ่บน Linux, LVM, XFS stack ประสบการณ์ของฉันเป็นเรื่องง่ายที่จะตกอยู่ในการบริหารจัดการพื้นที่เก็บข้อมูลขนาดเล็กของคุณ ซึ่งอาจส่งผลให้มีการจัดสรรพื้นที่และเวลา / ปัญหาที่ไม่ได้ใช้เป็นจำนวนมากด้วยการจัดการปริมาณลอจิคัลของคุณ นี่อาจไม่ใช่เรื่องใหญ่หากคุณมีผู้ดูแลระบบจัดเก็บข้อมูลเต็มเวลาที่มีหน้าที่จัดเก็บข้อมูลขนาดเล็ก แต่ฉันพบว่าวิธีการเก็บข้อมูลพูลของ ZFS ลบปัญหาการจัดการเหล่านี้ออก


8

ZFS นั้นยอดเยี่ยมมาก ฉันใช้มันเป็นไฟล์เซิร์ฟเวอร์ในบ้านของฉันสำหรับไฟล์เซิร์ฟเวอร์ HD 5 x 1 TB และฉันใช้มันในการผลิตด้วยพื้นที่ฮาร์ดดิสก์เกือบ 32 TB มันรวดเร็วใช้งานง่ายและมีการป้องกันที่ดีที่สุดจากข้อมูลเสียหาย

เราใช้ OpenSolaris บนเซิร์ฟเวอร์นี้เป็นพิเศษเพราะเราต้องการเข้าถึงฟีเจอร์ที่ใหม่กว่าและเนื่องจากเป็นระบบการจัดการแพ็คเกจใหม่และวิธีการอัปเกรด


7

คุณวางแผนที่จะใช้ระบบปฏิบัติการใดอยู่ หรือว่าเป็นส่วนหนึ่งของการพิจารณา? หากคุณกำลังใช้งาน Solaris, XFS ไม่ได้เป็นตัวเลือกเท่าที่ฉันรู้ หากคุณไม่ได้ใช้งานโซลาริสคุณวางแผนจะใช้ ZFS อย่างไร การสนับสนุนมีข้อ จำกัด ในแพลตฟอร์มอื่น ๆ

หากคุณกำลังพูดถึงเซิร์ฟเวอร์ Linux ฉันจะใช้ Ext3 เป็นการส่วนตัวถ้าเพียงเพราะได้รับการทดสอบมากที่สุด ฟิวส์ ZFS ยังเด็กอยู่มาก นอกจากนี้ฉันมีปัญหากับ XFS หนึ่งครั้งเมื่อเกิดข้อผิดพลาดของข้อมูลเสียหายหลังจากการปรับปรุงเคอร์เนล ข้อดีของ XFS บน Ext3 แน่นอนไม่ได้เกินค่าใช้จ่ายที่เกี่ยวข้องในการคืนค่าเครื่องซึ่งตั้งอยู่ในดาต้าเซ็นเตอร์ระยะไกล


6
FreeBSD มีพอร์ตดั้งเดิมของ ZFS
Brian Gianforcaro

7
wiki.freebsd.org/ZFSKnownProblemsฉันคิดว่าคำนิยามความเป็นผู้ใหญ่ของคุณอาจแตกต่างจากของฉัน :-) บางทีฉันอาจจะพิจารณามันหลังจากที่ปล่อย 8.0
Kjetil Limkjær

9
ext3 ที่มี 16TB? ไม่ไม่ไม่. อย่าทำมัน. คุณจะร้องไห้ ZFS หรือ XFS เป็นระบบไฟล์ที่ดีที่สุดในความคิดของฉัน ใช้ ZFS หากคุณสามารถ (ไม่ได้เรียกใช้บน Linux) ฉันพูดแบบนี้ด้วยประสบการณ์จำนวนมากบน Linux และ Solaris ในระยะเวลา 5 ปี
โทมัส

3
FreeBSD 7.2 หลังจาก 20090601 แสดงผลส่วนใหญ่ของการดำริ ZFSKnownProblems หากคุณใช้ระบบปฏิบัติการรุ่น AMD64 ตอนนี้ก็เสถียรแล้ว ใน 8.0 FreeBSD ได้ทำเครื่องหมาย ZFS ว่ามีเสถียรภาพเพียงพอสำหรับการผลิต
วอลเตอร์

3
ZFS บน Linux พร้อมใช้งานแล้ว ( zfsonlinux.org )
James Moore

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=mantle_skin%3bcontent ของ Vijayan Prabhakaran, IRON File Systems ซึ่งวิเคราะห์วิธีการทำเจอร์นัลระบบไฟล์สินค้าโภคภัณฑ์ห้ารายการ - 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-tested/811


5

ไม่ใช่คำตอบที่เน้น FS แต่โปรดทราบว่าตัวควบคุมดิสก์จำนวนหนึ่งจะไม่จัดการกับ> 2TB LUNS / logical-disk - สิ่งนี้สามารถ จำกัด วิธีการจัดระเบียบที่เก็บข้อมูลของคุณได้เล็กน้อย ฉันแค่อยากให้คุณรู้ตัวเพื่อให้คุณสามารถตรวจสอบระบบของคุณแบบครบวงจรเพื่อให้แน่ใจว่ามันจะจัดการกับ 16TB ตลอด


1

มันขึ้นอยู่กับคุณสมบัติที่คุณต้องการ ... สองตัวเลือกที่เหมาะสมคือ xfs และ zfs ตามที่คุณพูดรหัส xfs ผ่านการทดสอบค่อนข้างดีฉันใช้ครั้งแรกเมื่อ 8 ปีที่แล้วภายใต้ IRIX

เป็นไปได้ที่จะรับสแน็ปช็อตจาก xfs (โดยใช้ lvm และ xfs_freeze)

เป็นไปได้ที่จะมีอุปกรณ์บันทึกแยกต่างหากเช่น SSD

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

XFS ขนาดใหญ่มักต้องการหน่วยความจำในการตรวจสอบจำนวนมาก

ปัญหาเกี่ยวกับการเปิดศูนย์เป็นคุณลักษณะ "ความปลอดภัย" ซึ่งฉันคิดว่าหายไปครู่หนึ่ง


1

นอกเหนือจากที่กล่าวไว้แล้วจากประสิทธิภาพของมุมมอง xfs ในการโจมตีฐาน MD นั้นทำได้ดีกว่า zfs บนสื่อสตรีมมิ่ง ฉันใช้ฮาร์ดแวร์เดียวกันนี้มาเป็นเวลาครึ่งทศวรรษกับ xfs และใช้เวลาเท่ากันกับ zfs บนเซิร์ฟเวอร์สื่อของฉัน ใน Intel Atom 330 ที่มี xfs ฉันไม่เคยสัมผัส stuter บน zfs ในฉากที่ซับซ้อนฮาร์ดแวร์เดียวกันไม่สามารถติดตามและเริ่มวางเฟรมได้


0

แทนที่จะสร้างด้วยตัวคุณเองทางเลือกคือ Sun 7410 aka Toro มีซอฟต์แวร์ที่มีประโยชน์มากที่มาพร้อมกับโซลูชัน


0

เอ่ออย่าลืมเกี่ยวกับการเพิ่มล่าสุดของ zfs: การขจัดข้อมูลซ้ำซ้อน และให้พูดเกี่ยวกับการบินทันที iscsi, NFS หรือการแบ่งปัน smb อย่างที่คนอื่นพูดไปแล้วการส่งออกของระบบไฟล์ zfs, snapshots, raidz (= raid5) บล็อกเช็คซัม, ความกว้างของแถบไดนามิก, การจัดการแคชและอื่น ๆ อีกมากมาย ฉันลงคะแนนให้ zfs

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.