ZFS vs XFS


62

Chúng tôi đang xem xét xây dựng một máy chủ lưu trữ ~ 16TB. Hiện tại, chúng tôi đang xem xét cả ZFS và XFS là hệ thống tệp. Ưu điểm, nhược điểm là gì? Chúng ta phải tìm kiếm cái gì? Có một lựa chọn thứ ba, tốt hơn?


7
Thậm chí đừng so sánh chúng. ZFS là một hệ thống tệp cấp doanh nghiệp hiện đại như jfs2, wafl. XFS đã tốt 10 năm trước nhưng ngày nay nó chỉ là một fs thời kỳ đồ đá.
disserman

Theo một số cách, bạn không thể so sánh chúng: XFS là một hệ thống tập tin; ZFS là một hệ thống tệp và hơn thế nữa: nó thay thế hệ thống tệp, trình quản lý âm lượng (như LVM) và RAID bên cạnh đó. Tuy nhiên, JFS không còn được duy trì nếu bộ nhớ phục vụ: tuy nhiên, XFS đang hoạt động và được duy trì và mạnh mẽ. Dù bằng cách nào - ZFS hoặc XFS - theo ý kiến ​​của tôi bạn không thể sai.
Mei

1
Tôi vẫn nghĩ rằng câu hỏi này có liên quan, vì vậy Ill viết kinh nghiệm của chúng tôi ở đây: XFS rất đơn giản, bạn cài đặt nó, bạn chạy nó, nhanh chóng, nó hoạt động. (Cuộc đột kích CTNH dưới đây). ZFS là lưu, có nén, nhưng phân bổ công việc để được điều chỉnh để hoạt động nhanh như XFS. Vì vậy, nó cũng phụ thuộc vào tình huống mà bạn đang mong đợi máy chủ chạy. (phụ trợ của cụm. lưu trữ người dùng, lưu trữ, ...)
SvennD

Ngoài ra còn có Hammer2 dragonflybsd.org/hammer
SKAN

Câu trả lời:


44

Tôi đã tìm thấy XFS phù hợp hơn với các hệ thống tệp cực lớn với nhiều tệp lớn. Tôi đã có một hệ thống tập tin XFS 3.6TB hoạt động được hơn 2 năm nay mà không gặp vấn đề gì. Chắc chắn hoạt động tốt hơn ext3, vv ở kích thước đó (đặc biệt là khi xử lý nhiều tệp lớn và nhiều I / O).

Những gì bạn nhận được với ZFS là tổng hợp thiết bị, phân loại và các tính năng nâng cao khác được tích hợp trong chính hệ thống tệp. Tôi không thể nói cụ thể (tôi sẽ để người khác bình luận), nhưng từ những gì tôi có thể nói, bạn muốn sử dụng Solaris để nhận được nhiều lợi ích nhất ở đây. Tôi cũng không rõ ZFS giúp được bao nhiêu nếu bạn đang sử dụng RAID phần cứng (như tôi).


33
Tính năng chính của ZFS mà bạn (thường) không nhận được ở nơi khác là CRC cấp khối, được cho là để phát hiện (và hy vọng ngăn chặn) tham nhũng dữ liệu im lặng. Hầu hết các hệ thống tập tin đều cho rằng nếu việc ghi hoàn thành thành công thì dữ liệu thực sự được ghi vào đĩa. Điều đó không phải luôn luôn như vậy, đặc biệt là nếu một lĩnh vực bắt đầu đi "bên lề". ZFS phát hiện điều này bằng cách kiểm tra CRC so với ghi kết quả.
Avery Payne

3
Và vâng, tôi thích XFS rất nhiều. :) Gotcha duy nhất mà bạn phải ghi nhớ là xu hướng loại bỏ các lĩnh vực "xấu" trong quá trình khôi phục tạp chí. Trong một số trường hợp (hiếm), bạn có thể bị mất dữ liệu ... Đã tìm thấy bài viết này với cụm từ tìm kiếm Google "xfs zeros out sector khi recovery" Pages.cs.wisc.edu/~vshree/xfs.pdf
Avery Payne

3
Một trong những điều tôi thích tại XFS là xfs_fsrchương trình "chống phân mảnh".
Cristian Ciupitu

1
Tiện ích của CRC cấp khối ZFS là nghi vấn. Ổ đĩa cứng và SSD sử dụng mã Hamming ECC để sửa lỗi một bit và báo cáo lỗi hai bit. Nếu ECC không thể sửa lỗi trong quá trình đọc vật lý, dữ liệu sẽ bị mất và dù sao thì lỗi đọc sẽ được báo cáo cho HĐH. CRC không sửa lỗi. Tính năng này được thúc đẩy như một lợi ích chính của ZFS nhưng sự thật là nó dư thừa và không có giá trị. Đối với lỗi không có lỗi sau XFS, lỗi này đã được sửa từ lâu và không liên quan đến ngày hôm nay.
Jody Lee Bruchon

