Sistem file Linux untuk server file besar

8

Saya ingin tahu, dari orang-orang yang lebih berpengalaman, apa yang akan menjadi pilihan terbaik sistem file untuk digunakan untuk server file yang memiliki lebih dari 20TB hard disk. Secara pribadi saya selalu menggunakan EXT3 (dulu) dan EXT4 (sejak tersedia) [dan sekali ReiserFS 3 meskipun itu menyebabkan banyak data korupsi] pada komputer pribadi saya dan pada disk "server kecil" BOOT dan ROOT disk.

Namun karena alat EXT4 (meskipun bukan EXT4 sendiri) terbatas pada partisi 16TB, ini mungkin bukan taruhan terbaik saya. Distribusi akan menjadi Debian 6.0 (Squeeze) dan / atau Gentoo (versi terbaru), jadi kernel harus cukup baru (setidaknya di Debian dengan backports), yang berarti kernel linux> = 2.6.32.

File server akan digunakan untuk tiga tujuan utamanya (dan partisi yang terpisah juga, karena tujuannya adalah untuk menjaga data "aman" dan tidak terlalu peduli dengan overhead). Semua disk akan dienkripsi menggunakan LUKS :

  1. Media, unduhan dan repositori debian lokal [Saya memiliki setidaknya 6 mesin yang menjalankan Debian]> 20TB (mungkin pemisahan lebih lanjut antara repositori Media, Unduhan dan Debian)
  2. Data (Dokumen, Foto, ...) ~ 4TB AMAN (artinya raid1 atau raid6 + disk cadangan)
  3. Cadangan> = 20 TB untuk pencadangan komputer lain di gigabit lan saya (dapatkah Anda menyarankan perangkat lunak yang mencadangkan seluruh OS bahkan jika itu windows, BackupPC mengatakan itu, alternatif lain?)

Kecepatan cepat tidak benar-benar diperlukan (akses bersamaan: maksimum 2 atau 3 file besar, katakan video), bahkan jika itu "hanya" 200MB / s dibaca dari 10 HDD Raid6 saya bisa hidup dengan itu.

Singkatnya saya mencari sistem file yang andal, scalable (yaitu mudah diperluas) yang mendukung lebih dari 20TB / partisi. Semakin aman dan dapat diandalkan FS, semakin baik. Perangkat keras yang digunakan setidaknya merupakan quad core (amd x4 630 atau intel i5-2500k) dan banyak RAM (> 8GB, mungkin> 16GB) sehingga persyaratan perangkat keras harus dipenuhi.

PC / Server saya akan terhubung ke UPS (Catu Daya Tidak Terputus) seandainya listrik padam. Mungkin juga media dan cadangan pada mesin yang terpisah (yaitu dua server).

pengguna51166
sumber
7
Pada skala ini, Anda benar-benar perlu secara serius mengevaluasi ZFS. Membangun kembali waktu dan tingkat kesalahan menjadi masalah serius dengan cakram sebanyak yang Anda bicarakan dan zfs adalah satu-satunya fs stabil yang tersedia sekarang dengan pemeriksaan kesalahan yang kuat dan koreksi sepanjang jalan melalui tumpukan.
Afrazier
1
ZFS tidak didukung secara native linux (hanya dengan FUSE) atau didukung secara native dalam keadaan pra-alfa awal. Saya tidak mempertimbangkan menggunakan solaris sebagai opsi. Tidak pernah mencoba FreeBSD sekali dan mungkin tertarik, namun saya tidak melakukannya sekarang jika dukungan serangan perangkat lunaknya (dan dukungan perangkat keras umum) sama baiknya dengan linux
user51166
1
Saya tahu, tetapi ZFS berjalan secara native di platform lain. Walaupun dukungan perangkat keras tidak sama dengan Linux, yang seharusnya menjadi kekhawatiran Anda paling sedikit. ZFS adalah tumpukan penyimpanan penuh, sehingga serangan perangkat lunak tidak sesuai. Evaluasilah bagaimana Anda akan menyimpan, mengelola, melindungi, dan mencadangkan data Anda terlebih dahulu sebelum memilih OS atau sistem penyimpanan Anda. Jangan mengabaikan ZFS hanya karena itu bukan asli di Linux, itu mungkin solusi penyimpanan paling canggih yang tersedia secara gratis saat ini.
Afrazier
Terima kasih atas balasan Anda, tetapi saya tidak mengerti: bahkan jika saya dapat menggunakan FreeBSD tanpa masalah (tidak begitu yakin tentang hal itu), apakah ada sesuatu seperti serangan perangkat lunak yang diterapkan? Apa pun seperti LUKS (Linux Encryption) untuk FreeBSD? Terima kasih. Saya akrab dengan kebanyakan GNU / Linux Gentoo dan Debian. Server adalah server rumah .
user51166
Atau Anda menyarankan sistem operasi lain selain FreeBSD?
user51166

