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.
Pendahuluan: Saya akhirnya membangun sistem saya, dan inilah catatan saya, kalau-kalau itu membantu orang lain.
Tujuan:
Spesifikasi:
Rancangan:
Kami menggunakan ZFS sebagai sistem file, karena telah mendapatkan ulasan yang menguntungkan. ZFS cukup banyak mengharuskan kita menjalankan OS 64 bit, dan suka banyak memori, jadi saya harus mendapatkan minimum 4Gb
Perangkat keras:
ABS Aplus ABS-CS-Monolith Hitam SECC Steel ATX Kasus Komputer Menara Penuh - 1 @ $ 69,99 http://www.newegg.com/Product/Product.aspx?Item=N82E16811215009
Western Digital Caviar Green WD5000AADS 500GB SATA 3.0Gb / s 3.5 "Hard Drive 6 @ $ 347.94 ($ 57,99 ea) http://www.newegg.com/Product/Product.Product.aspx?Item=N82E16822136358
XIGMATEK XLF-F1253 120mm 4 LED putih LED Case Fan - 1 @ $ 8,99 http://www.newegg.com/Product/Product.aspx?Item=N82E16835233015
LITE-ON Black IDE DVD-ROM Model Drive iHDP118-08 - 1 @ $ 19,99 http://www.newegg.com/Product/Product.aspx?Item=N82E16827106275
Sangat penting 4GB (2 x 2GB) 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400) CT2KIT25664AA800 - 1 @ $ 45,99 http://www.newegg.com/Product/Product.aspx?Item=N82E16820148160
GIGABYTE GA-MA74GM-S2 AM2 + / AM2 AMD 740G Micro ATX Motherboard AMD - 1 @ $ 54,99 http://www.newegg.com/Product/Product.aspx?Item=N82E16813128342
OKGEAR 18 "Model Kabel SATA II GC18ATASM12 - 6 @ $ 11,94 ($ 1,99 ea) http://www.newegg.com/Product/Product.aspx?Item=N82E16812123132
AMD Athlon 64 X2 5050e Brisbane 2.6GHz Socket AM2 45W Model Prosesor Dual-Core ADH5050DOBOX - 1 @ $ 62,99 http://www.newegg.com/Product/Product.Product.aspx?Item=N82E16819103298
KINGWIN Mach 1 ABT-1000MA1S 1000W ATX / Catu Daya BTX - 1 @ $ 199,99 http://www.newegg.com/Product/Product.aspx?Item=N82E16817121037
Seagate 400GB IDE Drive - 1 @ (ada di dalam lemari), tetapi drive IDE 80GB harganya sekitar $ 37,00, dan 80GB lebih dari cukup.
Bracket Adaptor untuk hard drive IDE agar pas di ruang lima inci - 1 @ ~ $ 17,00
Pengiriman - 1 @ ~ $ 35,00
Perangkat Lunak: FreeBSD 7.2 - 1 @ $ 0,00 http://www.freebsd.org/
Total Biaya: $ 874,81
Pengaturan Perangkat Keras: Pembuatan komputer dasar, dengan tiga masalah kecil.
Kasing yang saya beli memiliki slot untuk 6 hard drive, dan dua bay 3,5. Saya berasumsi IDE bisa masuk dalam salah satu dari 3,5 bay. Ini adalah asumsi yang buruk, dan tidak ada cara yang masuk akal untuk membuatnya bekerja. Saya pergi dan membeli adaptor di Fry's untuk ~ $ 17,00, dan itu berfungsi dengan baik.
Kabel Sata yang saya beli memiliki konektor 90 derajat, yang bagus, kecuali dengan enam drive, tidak ada cara untuk membuat pekerjaan. Memasukkan satu kabel menyebabkan bagian konektor yang tidak fleksibel menggantung di hard drive berikutnya. Saya harus pergi ke Fry dan 5 kabel SATA biasa. Sayangnya yang saya beli di Newegg sangat murah, sehingga tidak layak mengirim mereka kembali.
Kasing menunjukkan bagian belakang hard drive ke sisi kasing, dan kabel daya dari catu daya memiliki konektor kaku yang menjulur ke tepi kasing. Ini tidak memungkinkan saya untuk menggeser penutup samping kembali ke tempatnya. Saya harus bermain-main dengannya sedikit untuk membuatnya bekerja, dan akhirnya berakhir dengan dua kabel daya modular (mereka memiliki empat colokan SATA pada masing-masing) disisipkan di antara drive, sehingga kabel pertama bertenaga drive 0, 2, dan 4, dan yang kedua bertenaga 1, 3, dan 5. Ini memungkinkan cukup fleksibel sehingga saya bisa mengikat mereka.
Pengaturan OS:
Membakar FreeBSD 7.2 ISO ke CD. Saya bisa menggunakan DVD tunggal, tapi saya tidak punya tempat tidur.
Memtest86 + ( http://www.memtest.org/ ) yang dibakar ke CD.
Didukung komputer yang baru dibangun, dan masuk ke bios untuk memastikan ia melihat semua 7 drive dan DVD-ROM. Itu benar. Mengubah urutan boot untuk membuat CDROM menjadi yang pertama.
Masukkan CD memtest86 + ke komputer yang baru dibangun, reboot, dan biarkan beroperasi pada malam hari. Lulus tanpa kesalahan.
Terpasang FreeBSD 7.2, jika Anda tidak terbiasa dengan ini, saya sarankan membaca yang berikut ini: http://www.freebsd.org/doc/en/books/handbook/install.html Ia melakukan pekerjaan yang jauh lebih baik untuk menjelaskan apa yang harus dilakukan daripada saya bisa. Ini adalah pengaturan spesifik saya:
Setelah menginstal dan reboot saya perhatikan bahwa hanya 4 dari 6 drive SATA yang terdeteksi. Saya masuk ke BIOS dan Di Bawah Periferal Terpadu mengubah OnChip SATA Type menjadi AHCI, dan OnChip SATA port 4/5 Ketik menjadi "SATA" Simpan pengaturan dan reboot.
Pada titik ini FreeBSD mendeteksi semua enam drive sebagai: ad4 ad6 ad8 ad10 ad12 ad14
Dapatkan yang terbaru dari cvs menggunakan csup: csup -g -L 2 stable-supfile Saya sudah mengedit file untuk menggunakan host: cvsup11.us.FreeBSD.org meninggalkan semua informasi lain apa adanya.
Bangun kembali dan pasang kernel dan dunia terbaru seperti yang dijelaskan di sini: http://www.freebsd.org/doc/en/books/handbook/makeworld.html Menyesuaikan kernel saya (lihat ZFSNAS). Saya menonaktifkan sejumlah besar perangkat, karena saya tidak pernah berencana menggunakan SCSI, USB, PCMCIA, Serial, Parallel, dll. Menambahkan yang berikut ke /etc/make.conf: CPUTYPE = athlon64 CFLAGS = -O2 -fno-strict-aliasing -pipa make -j8 buildworld
Pengaturan NAS:
Buat kumpulan ZFS untuk penyimpanan kami: zpool buat penyimpanan raidz2 ad4 ad6 ad8 ad10 ad12 ad14
Buat sistem file rumah di penyimpanan yang baru dibuat:
edit /etc.rc/conf dan tambahkan berikut ini:
Ini memasang sistem file ZFS saat bootup.
Membuat direktori root, samba, dan terpaksa
Kecuali jika Anda membutuhkan lebih banyak sistem file di pool Anda, Anda sudah cukup banyak selesai dengan bagian ZFS. Lihat yang berikut untuk detail lebih lanjut: http://www.freebsd.org/doc/en/books/handbook/filesystems-zfs.html http://opensolaris.org/os/community/zfs/docs/zfsadmin.pdf
Port terpasang:
Pengguna Ditambahkan:
Grup dibuat:
Konfigurasi Samba:
sumber
Saya tidak melihat alasan mengapa Anda ingin, saya pikir dukungan Snapshot hanya cukup matang di OpenSolaris sehingga Anda dapat beralih kembali ke versi yang lebih lama dan boot itu (tapi itu sebenarnya hanya tebakan liar).
Tambahkan dalam memperluas kolam bergaris? Cukup tambahkan drive ke kolam, itu saja. Pertimbangkan implikasi pertanyaan Anda selanjutnya.
Anda dapat menggunakannya sebagai strip dan memberi tahu ZFS untuk menyimpan n salinan file. Jadi Anda bisa menggunakan ketersediaan penyimpanan penuh yang Anda miliki dan masih mendapatkan redundansi yang layak
Mengganti Perangkat di Penyimpanan Storage Saya kira ini adalah solusi yang disarankan, cara termudah untuk mengetahui seberapa baik ini bekerja pada FreeBSD mungkin untuk mencobanya.
Sudahkah Anda mempertimbangkan FreeNAS (Roadmap) 0.70 tampaknya akan dirilis dan akan mendukung ZFS.
Anda akan menghemat kerumitan dari semua kerangka kerja dan mendapatkan yang relatif baik untuk menggunakan GUI secara gratis dengannya.
sumber
Saya memiliki server dengan FreeBSD + ZFS (pada 7.2-STABLE dan 8.0-CURRENT), tidak dalam produksi kamu.
Booting dari ZFS dijelaskan di sini http://lulf.geeknest.org/blog/freebsd/Setting_up_a_zfs-only_system/
Menambahkan drive dengan cepat semudah mengetikkan "zpool add mypool da7", drive baru dapat digunakan setelah ini; Anda juga dapat menambahkan sejumlah drive dalam garis, cermin, raidz (peningkatan raid-5) atau raidz2 (peningkatan raid-6)
Drive dengan ukuran berbeda dapat ditempatkan di pool tetapi tidak dapat digunakan di mirror / stripe / raid (jika saya ingat dengan benar, hanya ruang hdd terkecil yang dapat digunakan)
(Buka) Solaris mendapat dukungan ZFS sejak awal
sumber
Ada utas bagus tentang membangun rumah ZFS NAS di ArsTechnica.
sumber
Saya tidak punya pengalaman dengan ZFS, tapi saya baru melihat ini di pengumpan RSS saya:
http://www.freebsdnews.net/2009/06/10/zfs-version-13-freebsd-current/
Yang menunjukkan bahwa sudah matang, tetapi belum siap untuk produksi (di FreeBSD).
sumber