Saya membangun server file FreeBSD di rumah menggunakan ZFS.
Ini adalah AMD X2 3200+ dengan 3GB RAM. Ini memiliki PCI Express Gig-E. Boot drive adalah 400GB tua dan saya punya 4 750GB Seagte drive (satu dengan versi firmware yang berbeda, untuk berjaga-jaga).
Booting dari ZFS akan lebih baik (itu akan membuat instal lebih sederhana), tapi saya menggunakan petunjuk ZFSOnRoot untuk mengatur drive Root / OS dengan ZFS (jika semua partisi adalah ZFS, maka tidak perlu melakukan fsck saat boot untuk memeriksa sistem file UFS). Alasan Anda menginginkan ini sehingga Anda dapat mengatur semua partisi Anda (/ var, / usr, / tmp, dll.) Dengan opsi yang berbeda seperti yang diperlukan (seperti noatime dan async untuk / usr / obj, yang akan mempercepat kernel kompilasi), tetapi mereka semua akan berbagi ruang dari kolam bersama. Kemudian Anda dapat mengatur drive data dan memberikan masing-masing pengguna partisi sendiri (dengan kutipan dan pengaturan yang berbeda). Anda kemudian dapat mengambil snapshot (yang berbiaya rendah di ZFS).
My home server has a df that looks like:
/dev/ad0s1a 1.9G 744M 1.1G 41% /
devfs 1.0K 1.0K 0B 100% /dev
dozer/data 1.8T 62G 1.7T 3% /data
dozer/home 1.7T 9.6G 1.7T 1% /home
dozer/home/walterp 1.9T 220G 1.7T 11% /home/walterp
tank/tmp 352G 128K 352G 0% /tmp
tank/usr 356G 4.4G 352G 1% /usr
tank/var 354G 2.2G 352G 1% /var
Dari segi kinerja, menyalin file sangat cepat. Satu hal yang saya perhatikan adalah bahwa saya telah menggunakan ZFS pada sistem AMDBS FreeBSD yang memiliki 3-4GB dan telah bekerja dengan baik, tetapi dari bacaan saya, saya akan khawatir menjalankannya pada sistem i386 yang memiliki 2GB atau lebih sedikit memori.
Saya kehabisan port SATA pada motherboard, jadi saya belum mencoba menambahkan drive baru. Pengaturan awal sederhana, perintah untuk membuat RAIDZ dan kemudian perintah untuk membuat / rumah, yang diformat dalam hitungan detik (IIRC). Saya masih menggunakan versi ZFS (v6) yang lebih lama, jadi ia memiliki beberapa keterbatasan (Tidak memerlukan drive dengan ukuran yang sama, tetapi tidak seperti Drobo, jika Anda memiliki 3 750GB drive dan 1TB drive, hasil akhirnya akan seperti jika Anda memiliki 4 750GB drive).
Salah satu alasan utama saya menggunakan ZFS dengan RAIDZ adalah checksum end-to-end. CERN menerbitkan sebuah makalah yang mendokumentasikan tes yang mereka lakukan di mana mereka menemukan 200+ kesalahan pembacaan yang tidak dikoreksi saat menjalankan tes R / W selama beberapa minggu (ECC dalam drive ritel diperkirakan mengalami kegagalan setiap 12TB dibaca). Saya ingin data di server saya benar. Saya mengalami crash keras karena pemadaman listrik (seseorang membebani UPS dengan memasang pemanas ruangan), tetapi ketika sistem dapat kembali, ZFS kembali dengan cepat, tanpa masalah fsck standar.
Saya menyukainya, karena saya kemudian dapat menambahkan CUPS ke Samba untuk mendapatkan server cetak. Saya menambahkan cache DNS dan dapat menambahkan perangkat lunak lain yang saya suka (Saya sedang berpikir tentang menambahkan pemantauan SNMP ke desktop di rumah saya untuk mengukur penggunaan bandwidth). Untuk apa yang saya habiskan di sistem, saya yakin saya bisa membeli kotak NAS murah, tapi kemudian saya tidak akan memiliki kotak Unix lokal 64-bit untuk dimainkan. Jika Anda suka FreeBSD saya akan mengatakan pergi dengannya. Jika Anda lebih suka Linux, maka saya akan merekomendasikan solusi Linux. Jika Anda tidak ingin melakukan administrasi, saat itulah saya akan pergi untuk kotak NAS yang berdiri sendiri.
Pada putaran berikutnya dari peningkatan perangkat keras, saya berencana untuk meningkatkan perangkat keras dan kemudian menginstal versi FreeBSD saat ini, yang memiliki ZFS v13. V13 keren karena saya memiliki baterai yang didukung RAM disk yang dapat saya gunakan untuk ZIL log (ini membuat menulis jeritan). Ini juga memiliki dukungan untuk menggunakan SSD untuk mempercepat file server (spesifikasi pada Server File Sun baru manis, dan mereka mendapatkannya dari sistem ZFS yang menggunakan SSD untuk membuat sistem sangat cepat).
EDIT: (Belum dapat meninggalkan komentar). Saya cukup banyak mengikuti instruksi di http://www.ish.com.au/solutions/articles/freebsdzfs . Satu perubahan besar yang ada di 7.X sejak instruksi tersebut ditulis adalah 7.2 keluar dan jika Anda memiliki 2+ GB, Anda tidak perlu menambahkan tiga baris berikut di /boot/loader.conf:
vm.kmem_size_max="1024M"
vm.kmem_size="1024M"
vfs.zfs.arc_max="100M"
Instruksi juga menjelaskan cara membuat cermin dan cara mengembalikan sistem ke mode pemulihan (mount dengan ZFS). Setelah bermain dengan instruksinya sekali atau dua kali, saya kemudian menggunakan manual ZFS Admin dari Sun http://opensolaris.org/os/community/zfs/docs/zfsadmin.pdf untuk lebih memahami apa itu ZFS. Untuk membuat penyimpanan data, saya menggunakan versi modifikasi dari perintah pada Halaman 91 untuk membuat kumpulan ZFS. Ini FreeBSD, saya harus membuat perubahan kecil:
zpool create dozer raidz /dev/ad4 /dev/ad6 /dev/ad8 /dev/ad10
Di mana ad4-ad10 di mana ditemukan dengan melakukan dmesg | grep 'ata. * Master', ini adalah nama-nama hard drive SATA pada sistem yang akan digunakan untuk partisi big data. Pada motherboard saya, tiga ata port pertama (ad0-3) di mana 4 port PATA dan kemudian karena masing-masing port SATA adalah master, tidak ada angka lama.
Untuk membuat sistem file, saya baru saja melakukannya:
zfs create dozer/data
zfs set mountpoint=/data dozer/tank
Perintah kedua diperlukan karena saya mematikan mountpoints default untuk share.