Jawaban:

3

Banyak orang menyarankan ZFS. Tetapi ZFS tidak tersedia secara native di Linux kecuali melalui sekring. Saya tidak akan merekomendasikan ini untuk situasi Anda di mana kinerja cenderung penting.

Sayangnya, ZFS tidak akan pernah tersedia sebagai modul kernel asli kecuali masalah lisensi diselesaikan.

XFS bagus, tetapi beberapa orang telah melaporkan masalah korupsi dan saya tidak bisa mengomentari itu. Saya telah bermain dengan partisi XFS kecil dan tidak memiliki masalah ini tetapi tidak dalam produksi.

ZFS memiliki terlalu banyak kelebihan & fitur berguna yang tidak dapat diabaikan begitu saja. Singkatnya mereka (lihat ZFS Wiki untuk deskripsi lengkap tentang apa artinya):

  • Integritas data
  • Kolam penyimpanan
  • L2ARC
  • Kapasitas tinggi
  • Salin saat menulis
  • Jepretan & klon
  • Striping dinamis
  • Ukuran blok variabel
  • Pembuatan sistem file yang ringan
  • Manajemen cache
  • Endianness adaptif
  • Deduplikasi
  • Enkripsi

Jadi bagaimana kita mengatasinya? Alternatif yang saya sarankan yang mungkin sesuai dengan situasi Anda adalah dengan mempertimbangkan nexenta . Ini adalah kernel Open Solaris dengan alat GNU userland berjalan di atas. Memiliki kernel Open Solaris berarti menyediakan ZFS secara asli.

Matt H
sumber
Dari situs mereka, "Edisi Komunitas: Tidak terbatas, versi GRATIS untuk penyimpanan hingga 18TB". Sepertinya saya mendapatkan batasan lain seperti EXT4
user51166
Dan saya mengerti bahwa ZFS adalah "yang terbaik" seperti yang hampir semua dari Anda katakan. Hanya mencoba mencari tahu sistem operasi "terbaik" / distribusi solaris yang dapat menjalankannya.
user51166
Debian GNU / kFreeBSD tampaknya mendukung ZFS dan saya menyukai cara Debian, tidak yakin saya dapat menggunakan ini karena ada komunitas pendukung yang kecil dan masih memiliki beberapa bug utama.
user51166
@ user51166 - Anda juga harus mempertimbangkan FreeBSD atau FreeNAS jika server Anda murni untuk penyimpanan. Keduanya memiliki dukungan ZFS.
Matt H
4

Anda harus mencoba XFS, cocok dengan kebutuhan Anda:

XFS adalah sistem file 64-bit. Ini mendukung ukuran sistem file maksimum 8 exbibytes minus satu byte, meskipun ini tunduk pada batas blok yang ditentukan oleh sistem operasi host. Pada sistem Linux 32-bit, ini membatasi ukuran file dan sistem file hingga 16 tebibytes.

aleroot
sumber
Saya mendengar itu dapat menyebabkan kehilangan data saat menghadapi pemadaman listrik dan penjurnalannya tidak mencakup data (hanya jurnal tentang metadata). Pernah menggunakannya sekali di desktop saya tetapi menghasilkan banyak kesalahan fsck, oleh karena itu saya lebih suka untuk tidak menggunakannya lagi. Saya ulangi: kinerja bukan ruang lingkup (utama) dari pilihan ini: stabilitas.
user51166
Saya tidak berpikir bahwa XFS tidak stabil, saya menggunakannya di beberapa server file dan saya tidak punya masalah ...
aleroot
Tidak, ini stabil dalam arti memiliki versi stabil. Apakah itu menyiratkan bahwa saya tidak akan kehilangan data selama bertahun-tahun? XFS tentu baik jika Anda mencari kinerja, meskipun saya ingat membaca di internet ada masalah kehilangan data (meskipun untungnya tidak sebanyak dengan reiser 3 untungnya). Lupa menentukan, tetapi saya melihat pengaturan LUKS, oleh karena itu LVM akan digunakan , jika itu dapat membantu.
user51166
Tidak ada FileSystem yang sempurna ... Saya pikir untuk kebutuhan Anda XFS paling cocok. Seharusnya tidak ada masalah menggunakan LVM di XFS.
aleroot
Tentunya tidak. Adakah "batasan" / "karakteristik" khusus? Masalah fsck dan / atau defragmentasi daring seperti masalah ext4?
user51166
4

