ZFS kullanarak bir ev FreeBSD dosya sunucusu oluşturuyorum.
3GB RAM'e sahip bir AMD X2 3200+. PCI Express Gig-E'ye sahiptir. Önyükleme sürücüsü eski bir 400GB ve 4 750GB Seagte sürücüsüne sahibim (biri her durumda farklı bir bellenim sürümüne sahip).
ZFS'den önyükleme güzel olurdu (kurulumu daha basit hale getirir), ancak ZFS ile Root / OS sürücüsünü kurmak için ZFSOnRoot talimatlarını kullandım (tüm bölümler ZFS ise, o zaman önyüklemede bir fsck yapmasına gerek yoktur UFS dosya sistemlerini kontrol etmek için). Daha sonra tüm bölümlerinizi (/ var, / usr, / tmp, vb.) Gerektiği gibi farklı seçeneklerle (/ usr / obj için noatime ve async gibi) çekirdeği ayarlayabilmenizi istemenizin nedeni derler), ancak hepsi ortak bir havuzdan alan paylaşır. Daha sonra bir veri sürücüsü kurabilir ve her kullanıcıya kendi bölümlerini (farklı teklifler ve ayarlarla) verebilirsiniz. Daha sonra (ZFS'de düşük maliyetli olan) anlık görüntüler alabilirsiniz.
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
Performans açısından, dosyaları kopyalamak çok hızlı. Dikkat edeceğim tek şey, 3-4GB'a sahip FreeBSD AMD64 sistemlerinde ZFS kullanıyorum ve iyi çalıştı, ancak okumadan 2GB veya i386 sistemde çalıştığından endişe ediyorum daha az bellek.
Anakarttaki SATA bağlantı noktalarından bitti, bu yüzden yeni sürücü eklemeye çalışmadım. İlk kurulum basitti, RAIDZ'yi oluşturmak için bir komut ve daha sonra saniyeler içinde biçimlendirilen (IIRC) oluşturulmuş / home komutu. Hala ZFS (v6) 'nın eski sürümünü kullanıyorum, bu yüzden bazı sınırlamaları var (Eşit boyutta sürücüler gerektirmez, ancak 3 750GB sürücü ve 1 TB sürücünüz varsa, bir Drobo'nun aksine, sonuç 4 750GB sürücünüz varmış gibi görünür).
RAIDZ ile ZFS'yi kullanmamın en büyük nedenlerinden biri uçtan uca sağlama toplamlarıydı. CERN, birkaç haftalık bir süre boyunca bir R / W testi gerçekleştirirken 200'den fazla düzeltilmemiş okuma hatası buldukları bir testi belgeleyen bir makale yayınladı (perakende sürücülerdeki ECC'nin her 12 TB'da bir kez okuması bekleniyor). Sunucumdaki verilerin doğru olmasını istiyorum. Bir elektrik kesintisi nedeniyle zor bir kaza geçirdim (birisi bir boşluk ısıtıcı takarak UPS'i aşırı yükledi), ancak sistem geri döndüğünde, standart fsck sorunları olmadan hızlı bir şekilde geri döndü.
Sevdim, çünkü daha sonra bir baskı sunucusu almak için Samba'ya CUPS ekleyebilirim. Bir DNS önbelleği ekledim ve istediğim gibi başka yazılımlar ekleyebilirim (bant genişliği kullanımını ölçmek için evimdeki masaüstlerine SNMP izleme eklemeyi düşünüyorum). Sisteme harcadığım şey için, ucuz bir NAS kutusu satın alabileceğime eminim, ancak oynamak için 64 bit yerel Unix kutusuna sahip olmazdım. FreeBSD isterseniz Ben onunla gitmek söyleyebilirim. Linux'u tercih ediyorsanız, bir Linux çözümü öneriyorum. Herhangi bir yönetim yapmak istemiyorsanız, o zaman tek başına NAS kutusunu tercih ediyorum.
Bir sonraki donanım yükseltmelerimde, donanımı yükseltmeyi ve ardından ZFS v13 olan FreeBSD'nin geçerli sürümünü yüklemeyi planlıyorum. V13 serin çünkü ZIL günlüğü için kullanabileceğim bir pil destekli RAM diskim var (bu da yazmaları çığlık atıyor). Ayrıca dosya sunucusunu hızlandırmak için SSD'leri kullanma desteğine sahiptir (yeni Sun Dosya Sunucularındaki özellikler tatlıdır ve sistemi çok hızlı hale getirmek için SSD kullanan bir ZFS sisteminden alırlar).
EDIT: (Henüz yorum bırakamıyorum). Http://www.ish.com.au/solutions/articles/freebsdzfs adresindeki talimatları hemen hemen takip ettim . Bu talimatlar yazıldığından beri 7.X'te varolan en büyük değişiklik 7.2 çıktı ve 2+ GB'ye sahipseniz, /boot/loader.conf dosyasına aşağıdaki üç satırı eklemeniz gerekmiyordu:
vm.kmem_size_max="1024M"
vm.kmem_size="1024M"
vfs.zfs.arc_max="100M"
Talimatlar ayrıca bir aynanın nasıl oluşturulacağını ve sistemin kurtarma moduna nasıl geri alınacağını da açıklar (ZFS'ye monte edin). Talimatlarını bir veya iki kez oynadıktan sonra, ZFS'nin ne olduğunu daha iyi anlamak için Sun http://opensolaris.org/os/community/zfs/docs/zfsadmin.pdf adresindeki ZFS Yönetici kılavuzunu kullandım . Veri depomu oluşturmak için ZFS havuzları oluşturmak amacıyla komutun değiştirilmiş bir sürümünü kullandım. Bu FreeBSD olarak, küçük bir değişiklik yapmak zorunda kaldım:
zpool create dozer raidz /dev/ad4 /dev/ad6 /dev/ad8 /dev/ad10
Ad4-ad10'un dmesg | grep 'ata. * Master' kullanılarak bulunduğu yerde, bu, büyük veri bölümü için kullanılacak sistemdeki SATA sabit sürücülerinin adlarıdır. Anakartımda ilk üç ata portu (ad0-3), burada 4 PATA portu ve daha sonra her SATA portu bir master olduğu için eski sayılar yok.
Dosya sistemi oluşturmak için yaptım:
zfs create dozer/data
zfs set mountpoint=/data dozer/tank
İkinci komut, paylaşımlar için varsayılan bağlama noktalarını kapattığım için gerekli.