ZFS vs XFS

62

Kami sedang mempertimbangkan untuk membangun server penyimpanan ~ 16TB. Saat ini, kami mempertimbangkan ZFS dan XFS sebagai sistem file. Apa kelebihan dan kekurangannya? Apa yang harus kita cari? Apakah ada opsi ketiga yang lebih baik?

Tamas Czinege
sumber
7
Bahkan jangan membandingkannya. ZFS adalah sistem file tingkat perusahaan modern seperti jfs2, wafl. XFS bagus 10 tahun yang lalu tetapi hari ini hanya usia batu.
disserman
Dalam beberapa hal, Anda tidak dapat membandingkannya: XFS adalah sistem file; ZFS adalah sistem file dan banyak lagi: ia menggantikan sistem file, manajer volume (seperti LVM), dan RAID di samping itu. Namun, JFS tidak lagi dipertahankan jika memori berfungsi: namun, XFS aktif dan terpelihara dan kuat. Either way - ZFS atau XFS - Anda tidak bisa salah menurut saya.
Mei
1
Saya masih berpikir pertanyaan ini relevan, jadi saya akan menulis pengalaman kami di sini: XFS sederhana, Anda menginstalnya, jalankan, cepat, kerjanya. (Serangan HW di bawah). ZFS adalah save, memiliki kompresi, tetapi banyak pekerjaan untuk disetel agar bekerja secepat XFS. Jadi itu juga tergantung pada situasi yang Anda harapkan untuk dijalankan oleh server. (backend cluster. Penyimpanan pengguna, arsip, ...)
SvennD
Ada juga Hammer2 dragonflybsd.org/hammer
skan

Jawaban:

44

Saya menemukan XFS lebih cocok untuk sistem file yang sangat besar dengan kemungkinan banyak file besar. Saya sudah memiliki sistem file XFS 3.6TB yang berfungsi selama lebih dari 2 tahun sekarang tanpa masalah. Pasti berfungsi lebih baik daripada ext3, dll pada ukuran itu (terutama ketika berhadapan dengan banyak file besar dan banyak I / O).

Apa yang Anda dapatkan dengan ZFS adalah penggabungan perangkat, striping, dan fitur-fitur canggih lainnya yang dibangun ke dalam sistem file itu sendiri. Saya tidak dapat berbicara secara spesifik (saya akan membiarkan orang lain berkomentar), tetapi dari apa yang dapat saya katakan, Anda ingin menggunakan Solaris untuk mendapatkan manfaat maksimal di sini. Juga tidak jelas bagi saya berapa banyak ZFS membantu jika Anda sudah menggunakan perangkat keras RAID (seperti saya).

Mark Renouf
sumber
33
Fitur utama ZFS yang Anda (biasanya) tidak dapatkan di tempat lain adalah CRC tingkat blok, yang seharusnya mendeteksi (dan mudah-mudahan mencegah) korupsi data diam-diam. Sebagian besar sistem file berasumsi bahwa jika sebuah penulisan selesai dengan sukses, maka data tersebut memang ditulis ke disk. Itu tidak selalu terjadi, terutama jika suatu sektor mulai menjadi "marjinal". ZFS mendeteksi hal ini dengan memeriksa CRC terhadap hasil penulisan.
Avery Payne
3
Dan ya, saya suka banyak XFS. :) Satu-satunya Gotcha yang harus Anda ingat adalah kecenderungan untuk nol sektor yang "buruk" selama pemulihan jurnal. Dalam beberapa kasus (jarang), Anda dapat berakhir dengan beberapa kehilangan data ... Menemukan makalah ini dengan istilah pencarian Google "xfs nol sektor keluar setelah pemulihan" halaman.cs.wisc.edu/~vshree/xfs.pdf
Avery Payne
3
Salah satu hal yang saya sukai di XFS adalah program xfs_fsr"defragmentasi".
Cristian Ciupitu
1
Utilitas CRC tingkat blok ZFS dipertanyakan. Hard drive dan SSD menggunakan kode Hamming ECC untuk memperbaiki kesalahan bit tunggal dan melaporkan kesalahan dua bit. Jika ECC tidak dapat memperbaiki kesalahan pembacaan fisik secara transparan, data tetap hilang dan kegagalan membaca akan dilaporkan ke OS. CRC tidak memperbaiki kesalahan. Fitur ini didorong sebagai manfaat utama ZFS tetapi kenyataannya adalah berlebihan dan tidak memiliki nilai. Adapun bug zero-after-power-fail XFS, yang sudah diperbaiki sejak lama dan tidak relevan hari ini.
Jody Lee Bruchon
@JodyLeeBruchon apa yang Anda tulis salah: walaupun benar bahwa perangkat penyimpanan sudah memiliki kode paritas yang melekat pada data, itu tidak berarti mereka mampu melindungi data dari ujung ke ujung. Untuk mencapai tujuan ini tanpa chystemsumming filesystem, Anda memerlukan a) tumpukan penyimpanan SAS T10 / DIF / DIX atau b) gunakan devicemapper dm-integrity .
shodanshok
75