Pilihan termudah Anda adalah menggunakan XFS. Banyak pengalaman buruk di sekitar XFS didasarkan pada versi lama dan masalah perangkat keras desktop yang saya pikir tidak benar-benar relevan untuk penyebaran baru ke perangkat keras server kualitas standar. Saya menulis posting blog tentang subjek ini yang dapat membantu Anda menyelesaikan situasi saat ini. Ada beberapa instalasi database XFS yang sibuk dengan ratusan pengguna dan terabyte data yang saya bantu kelola. Semuanya ada di kernel Debian Lenny (2.6.26) atau lebih baru dan saya belum pernah mendengar sedikit pun masalah dengan mereka selama bertahun-tahun. Saya tidak akan menggunakan XFS dengan kernel yang lebih awal dari itu. Saya telah mendengar beberapa laporan langsung dari orang-orang yang melihat perilaku XFS aneh masih ketika sistem kehabisan memori atau ruang disk; Saya belum melihat itu sendiri.

Satu-satunya pilihan masuk akal lainnya adalah menggunakan ext4 dengan beberapa peretasan untuk mendukung sistem file yang lebih besar. Saya tidak menyangka akan memiliki tingkat keandalan yang sangat berbeda. Saya harus memulihkan data dari beberapa sistem ext4 yang rusak yang mengalami bug kernel, sejauh ini semuanya sudah diperbaiki di hulu tetapi tidak di kernel distributor saat itu. ext4 memiliki masalah metadata sendiri seperti kehilangan data alokasi yang tertunda , hal-hal yang lebih kecil kemungkinannya terjadi pada ext3. Saya akan memperkirakan kemungkinan Anda mengenai bug ext4 akan lebih tinggi dari biasanya jika Anda memaksanya melebihi batas ukuran normal, hanya karena tampaknya Anda akan lebih mungkin mengenai jalur kode baru yang kurang teruji dengan baik di beberapa titik. .

Gagasan alternatif adalah menggunakan ext3 yang lebih aman dan membosankan, menerima batas 16TB, dan mempartisi segalanya dengan lebih baik sehingga tidak ada sistem file tunggal yang sebesar itu.

Satu ujung yang terkait dengan masalah jurnal. Anda tidak berbicara tentang bagaimana semua drive ini akan terhubung. Pastikan Anda memahami implikasi dari setiap cache tulis yang ada dalam rantai penyimpanan Anda di sini. Nonaktifkan atau pastikan sistem file mengeluarkan cache. Saya telah menyembunyikan beberapa sumber tentang hal itu di Tulisan Andal jika itu belum Anda periksa.

Drive menyedot. Array RAID menyedot. Sistem file payah. Banyak kegagalan terjadi. Saya senang melihat Anda sudah memikirkan cadangan; beralih dari keandalan yang baik ke keandalan yang tinggi membutuhkan lebih dari sekadar RAID dan beberapa drive cadangan. Redundansi membutuhkan biaya pada setiap level, dan uang untuk kompleksitas perangkat keras vs. lunak yang sulit dinavigasi. Dan perhatikan ekspektasi kinerja Anda. Sementara array RAID seperti yang Anda pertimbangkan akan dengan mudah melakukan ratusan MB / s, yang diperlukan hanyalah dua pembaca bersamaan yang mencari disk secara terus-menerus untuk menjatuhkannya menjadi hanya beberapa MB / s sebagai gantinya. Saya dapat dengan mudah menghancurkan array RAID10 24 disk sehingga hanya memberikan <5MB / s terhadap beban kerja patokan . Satu hal yang membantu di sana adalah memastikan Anda mengubah readahead ke atas jika beberapa pembaca streaming dimungkinkan.