@JodyLeeBruchon những gì bạn đã viết là không chính xác: mặc dù đúng là các thiết bị lưu trữ đã có mã chẵn lẻ được gắn vào dữ liệu, điều đó không có nghĩa là chúng có khả năng bảo vệ dữ liệu đầu cuối. Để đạt được mục tiêu này mà không cần hệ thống tập tin chechsumming, bạn cần a) ngăn xếp lưu trữ SAS T10 / DIF / DIX hoặc b) sử dụng devicemapper dm-vẹn .
shodanshok

75

ZFS sẽ cung cấp cho bạn những lợi thế ngoài RAID phần mềm. Cấu trúc lệnh được bố trí rất chu đáo và trực quan. Nó cũng có chức năng nén, chụp nhanh, nhân bản, gửi / nhận hệ thống tệp và các thiết bị bộ đệm (những ổ SSD mới lạ mắt này) để tăng tốc độ lập chỉ mục siêu dữ liệu.

Nén:

#zfs set compression=on filesystem/home

Nó hỗ trợ đơn giản để tạo ảnh chụp nhanh sao chép có thể được gắn trực tiếp:

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

Nhân bản hệ thống tập tin:

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

Hệ thống tập tin gửi / nhận:

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

Gửi / nhận tăng dần:

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

Thiết bị lưu trữ:

# zpool add filesystem cache ssddev

Đây chỉ là phần nổi của tảng băng trôi, tôi rất khuyên bạn nên dùng thử Open Solaris và dùng thử.

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

Chỉnh sửa : Điều này rất cũ, Open Solaris đã bị ngừng, cách tốt nhất để sử dụng ZFS có lẽ là trên Linux , hoặc FreeBSD .


Tiết lộ đầy đủ: Tôi từng là một kiến ​​trúc sư lưu trữ Mặt trời, nhưng tôi đã không làm việc cho họ trong hơn một năm, tôi chỉ hào hứng với sản phẩm này.


Liên kết đó không hoạt động với tôi với www. Sử dụnghttp://opensolaris.org/os/TryOpenSolaris/
tổng

Tôi thực sự muốn nói rằng đặt cược tốt nhất cho zfs vẫn là FreeBSD. Nó là một phần của hệ thống trong một vài năm. Vì vậy, tôi đoán là, có ít khả năng nhất cho những bất ngờ khó chịu. Mặc dù đó chỉ là 0,02 đô la của tôi.
Cáo

18

sử dụng ảnh chụp nhanh lvm và xfs trên các hệ thống tệp trực tiếp là một công thức cho thảm họa, đặc biệt là khi sử dụng các hệ thống tệp rất lớn.

Tôi đã chạy độc quyền trên LVM2 và xfs trong 6 năm qua trên các máy chủ của mình (ở nhà ngay cả khi zfs-fuse chỉ quá chậm) ...

Tuy nhiên, tôi không còn có thể đếm các chế độ thất bại khác nhau mà tôi gặp phải khi sử dụng ảnh chụp nhanh. Tôi đã ngừng sử dụng chúng hoàn toàn - nó quá nguy hiểm.

Ngoại lệ duy nhất tôi sẽ tạo bây giờ là sao lưu mailserver / webserver cá nhân của riêng tôi, nơi tôi sẽ thực hiện sao lưu qua đêm bằng ảnh chụp nhanh chóng, luôn bằng kích thước của fs nguồn bị xóa ngay sau đó.