ZFS akan memberi Anda kelebihan di luar RAID perangkat lunak. Struktur perintah ditata dengan sangat cermat, dan intuitif. Itu juga mendapat kompresi, snapshots, kloning, kirim / terima sistem file, dan perangkat cache (drive SSD baru yang bagus) untuk mempercepat pengindeksan meta-data.

Kompresi:

#zfs set compression=on filesystem/home

Mendukung sederhana untuk membuat snapshot copy-on-write yang dapat dipasang langsung:

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

Kloning Filesystem:

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

Sistem File kirim / terima:

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

Kirim / terima tambahan:

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

Perangkat caching:

# zpool add filesystem cache ssddev

Ini semua hanyalah puncak gunung es, saya akan sangat menyarankan Anda menginstal Open Solaris dan mencoba ini.

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

Sunting : Ini sudah sangat tua, Open Solaris telah dihentikan, cara terbaik untuk menggunakan ZFS mungkin di Linux , atau FreeBSD .


Pengungkapan penuh: Saya dulunya adalah arsitek penyimpanan Sun, tetapi saya belum bekerja untuk mereka lebih dari setahun, saya hanya senang dengan produk ini.

Chris
sumber
Tautan itu tidak berfungsi untuk saya dengan www. Gunakanhttp://opensolaris.org/os/TryOpenSolaris/
aggregate1166877
Saya benar-benar mengatakan bahwa taruhan terbaik untuk zf masih FreeBSD. Sudah menjadi bagian dari sistem selama beberapa tahun. Jadi tebakan saya adalah, ada kemungkinan paling tidak untuk kejutan yang tidak menyenangkan. Meskipun hanya $ 0,02 saya.
Fox
18

menggunakan snapshot lvm dan xfs pada sistem file live adalah resep untuk bencana terutama ketika menggunakan sistem file yang sangat besar.

Saya telah berjalan secara eksklusif pada LVM2 dan xfs selama 6 tahun terakhir di server saya (di rumah bahkan sejak zfs-fuse terlalu lambat) ...

Namun, saya tidak dapat lagi menghitung mode kegagalan yang berbeda yang saya temui saat menggunakan foto. Saya sudah berhenti menggunakannya sama sekali - itu terlalu berbahaya.

Satu-satunya pengecualian yang akan saya buat sekarang adalah cadangan mailserver / webserver pribadi saya, di mana saya akan melakukan backup semalam menggunakan snapshot singkat, yang selalu sama dengan ukuran sumber fs, dan akan dihapus segera setelahnya.