Greg Smith
sumber
Saya akan menggunakan ini di rumah, oleh karena itu saya berencana untuk menggunakan perangkat keras utama. Mungkin juga menggunakan Hardware server tetapi saya masih harus melihat apa yang SB-E akan tawarkan tahun depan di departemen xeon (saya juga ingin bermain sedikit dengan virtualisasi). Jika tidak terlalu mahal, saya berencana menggunakan perangkat keras server murah dan memori ECC (banyak). Dari segi kinerja, saya tidak ingin sesuatu yang luar biasa.
user51166
Dan ya, saya sedang berpikir tentang cadangan, tetapi masih belum menerapkannya. Saya masih mencari solusi cadangan yang mampu membuat gambar sistem dan / atau dengan mudah tar / zip / ... folder yang diperlukan dengan antarmuka manajemen yang memungkinkan pemulihan otomatis. BackupPC tampaknya hanya sedikit terbatas dan tidak yakin saya percaya Crashplan (menggunakannya untuk membuat cadangan data ke lokasi terpencil, ingin redundansi karena itu sistem lain). Apakah saya harus menulis GUI web sendiri atau sesuatu seperti ini sudah ada (perangkat lunak open source, atau setidaknya gratis untuk menggunakan)
user51166
2

Menggunakan ZFS menggunakan FreeBSD dapat terjadi di sini menggunakan gbde untuk enkripsi. ZFS sendiri akan menjadi penyedia perangkat lunak RAID, melalui RAIDZ . Kompleksitas manajemen penyimpanan membangun zpool tidak jauh berbeda dari apa yang akan dilakukan Linux dengan mdadm, dan dalam beberapa kasus sebenarnya akan lebih mudah. Instalasi ZFS pertama saya (pada Solaris 10 sekitar 3 tahun yang lalu) memiliki sistem file 17TB lebih dari 48 drive. Saya selamat dari beberapa kegagalan di sana tanpa masalah, mempelajari manajemen ZFS ketika saya pergi.

Keuntungan utama adalah bahwa checksumming ZFS menyediakan deteksi kesalahan yang lebih baik daripada Linux, yang merupakan pertahanan terhadap perangkat keras yang buruk yang patut dipertimbangkan. Kerugian utama di sekitar FreeBSD menjadi kurang populer. Anda belum tahu bagaimana cara mengaturnya, dukungan perangkat keras sedikit lebih lemah daripada Linux, dan karena ini adalah platform yang kurang populer, tidak banyak orang yang meminta bantuan jika Anda mengalami masalah.

Array penyimpanan banyak terabyte benar-benar menyoroti apa yang baik pada ZFS. Ada baiknya mempertimbangkan dengan serius jika Anda mau terjun ke sesuatu yang baru. Jika Anda ingin menjelajahi paranoia cadangan yang sebenarnya, buat server cadangan Linux dan FreeBSD, untuk mengurangi kemungkinan bug OS sebagai satu-satunya penyebab kegagalan.

Greg Smith
sumber
Sudah memiliki Linux sebagai server file dan saya masih harus benar-benar mulai menggunakannya (saya hanya memulai beberapa tes perangkat lunak RAID-6 + LUKS pada 6 disk). Satu-satunya masalah adalah saya hanya punya sedikit waktu untuk bermain dengannya. Saya suka jawaban Anda. Jadi apa yang Anda sarankan sebagai sistem operasi jika menggunakan cara ZFS? FreeBSD dan opensolaris (tidak dipertahankan lagi), OpenIndiana (OpenSolaris opensource seperti yang saya lihat) dan Solaris Express 11 (Oracle: S) tampaknya menjadi satu-satunya pilihan. Saya tidak menggunakan ini di tempat kerja, ini hobi saya di rumah, tapi saya tetap ingin sesuatu yang stabil dan yang mudah digunakan juga.
user51166
Saya sudah benar-benar terbiasa menggunakan aptitude dan emerge. Pemahaman saya tentang bagaimana Anda mengkompilasi / mengelola / memperbarui port di freebsd (cd / usr / ... && make install) adalah bahwa itu sepertinya tidak "benar" (Saya harap purist akan memaafkan saya untuk penggunaan istilah ini , tapi rasanya aneh bagi saya bahwa jika Anda ingin memperbarui paket Anda harus melakukan itu, tidak ada penyelesaian ketergantungan otomatis [Saya hanya melihat sedikit pada manual FreeBSD]). Atau ada sistem manajemen paket sederhana seperti debian atau gentoo?
user51166
Saya sudah tahu bahwa saya hanya dapat rsync apa yang saya inginkan atau tar / diff dll tetapi saya ingin tahu apakah ada yang lebih praktis sudah ada. Terima kasih
user51166
-1

Menurut halaman perbandingan sistem file wikipedia , ada banyak sistem file terkenal yang sesuai dengan kebutuhan Anda seperti JFS, XFS, UDF, ZFS, GPFS dan Btrfs. Cukup klik ukuran file maksimum untuk mengurutkan dan memilih yang paling tepat

phuclv
sumber