Các khía cạnh quan trọng nhất cần ghi nhớ:

  1. nếu bạn có một hệ thống tập tin lớn (ish) có ảnh chụp nhanh, hiệu suất ghi bị suy giảm khủng khiếp
  2. nếu bạn có một hệ thống tập tin lớn (ish) có ảnh chụp nhanh, thời gian khởi động sẽ bị trì hoãn với hàng chục phút theo nghĩa đen trong khi đĩa sẽ bị đảo lộn và đảo lộn trong quá trình nhập nhóm âm lượng. Không có tin nhắn sẽ được hiển thị. Hiệu ứng này đặc biệt khủng khiếp nếu root nằm trên lvm2 (vì chờ thiết bị root sẽ hết thời gian và hệ thống không khởi động)
  3. nếu bạn có một ảnh chụp nhanh thì rất dễ hết dung lượng. Khi bạn hết dung lượng, ảnh chụp nhanh bị hỏng và không thể sửa chữa được.
  4. Ảnh chụp nhanh không thể được khôi phục / hợp nhất tại thời điểm này (xem http://kerneltrap.org/Linux/LVM_Snapshot_Merging ). Điều này có nghĩa là cách duy nhất để khôi phục dữ liệu từ ảnh chụp nhanh là sao chép thực sự (rsync?). NGUY HIỂM NGUY HIỂM: bạn không muốn làm điều này nếu dung lượng ảnh chụp ít nhất là kích thước của nguồn fs; Nếu bạn không sớm chạm tường gạch và kết thúc với cả fs nguồn và ảnh chụp nhanh bị hỏng. (Tôi đã từng ở đó!)

1
Khi nó xảy ra, chỉ cần một ai đó ngày nay đã xác nhận rằng vg với ảnh chụp - không-để-boot-linux vẫn còn hiện tại: bugs.launchpad.net/lvm2/+bug/360237
sehe

Xem xét lại lỗi này, họ vẫn nghĩ rằng các sự cố khởi động quá mức với ảnh chụp nhanh là "hành vi bình thường đối với lvm": bug.launchpad.net/lvm2/+orms/360237/comments/7 (vào ngày
2012-01 / 07

1
Cập nhật: Cùng trạng thái. Chỉ bây giờ là 7 năm nữa.
sehe

14

Một vài điều bổ sung để suy nghĩ.

  • Nếu một ổ đĩa chết trong một mảng RAID phần cứng bất kể hệ thống tập tin nằm trên nó, tất cả các khối trên thiết bị phải được xây dựng lại. Ngay cả những người không giữ bất kỳ dữ liệu. Mặt khác, ZFS là trình quản lý âm lượng, hệ thống tệp và quản lý dự phòng và phân loại dữ liệu. Vì vậy, nó có thể xây dựng lại một cách thông minh chỉ các khối có chứa dữ liệu. Điều này dẫn đến thời gian xây dựng lại nhanh hơn ngoài khi âm lượng đầy 100%.

  • ZFS có tính năng kiểm tra nền để đảm bảo rằng dữ liệu của bạn nhất quán trên đĩa và sửa chữa mọi vấn đề mà nó tìm thấy trước khi nó bị mất dữ liệu.

  • Các hệ thống tệp ZFS luôn ở trạng thái nhất quán nên không cần fsck.

  • ZFS cũng cung cấp tính năng và tính linh hoạt cao hơn với các ảnh chụp nhanh và bản sao so với các ảnh chụp nhanh được cung cấp bởi LVM.

Đã chạy các kho lưu trữ lớn để sản xuất video định dạng lớn trên ngăn xếp Linux, LVM, XFS. Kinh nghiệm của tôi là việc quản lý lưu trữ của bạn rất dễ dàng. Điều này có thể dẫn đến một lượng lớn không gian và thời gian / vấn đề được phân bổ không sử dụng với việc quản lý các Tập hợp lý của bạn. Đây có thể không phải là vấn đề lớn nếu bạn có một quản trị viên lưu trữ toàn thời gian, công việc của họ là quản lý vi mô lưu trữ. Nhưng tôi đã thấy rằng phương pháp lưu trữ nhóm của ZFS loại bỏ các vấn đề quản lý này.


8

ZFS là hoàn toàn tuyệt vời. Tôi đang sử dụng nó làm máy chủ tệp tại nhà cho máy chủ tệp HD 5 x 1 TB và tôi cũng đang sử dụng nó trong sản xuất với gần 32 TB dung lượng ổ cứng. Nó nhanh, dễ sử dụng và chứa một số biện pháp bảo vệ tốt nhất chống lại tham nhũng dữ liệu.

Chúng tôi đặc biệt đang sử dụng OpenSolaris trên máy chủ này vì chúng tôi muốn có quyền truy cập vào các tính năng mới hơn và vì nó cung cấp hệ thống quản lý gói mới và cách nâng cấp.


7

Hệ điều hành nào bạn định chạy? Hay đó là một phần khác của sự xem xét? Nếu bạn đang chạy Solaris, XFS thậm chí không phải là một tùy chọn theo như tôi biết. Nếu bạn không chạy Solaris, bạn dự định sử dụng ZFS như thế nào? Hỗ trợ bị hạn chế trên các nền tảng khác.

Nếu bạn đang nói về một máy chủ Linux, tôi sẽ gắn bó với Ext3 cá nhân, nếu chỉ vì nó nhận được nhiều thử nghiệm nhất. zfs-fuse vẫn còn rất trẻ. Ngoài ra, tôi đã gặp rắc rối với XFS một lần, khi một lỗi gây ra hỏng dữ liệu sau khi cập nhật kernel. Những lợi thế của XFS so với Ext3 chắc chắn không vượt quá chi phí liên quan đến việc khôi phục máy, được đặt trong một trung tâm dữ liệu từ xa.


6
FreeBSD có một cổng bản địa trưởng thành của ZFS
Brian Gianforcaro

7
wiki.freebsd.org/ZFSKnownProbols Tôi nghĩ rằng định nghĩa trưởng thành của bạn có thể khác với tôi :-) Có lẽ tôi sẽ xem xét nó sau khi 8.0 được phát hành.
Kjetil Limkjær

9
ext3 với 16TB? Không không không. Đừng làm việc đó. Bạn sẽ khóc. ZFS hoặc XFS là các hệ thống tập tin tốt nhất theo quan điểm của tôi. Sử dụng ZFS nếu bạn có thể (không chạy nó trên Linux). Tôi nói điều này với nhiều kinh nghiệm về khối lượng lớn trên Linux và Solaris trong hơn 5 năm.
Thomas

3
FreeBSD 7.2 sau 20090601 đã hiển thị hầu hết các mô hình ZFSKnownProbols. Nếu bạn đang chạy phiên bản AMD64 của HĐH, hiện tại nó đã ổn định. Trong 8.0, FreeBSD đã đánh dấu ZFS là đủ ổn định cho Sản xuất.
Walter

3
ZFS trên Linux hiện có sẵn ( zfsonlinux.org )
James Moore

7

Tôi không nghĩ bạn nên tập trung vào hiệu suất. Dữ liệu của bạn có an toàn với XFS, ext4, v.v không? Không. Đọc những luận án tiến sĩ và tài liệu nghiên cứu:

XFS không an toàn chống tham nhũng dữ liệu: Pages.cs.wisc.edu/~vshree/xfs.pdf

Và cũng không phải là ext3, JFS, ReiserFS, v.v .: zdnet.com/blog/st Storage / how-microsros- của Vijayan Mitchhakaran, IRON File Systems phân tích cách năm hệ thống tệp nhật ký hàng hóa - NTFS, ext3, ReiserFS, JFS và XFS - xử lý các vấn đề lưu trữ.

Tóm lại, ông thấy rằng tất cả các hệ thống tập tin đều có

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

Nhưng ZFS bảo vệ thành công dữ liệu của bạn. Đây là một tài liệu nghiên cứu về điều này: zdnet.com/blog/st Storage / zfs-data-integrity-test / 811


5

Không phải là câu trả lời theo định hướng của FS, nhưng xin lưu ý rằng một số bộ điều khiển đĩa sẽ không xử lý> 2TB LUNS / đĩa logic - điều này có thể hạn chế cách bạn tổ chức lưu trữ khá nhiều. Tôi chỉ muốn bạn biết để bạn có thể kiểm tra hệ thống của bạn từ đầu đến cuối để đảm bảo hệ thống sẽ xử lý 16TB trong suốt.


1

Nó phụ thuộc vào những tính năng bạn muốn ..., hai lựa chọn hợp lý là xfs và zfs như bạn đã nói, mã xfs được kiểm tra khá tốt Tôi lần đầu tiên sử dụng nó 8 năm trước theo IRIX

Có thể nhận được ảnh chụp nhanh từ xfs (sử dụng lvm và xfs_freeze)

Có thể có một thiết bị ghi nhật ký riêng, ví dụ SSD

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

Theo truyền thống, xfs lớn cần rất nhiều bộ nhớ để kiểm tra

Vấn đề với số không tăng lên là một tính năng "bảo mật", mà tôi nghĩ đã biến mất một thời gian trước đây.


1

Ngoài những gì đã được đề cập, từ quan điểm hiệu suất xfs trên cuộc đột kích cơ sở MD hoạt động tốt hơn so với zfs trên phương tiện truyền phát trực tuyến. Tôi đã sử dụng cùng một phần cứng trong nửa thập kỷ với xfs và khoảng thời gian tương tự với zfs trên máy chủ phương tiện của tôi. Trên Intel Atom 330 với xfs tôi không bao giờ gặp phải stuter, trên zfs trên các cảnh phức tạp, phần cứng tương tự không thể theo kịp và bắt đầu giảm khung hình.


0

Thay vì tự xây dựng, một giải pháp thay thế là Sun 7410 hay Toro. Nó có một số phần mềm rất hữu ích đi kèm với giải pháp.


0

Chà, đừng quên bổ sung mới nhất vào zfs: trùng lặp. Và hãy nói về việc chia sẻ iscsi, nfs hoặc smb trên bay. Như những người khác đã nói, xuất các hệ thống tệp zfs, ảnh chụp nhanh, kiểm tra khối raidz (= raid5), độ rộng sọc động, quản lý bộ đệm và nhiều thứ khác. Tôi bỏ phiếu cho zfs.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.