Aspek terpenting yang perlu diingat:

  1. jika Anda memiliki sistem file (ish) besar yang memiliki snapshot, kinerja penulisan sangat buruk
  2. jika Anda memiliki sistem file (ish) besar yang memiliki snapshot, waktu boot akan tertunda dengan puluhan menit sementara disk akan mengocok dan mengaduk selama impor grup volume. Tidak ada pesan yang akan ditampilkan. Efek ini terutama mengerikan jika root pada lvm2 (karena menunggu perangkat root akan habis dan sistem tidak bisa boot)
  3. jika Anda memiliki foto, sangat mudah kehabisan ruang. Setelah Anda kehabisan ruang, foto itu rusak dan tidak dapat diperbaiki.
  4. Snapshots tidak dapat digulung / digabungkan saat ini (lihat http://kerneltrap.org/Linux/LVM_Snapshot_Merging ). Ini berarti satu-satunya cara untuk mengembalikan data dari snapshot adalah dengan benar-benar menyalin (rsync?). BAHAYA BERBAHAYA: Anda tidak ingin melakukan ini jika kapasitas snapshot tidak setidaknya ukuran sumber fs; Jika tidak, Anda akan segera menabrak dinding bata dan berakhir dengan sumber fs dan snapshot rusak. (Aku pernah disana!)
lihat
sumber
1
Seperti yang terjadi, baru hari ini seseorang mengkonfirmasi bahwa vg dengan snapshot - tidak dapat mem-boot-linux masih terkini: bugs.launchpad.net/lvm2/+bug/360237
sehe
Melihat kembali bug ini, mereka masih berpikir bahwa masalah boot yang buruk dengan snaphots adalah "perilaku normal untuk lvm ": bugs.launchpad.net/lvm2/+bug/360237/comments/7 (on 2012-01-07)
sehe
1
Pembaruan: Keadaan yang sama. Hanya sekarang sudah 7 tahun lebih.
lihat
14

Beberapa hal tambahan untuk dipikirkan.

  • Jika drive mati dalam array RAID perangkat keras terlepas dari sistem file yang ada di atasnya semua blok pada perangkat harus dibangun kembali. Bahkan yang tidak memiliki data apa pun. ZFS di sisi lain adalah manajer volume, sistem file, dan mengelola redundansi dan striping data. Jadi itu cerdas hanya bisa membangun kembali blok yang berisi data. Ini menghasilkan waktu pembuatan kembali yang lebih cepat selain ketika volume penuh 100%.

  • ZFS memiliki penggosokan latar belakang yang memastikan bahwa data Anda tetap konsisten pada disk dan memperbaiki setiap masalah yang ditemukan sebelum mengakibatkan hilangnya data.

  • Sistem file ZFS selalu dalam keadaan konsisten sehingga tidak perlu fsck.

  • ZFS juga menawarkan lebih banyak fleksibilitas dan fitur dengan snapshot dan klonnya dibandingkan dengan snapshot yang ditawarkan oleh LVM.

Setelah menjalankan kolam penyimpanan besar untuk produksi video format besar di Linux, LVM, XFS stack. Pengalaman saya adalah mudahnya mengelola mikro penyimpanan Anda. Ini dapat menghasilkan sejumlah besar ruang dan waktu / masalah yang dialokasikan tidak terpakai dengan mengelola Volume Logika Anda. Ini mungkin bukan masalah besar jika Anda memiliki administrator penyimpanan penuh waktu yang tugasnya mengelola mikro penyimpanan. Tapi saya telah menemukan bahwa pendekatan penyimpanan kumpulan ZFS menghilangkan masalah manajemen ini.

Pengaruh 3d
sumber
8

ZFS benar-benar luar biasa. Saya menggunakannya sebagai server file rumah saya untuk server file HD 5 x 1 TB, dan saya juga menggunakannya dalam produksi dengan hampir 32 TB ruang hard drive. Cepat, mudah digunakan, dan berisi beberapa perlindungan terbaik terhadap korupsi data.

Kami menggunakan OpenSolaris pada server ini khususnya karena kami ingin memiliki akses ke fitur-fitur yang lebih baru dan karena itu menyediakan sistem manajemen paket baru dan cara peningkatan.

X-Istence
sumber
7

OS mana yang Anda rencanakan untuk dijalankan? Atau apakah itu bagian lain dari pertimbangan? Jika Anda menjalankan Solaris, XFS bahkan bukan pilihan sejauh yang saya tahu. Jika Anda tidak menjalankan Solaris, bagaimana Anda berencana menggunakan ZFS? Dukungan terbatas pada platform lain.

Jika Anda berbicara tentang server Linux, saya akan tetap menggunakan Ext3 secara pribadi, jika hanya karena ia menerima paling banyak pengujian. zfs-fuse masih sangat muda. Juga, saya pernah mengalami masalah dengan XFS, ketika bug menyebabkan kerusakan data setelah pembaruan kernel. Kelebihan XFS daripada Ext3 jelas tidak melebihi biaya yang diperlukan untuk memulihkan mesin, yang terletak di pusat data jarak jauh.

Kjetil Limkjær
sumber
6
FreeBSD memiliki pelabuhan asli matang ZFS
Brian Gianforcaro
7
wiki.freebsd.org/ZFSKnownProblems Saya pikir definisi Anda tentang orang dewasa mungkin berbeda dari saya :-) Mungkin saya akan mempertimbangkannya setelah 8.0 dirilis.
Kjetil Limkjær
9
ext3 dengan 16TB? Tidak tidak Tidak. Jangan lakukan itu. Kamu akan menangis. ZFS atau XFS adalah filesystem terbaik menurut saya. Gunakan ZFS jika Anda bisa (jangan jalankan di Linux). Saya mengatakan ini dengan banyak pengalaman pada volume besar di Linux dan Solaris selama 5 tahun.
Thomas
3
FreeBSD 7.2 setelah 20090601 telah merender sebagian besar ZFSKnownProblems moot. Jika Anda menjalankan OS versi AMD64, sekarang sudah stabil. Pada 8.0, FreeBSD telah menandai ZFS sebagai cukup stabil untuk Produksi.
Walter
3
ZFS di Linux tersedia sekarang ( zfsonlinux.org )
James Moore
7

Saya tidak berpikir Anda harus fokus pada kinerja. Apakah data Anda aman dengan XFS, ext4, dll? Tidak. Baca tesis PhD dan makalah penelitian ini:

XFS tidak aman terhadap korupsi data: pages.cs.wisc.edu/~vshree/xfs.pdf

Dan tidak ada ext3, JFS, ReiserFS, dll: zdnet.com/blog/storage/how-microsoft-puts-your-data-at-risk/169?p=169&tag=mantle_skin%3bcontent "Saya menemukan tesis PhD yang menarik dari Vijayan Prabhakaran, Sistem File BESI yang menganalisis bagaimana lima sistem file penjurnalan komoditas - NTFS, ext3, ReiserFS, JFS dan XFS - menangani masalah penyimpanan.

Singkatnya dia menemukan bahwa semua sistem file miliki

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

Tetapi ZFS berhasil melindungi data Anda. Berikut ini makalah penelitian tentang ini: zdnet.com/blog/storage/zfs-data-integrity-tested/811


sumber
5

Bukan jawaban yang berorientasi pada FS maaf tetapi perlu diketahui bahwa sejumlah pengontrol disk tidak akan berurusan dengan> 2TB LUNS / logical-disks - ini dapat membatasi cara Anda mengatur penyimpanan Anda sedikit. Saya hanya ingin Anda waspada sehingga Anda dapat memeriksa sistem end-to-end Anda untuk memastikan itu akan menangani 16TB secara keseluruhan.

Chopper3
sumber
1

Itu tergantung fitur apa yang Anda inginkan ..., dua pilihan yang masuk akal adalah xfs dan zfs seperti yang Anda katakan, kode xfs sudah teruji dengan baik Saya pertama kali menggunakannya 8 tahun yang lalu di bawah IRIX

Dimungkinkan untuk mendapatkan snapshot dari xfs (menggunakan lvm dan xfs_freeze)

Dimungkinkan untuk memiliki perangkat log yang terpisah misalnya SSD

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

XFS besar biasanya membutuhkan banyak memori untuk diperiksa

Masalah dengan nol yang muncul adalah fitur "keamanan", yang saya pikir menghilang beberapa waktu lalu.

James
sumber
1

Terlepas dari apa yang telah disebutkan, dari sudut pandang kinerja xfs pada MD raid berkinerja lebih baik daripada zfs pada media streaming. Saya telah menggunakan perangkat keras yang sama persis selama setengah dekade dengan xfs dan kira-kira jumlah waktu yang sama dengan zfs di server media saya. Pada Intel Atom 330 dengan xfs, saya tidak pernah mengalami stuter, pada zfs pada adegan kompleks, perangkat keras yang sama tidak dapat mengikuti dan mulai menjatuhkan bingkai.

pengguna718960
sumber
0

Daripada membangun sendiri, alternatifnya adalah Sun 7410 alias Toro. Ini memiliki beberapa perangkat lunak yang sangat berguna yang dibundel dengan solusinya.

Jauder Ho
sumber
0

Nah teman-teman, jangan lupa tentang penambahan terbaru untuk zfs: deduplication. Dan mari kita bicara tentang iscsi, nfs atau berbagi seseorang dengan cepat. Seperti yang telah dikatakan orang lain, ekspor sistem file zfs, snapshots, raidz (= raid5) memblokir checksum, lebar strip dinamis, pengelolaan cache dan banyak lainnya. Saya memilih zfs.

PiL
sumber